为什么当我使用相同的数据集但使用 catboost 构建模型时,xgboost 模型的最重要特征一点也不重要?

数据挖掘 机器学习 预测建模 xgboost 特征工程 相关性
2022-02-16 16:01:23
Feature Importance From Xgboost:
('A', 20.263429)
('B', 14.631438)
('C', 49.617475)
('D', 1.7183341)
('E', 0.0)
('F', 4.438192)
('G', 4.4471968)
('H', 0.75913663)
('I', 4.1248)

Feature Importance From Catboost:
('A', 31.77073440713819)
('B', 25.450736642294263)
('C', 4.584613760816324)
('D', 1.2102069060769505)
('E', 0.2570517403500689)
('F', 4.556130077381411)
('G', 7.5309680136560075)
('H', 2.0941628837404185)
('I', 22.54539556854636)

如您所见,“C”的特征重要性在 Cat 增强中太低了。

2个回答

不能保证您从任何特征选择算法中获得相同的特征子集。可能有多个子集的性能大致相同。例如,也许特征 C 与特征 I 高度相关。因此,没有理由对您所观察到的内容感到惊讶。没有“太低”的概念。

您选择的特征子集可能因算法而异,也可能因同一算法的参数而异。

您可以尝试,对于相同的算法尝试不同的超参数,特征重要性可能会发生变化。