我是新手,我必须根据 De Pauw 和 Wagacha (1998) 方法(基本上是 char n-gram 上的 maxent)对词典中的单词进行分类。数据非常大(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)