![](/img/trans.png)
[英]ValueError when using sklearn.linear_model.LinearRegression in Python
[英]Python sklearn.linear_model: LinearRegression() ValueError occured when .predict()
我的訓練矩陣X具有形狀(5182,19231),y是1和0的列表,長度為5182.我的測試矩陣具有形狀(496,5477)。 我將它們存儲在單獨的pickle文件中。 這是我的代碼:
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
我該如何解決?
您在19231特征上訓練了一個linar模型,但想要預測一些只有5477個特征的新樣本。 這不是線性模型的工作方式(或大多數分類器) 。 功能的數量需要相同!
您的線性模型(由19231變量的線性組合)如何僅對5477個變量起作用? 如果某些變量在預測期間是未知的,您可以將它們歸咎於它們(例如設置為零或均值),但即使這種方法也需要知道變量的精確映射。 列車中的哪個變量對應於預測中的哪個變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.