簡體   English   中英

Python sklearn.linear_model:LinearRegression()當.predict()時出現ValueError

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM