【发布时间】:2016-09-23 14:05:38
【问题描述】:
我的训练矩阵 X 的形状为 (5182, 19231),y 是长度为 5182 的 1 和 0 的列表。我的测试矩阵的形状为 (496, 5477)。我将它们存储在单独的泡菜文件中。这是我的代码:
def read(pklFile1):
f=open(pklFile1, 'rb')
Y = cPickle.load(f)
f.close()
return Y
if __name__ == '__main__':
X=read("results/train_feature.pkl")
y=read("results/train_label.pkl")
test=read("results/test_feature.pkl")
target=read("test_label.pkl")
clf=LogisticRegression()
clf=clf.fit(X, y)
predicted= clf.predict(test)
accuracy=np.mean(predicted == target)
print accuracy
当我运行我的代码时,运行时出现以下消息predicted = clf.predict(test):
ValueError: X has 5477 features per sample; expecting 19231
我该如何解决?
【问题讨论】:
-
训练和预测阶段的特征数量不匹配,您不能要求模型预测的特征数量少于或多于训练阶段使用的特征数量。
标签: python machine-learning nlp scikit-learn linear-regression