关于sklearn.datasets.fetch_20newsgroups下载报错的问题
在尝试互联网新闻分类的时候,我遇到了这样一个问题: 实验中需要用到sklearn.datasets里新闻数据抓取器fetch_20newsgroups, 而参数subset设置为 ‘all’ 时, 则会报出需要下载14MB数据集的问题。
众所周知,Python下载东西的速度是真的慢,何况这次的大小还是14MB!
当你报下面这个错误的时候,不要惊慌,跟着我一步一步来。
1、 你需要到这里下载一个压缩包: 20new-sbydate.tar.gz.
这里我将它保存到云盘下,有需要的读者可以自取:链接:云盘资源:提取码为dzlx
2、 下载完成后,你的文件名应该是 20newsbydate.tar.gz ,请注意!在这里需要将这个文件更名为: 20new-sbydate.tar.gz (原因是通过Python下载的文件和自己下载的文件名略有不同)
3、 在我的电脑 C:\Users(你的user_name)\scikit_learn_data\20news_home 目录下,将下载好的压缩包拖进去(需要自己手动创建)
4、 打开我的电脑,在搜索框中查找以下文件twenty_newsgroups.py (当然,如果你清楚地记得你的Python的安装目录那你可以直接到如图所示的文件夹中打开对应的文件: twenty_newsgroups.py
5、 这里我建议你使用IDE或者是sublime打开(方便查找),并找到 download_20newsgroups 这个函数,在这个函数中有如下代码,请将下图中红框圈出的代码注释掉,并添加这样一段代码:
注:archive_path 所对应的路径就是刚刚所创建的路径
archive_path = r'C:\Users\lenovo\scikit_learn_data\20new-sbydate.tar.gz'
logger.debug("Decompressing %s",archive_path)
tarfile.open(archive_path,"r:gz").extractall(path=target_dir)
os.remove(archive_path)
6、 添加完成后,关闭并保存。这时我们可以再次运行程序,看一下效果如何:
完美解决之前的问题!
至此教程就已经结束,希望大家在今后的学习中不断进步,感谢!