首页 > 解决方案 > 使用稀疏矩阵预测线性分类器

问题描述

我正在使用稀疏矩阵使用 OnevsRestClassifier 训练逻辑回归估计器。特征集非常大(约 160 万)。

当分类器必须进行预测时,它会引发一个异常,即测试数据和训练数据中的特征数量不相等。

我无法理解在稀疏矩阵表示方面如何期望特征数量相等。例如,这是我的基本代码片段:

classifier = OneVsRestClassifier(LogisticRegression())
classifier = classifier.fit(X_train, y_train)
predicted = classifier.predict(X_test)

这里 X_train 和 X_test 的形状明显不同。

print X_train.shape
(11, 1617899)
print X_test.shape
(3, 83715)

所以引发了一个异常:

ValueError: X has 83715 features per sample; expecting 1617899

(小源代码探测告诉我linear_model/base.py 在decision_function() 中进行了比较)

我怎样才能解决这个问题?

标签: machine-learningscikit-learnsparse-matrixlogistic-regression

解决方案


推荐阅读