我正在构建具有数百个功能的xgboost模型。对于彼此高度相关(皮尔逊相关)的要素,我正在考虑使用要素重要性(通过增益进行测量)来删除重要性较低的要素。 我的问题: 1:相关性影响/偏向是否具有重要性(通过收益衡量)? 2:是否有什么好方法可以删除ML模型中高度相关的功能?
示例:a的重要性= 120,b的重要性= 14,corr(a,b)= 0.8。我正在考虑删除b,因为它的重要性= 14。但这是正确的吗?
谢谢。
答案 0 :(得分:1)
相关性肯定会影响功能的重要性。这意味着,如果功能高度相关,则将所有功能都保留下来将具有很高的冗余度。因为两个特征是相关的,所以一个改变会改变另一个。因此,没有必要让它们保持良好状态吗?由于它们肯定可以相互代表,并且使用其中的几个,您可以很好地对数据进行分类。
因此,要删除高度相关的功能,您可以:
(1)使用PCA降低尺寸,或者
(2)使用决策树查找重要特征,或者,
(3)您可以根据自己的知识手动选择功能(如果可能的话),哪些功能更有希望帮助您对数据进行分类,或者,
(4)您可以手动将某些功能组合到新功能中,这样说一个功能可能就不需要告诉另一组功能,因为可以从单个功能中推断出这些功能。