我是一个新手,我必须根据De Pauw和Wagacha(1998)的方法对词典的词进行分类(基本上,最大限度地使用char-gram)。数据非常大(500 000个条目和数百万个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)
提前感谢您的帮助,
最佳,
- Nabil Hathout
答案 0 :(得分:0)
如@Andreas和@Fred Foo在评论中所述,升级sklearn
版本(> 0.13)将解决此问题。