背景
在使用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)
即可解決問題
