【亲测免费】 解决sklearn.datasets.fetch_20newsgroups下载报错问题
2026-01-28 06:09:22作者:何将鹤
在使用Python的机器学习库scikit-learn(sklearn)时,fetch_20newsgroups函数用于下载和加载20个新闻组文本分类数据集。然而,有时在下载过程中可能会遇到报错问题,导致数据集无法正常下载。本文将介绍如何解决这一问题。
问题描述
在尝试下载20newsgroups数据集时,可能会遇到以下错误:
HTTPError: HTTP Error 403: Forbidden
或者下载速度极慢,导致无法正常完成下载。
解决方案
1. 手动下载数据集
首先,手动下载数据集文件。你可以从以下链接下载:
链接:https://pan.baidu.com/s/1a0vQ4OIxpvKtc_rxLVKxvQ
提取码:40m9
下载完成后,将文件名修改为:
20newsbydate.tar.gz
2. 将文件放置到指定目录
将下载好的压缩包放置到以下目录:
C:\Users\(你的user_name)\scikit_learn_data\20news_home
如果目录不存在,请手动创建。
3. 修改Python代码
打开Python安装目录下的_twenty_newsgroups.py文件,找到download_20newsgroups函数。在该函数中,找到以下代码并注释掉:
# logger.info("Downloading dataset from %s (14 MB)", ARCHIVE.url)
然后添加以下代码:
archive_path = r'C:\Users\lenovo\scikit_learn_data\20newsbydate.tar.gz'
logger.debug("Decompressing %s", archive_path)
tarfile.open(archive_path, "r:gz").extractall(path=target_dir)
os.remove(archive_path)
4. 重新运行程序
保存修改后的文件,并重新运行你的程序。此时,程序将不再尝试从网络下载数据集,而是直接使用你手动下载并放置在指定目录中的数据集文件。
总结
通过手动下载数据集并修改Python代码,可以有效解决fetch_20newsgroups函数在下载过程中遇到的报错问题。希望本文对你有所帮助,祝你在机器学习的学习和实践中取得进步!
登录后查看全文
项目优选
收起
deepin linux kernel
C
27
11
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
512
3.68 K
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
873
515
Ascend Extension for PyTorch
Python
311
353
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
331
144
暂无简介
Dart
752
180
React Native鸿蒙化仓库
JavaScript
298
347
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
11
1
华为昇腾面向大规模分布式训练的多模态大模型套件,支撑多模态生成、多模态理解。
Python
110
124
仓颉编译器源码及 cjdb 调试工具。
C++
152
883