首页 > 解决方案 > 从训练模型中提取特征名称

问题描述

我有一个从 pickle 文件中读取的预训练 XGBoost 模型。当我尝试对包含模型特征集之外的某些列的新数据集进行预测时,我收到了错误消息:

训练数据没有以下字段:column1、column2、...

我可以排除训练数据中不存在的这些列。我不想对列名(有很多)进行硬编码,而是只想找到训练列和预测数据集之间的交集。

有没有一种方法可以从训练模型中提取特征名称(显然模型记录了字段名称),而无需返回我的训练数据集?

标签: pythonscikit-learnxgboost

解决方案


您可以从腌制模型中检索特征名称,如下所示:

fitted_model.get_booster().feature_names

推荐阅读