加载模型文件后,进行predict时报错feature_names not match

(作者:陈玓玏 data-master

记一个很早以前碰到的bug。

每次训练模型,我们都要保存模型文件。比如训练好一个xgboost模型,我们通过joblib来保存模型文件:

import joblib
joblib.dump('xgb_model.pkl')

那我们下次再加载模型,进行预测的时候

model = joblib.load('xgb_model.pkl')
y_pred = model.predict_proba(X)[:,1]

报错:

feature_names not match
key ['a','b','c'....

出现这种错误,是因为模型文件要求输入因子名、个数、顺序,和当时保存的模型不一样。所以我们保存模型时,一定要把最终模型入模的因子名全部按顺序存储下来,做predict操作时,务必按顺序灌入模型,防止出现这样的错误。

猜你喜欢

转载自blog.csdn.net/weixin_39750084/article/details/107516857