python - 从经过训练的模型中提取特征名称

标签 python scikit-learn xgboost

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

training data did not have the following fields: column1, column2,...

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

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

最佳答案

您可以按如下方式从腌制模型中检索特征名称:

fitted_model.get_booster().feature_names

关于python - 从经过训练的模型中提取特征名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55126903/

相关文章:

python - 返回概率的python中的多类线性SVM

python-3.x - 如何在sklearn Pipeline中调整RobustScaler中的quantile_range?

scikit-learn - 将 LightGBM/XGBoost 模型加载到 sklearn

python - 在python中找到两个kde图之间的非重叠区域

javascript - Python - Selenium 测试在尝试接受警报时卡住

python - Pandas:在遍历行时有条件地将行插入 DataFrame

machine-learning - ld : library not found for -lomp

python - 在遇到换行符或逗号时拆分/删除一组行

python - 堆叠两个不同维度的稀疏矩阵

machine-learning - 如何更改 Xgboost 中的特征重要性