scikit learn - sklearn LogisticRegression does not accept cs



我是一个新手,我必须根据De Pauw和Wagacha(1998)方法对词典中的单词进行分类(基本上是字符n-gram上的maxent)。数据非常大(50万个条目和数百万个n-gram)。所以我必须将样本加载为稀疏矩阵。但我遇到了一个问题。

sklearn.linear_model.LogisticRegression().fit(X,y)表示不接受scipy.sparse.csr.csr_matrix训练向量。我收到这个错误

Traceback (most recent call last):
  File "test-LR-4.py", line 8, in <module>
    clf.fit(X,y)
  File "/usr/lib/pymodules/python2.7/sklearn/svm/base.py", line 441, in fit
    % type(X))
ValueError: Training vectors should be array-like, not <class 'scipy.sparse.csr.csr_matrix'>

对于以下脚本:

from sklearn.linear_model import LogisticRegression
import numpy as np
import scipy.sparse as sp
X = sp.csr_matrix([[0, 1, 2],[1, 2, 3],[3, 2, 1]])
y = np.array(range(3))
clf=LogisticRegression(dual=True)
clf.fit(X,y)

正如@Andreas和@Fred Foo在评论中提到的,升级sklearn版本(>0.13)将解决问题。

相关内容

  • 没有找到相关文章

最新更新