fetch_california_housing下载不了的解决方案

问题

用Jupyter执行fetch_california_housing因为网速问题下载不下来,可以通过提示的链接下载,但是,下载好的文件放到目标文件夹下后,依旧需要连接网络。

解决方案

1. 找到fetch_california_housing
?fetch_california_housing 
2.load fetch_california_housing代码
%load ~/myproject/tf2/lib/python3.7/site-packages/sklearn/datasets/_california_housing.py
3.注释掉网络下载的语句

注释掉原来从网络下载的语句,改成我们已经下载好的路径

#archive_path = _fetch_remote(ARCHIVE, dirname=data_home)
import os
archive_path = os.path.join(data_home,'cal_housing.tar')
4. 修改解压缩的模式

之前网络下载的文件是cal_housing.tgz,我们自己下了之后变成了cal_housing.tar,所以需要把mode从‘r:gz’改成’r’,如下:

with tarfile.open(mode="r", name=archive_path) as f:
5.相对路径的import

原来的代码:

from . import get_data_home
from ._base import _fetch_remote
from ._base import _pkl_filepath
from ._base import RemoteFileMetadata
from ._base import _refresh_cache
from ..utils import Bunch

改为

from sklearn.datasets import get_data_home
from sklearn.datasets._base import _fetch_remote
from sklearn.datasets._base import _pkl_filepath
from sklearn.datasets._base import RemoteFileMetadata
from sklearn.datasets._base import _refresh_cache
from sklearn.utils import Bunch

这样,运行我们改过的fetch_california_housing,就可以顺利加载数据了。如果,运行的时候出现__file__没有找到的问题,不用担心,数据已经加载好了。检查一下目录下是不是已经生成了cal_housing.pkz文件。

你可能感兴趣的:(fetch_california_housing下载不了的解决方案)