问题描述:
在我使用朴素贝叶斯算法对sklearn数据集fetch_20newsgroups()进行文本分类时,发现一直显示在下载,于是就搜了一下解决办法。总结如下:
1.手动下载数据集
下载链接:20Newsgroups/20news-bydate.tar.gz
下载完成后修改文件名为:20newsbydate.tar.gz
2.放在指定目录下
放在:C:\User\登录名\scikit_learn_data文件下
3.修改sklearn的数据集.py文件
找到D:\Python37\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')
注意:文件名与第1步的文件名要相同
4.运行
fetch_20newsgroups
会自动解压20newsbydate.tar.gz
生成缓存文件20news-bydate.pkz
操作成功后再运行程序则不需要再重新下载,说明已经成功下载。