X does not have valid feature names 告警解決方法


背景

在使用sklearn庫進行模型訓練的時候,報了這么一個告警

UserWarning: X has feature names, but RandomForestClassifier was fitted without feature names

其大致代碼如下:

data = pd.read_csv("../data.csv")
...
model.fit(data, label)
y_pred = model.predict(x_test)

其中報錯位置為第3行和第4行

原因

發生報錯的主要原因是data是一個帶有特征名稱(feature names)的DataFrame,由於帶有名稱,模型在擬合和預測的時候只需要輸入數值,因此才會報這個錯誤

解決方案

可以使用DataFrame.values,其只包含值,不包含特征名稱(feature names),因此代碼可改為

data = pd.read_csv("../data.csv")
...
model.fit(data.values, label)
y_pred = model.predict(x_test.values)

即可解決問題

參考文章


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM