我是第一次接触scikit-learn。我需要计算一个大型语料库的tf-idf向量。但在开始之前,我尝试为几个小文档编写代码,每个文档不超过5-6个单词。我写的具体代码如下:
from sklearn.feature_extraction.text
import TfidfVectorizer
vectorizer = TfidfVectorizer(min_df=1)
vectors = vectorizer.fit_transform(docList)它在我的笔记本电脑上运行得很好,但当我在服务器上运行它时,它会生成以下错误:
Traceback (most recent call last):
File "temp1.py", line 49, in <module>
tfidf_vectorizer.fit_transform(docList)
File "/usr/lib64/python2.6/site-packages/sklearn/feature_extraction/text.py", line 1285, in fit_transform
X = super(TfidfVectorizer, self).fit_transform(raw_documents)
File "/usr/lib64/python2.6/site-packages/sklearn/feature_extraction/text.py", line 825, in fit_transform
max_features)
File "/usr/lib64/python2.6/site-packages/sklearn/feature_extraction/text.py", line 697, in _limit_features
dfs = _document_frequency(X)
File "/usr/lib64/python2.6/site-packages/sklearn/feature_extraction/text.py", line 491, in _document_frequency
return bincount(X.indices, minlength=X.shape[1])
File "/usr/lib64/python2.6/site-packages/sklearn/utils/fixes.py", line 345, in bincount
return np.bincount(x, weights, minlength)
TypeError: function takes at most 2 arguments (3 given)这是所安装的sklearn版本的问题吗?我在笔记本电脑上安装了0.17.1,服务器上安装了sklearn 0.16.1。由于我的语料库非常大,我必须在服务器上运行它,否则我自然会面临内存问题。
对这个问题的任何见解都将不胜感激。谢谢您:)
发布于 2016-06-10 01:32:03
据here报道,我认为这与numpy的安装错误有关。
您可以运行测试并检查(需要鼻子):
pip install nose
nosetests -v numpy
nosetests -v sklearn如果是这种情况,您将需要删除numpy (可能还有scikit-learn),然后使用推荐的说明重新安装它们:http://scikit-learn.org/stable/install.html
使用conda也可能是一个很好的选择:https://www.continuum.io/downloads
https://stackoverflow.com/questions/37697654
复制相似问题