为 scikit-learn 的 fetch_20newsgroups 使用预置缓存
通过受支持的 fetcher 创建兼容的 fetch_20newsgroups 缓存,将其传输到目标,然后使用 download_if_missing=False。
当目标主机无法通过其代理下载时,先在获批的可用链路上用受支持的 fetcher 准备数据集,再传输兼容的缓存。在目标主机上:
from sklearn.datasets import fetch_20newsgroups
dataset = fetch_20newsgroups(
data_home='/path/to/prepared-scikit-data',
download_if_missing=False,
)数据缺失时 download_if_missing=False 会抛出 OSError;它不会尝试其他下载路径。用该结果区分“准备缺失”和后续的数据操作。
与目标主机的缓存位置保持一致。get_data_home 报告默认位置,而 SCIKIT_LEARN_DATA 或显式指定的 data_home 可以改变它。其他用户主目录中的缓存不会在这里自动可见。
使用兼容的库版本和 fetcher 本身创建缓存。tar 归档或手工制作的内置 pickle 不能与受支持的结果互换。
对于实时下载,请在 Python 启动前配置实际下载器的代理环境。当数据集主机是公开的且允许通过公共代理下载时,HTTP 代理列表可为下载器的 HTTP 代理环境变量提供候选。安装 scikit-learn 或使用随附的 load_* 示例并不会真正执行网络数据集获取。