如何下载sklearn的数据集?-蟒蛇
问题内容:
在NLTK中,有一个nltk.download()
功能可以下载NLP套件随附的数据集。
在sklearn中,它讨论了如何加载数据集(http://scikit-
learn.org/stable/datasets/
)和从http://mldata.org/中获取数据,但是对于其余的数据集,说明是要下载的从源头上
我应该在哪里保存从源下载的数据? 在将数据保存到正确的目录之后,可以从python代码调用之前,还有其他步骤吗?
是否有例如如何下载20newsgroups
数据集的示例?
我已经安装了sklearn并尝试了此操作,但是得到了一个IOError
。很可能是因为我还没有从源代码下载数据集。
>>> from sklearn.datasets import fetch_20newsgroups
>>> fetch_20newsgroups(subset='train')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/sklearn/datasets/twenty_newsgroups.py", line 207, in fetch_20newsgroups
cache_path=cache_path)
File "/usr/local/lib/python2.7/dist-packages/sklearn/datasets/twenty_newsgroups.py", line 89, in download_20newsgroups
tarfile.open(archive_path, "r:gz").extractall(path=target_dir)
File "/usr/lib/python2.7/tarfile.py", line 1678, in open
return func(name, filemode, fileobj, **kwargs)
File "/usr/lib/python2.7/tarfile.py", line 1727, in gzopen
**kwargs)
File "/usr/lib/python2.7/tarfile.py", line 1705, in taropen
return cls(name, mode, fileobj, **kwargs)
File "/usr/lib/python2.7/tarfile.py", line 1574, in __init__
self.firstmember = self.next()
File "/usr/lib/python2.7/tarfile.py", line 2334, in next
raise ReadError("empty file")
tarfile.ReadError: empty file
问题答案:
网络连接问题可能已损坏驱动器上的源存档。从scikit_learn_data
用户主目录中的文件夹中删除二十个与组相关的文件或文件夹,然后重试。
$ cd ~/scikit_learn_data'
$ rm -rf 20news_home
$ rm 20news-bydate.pkz