sklearn之20newsgroups()下载数据太慢

sklearn提供的一些数据集,供开发测试,但有的数据集需要在线下载,比如:

from sklearn.datasets import fetch_20newsgroups
news = fetch_20newsgroups(subset='all')

就需要在线下载新闻数据,数据大小约14M

访问国外网站下载数据,还是14M的数据,有时太慢,就需要采取下面办法:

  1. 手动下载数据
    下载连接:http://qwone.com/~jason/20Newsgroups/20news-bydate.tar.gz
    下载后文件名为:20newsbydate.tar.gz

  2. 放入下面目录下
    windows系统:
    C:\User\登录名\scikit_learn_data
    如果没有scikit_learn_data文件夹,就新建

  3. 修改sklearn的数据集.py文件
    找到Python3\Lib\site-packages\sklearn\datasets文件夹,找到twenty_newsgroups.py文件,该数据集主要通过这个包来在线下载,我们这里手动下载,然后注释相关代码即可。
    找到这个函数 download_20newsgroups(),注释以下代码

    logger.info("Downloading dataset from %s (14 MB)", ARCHIVE.url)
    archive_path = _fetch_remote(ARCHIVE, dirname=target_dir)
    

    并添加

     archive_path = os.path.join(target_dir, r'20newsbydate.tar.gz')
    

    注意文件名与第一步的文件名要相同

  4. 运行
    fetch_20newsgroups会自动解压20newsbydate.tar.gz,生成缓存文件20news-bydate.pkz

感谢:
https://blog.csdn.net/u012620645/article/details/47080745


原文出处:/show_1EF3H2Yhz1Nk.html