(作者:陈玓玏 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操作时,务必按顺序灌入模型,防止出现这样的错误。