关于sklearn.datasets.fetch_20newsgroups下载报错的问题

关于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、 添加完成后,关闭并保存。这时我们可以再次运行程序,看一下效果如何:

在这里插入图片描述

完美解决之前的问题!

至此教程就已经结束,希望大家在今后的学习中不断进步,感谢!

发布了25 篇原创文章 · 获赞 5 · 访问量 1493

猜你喜欢

转载自blog.csdn.net/weixin_43656359/article/details/103758027