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)
即可解决问题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步