随机森林如何评估特征重要性
- sklearn中randomforest自带特征重要性评估功能 ,参考链接。
就是这个属性:feature_importances_,原理是使用基尼系数评估特征的重要性。但是这个评估对有许多unique特征值的高基数特征,效果不好。此时,可以使用sklearn.inspection.permutation_importance进行评估。 - sklearn.inspection.permutation_importance 重排列特征重要性也是一种评估特征重要性的方法。就是将测试集样本对应的一个特征的值打乱,看打乱后的效果和打算前的效果,差距有多大。如果差距很大,证明特征重要。如果效果差不多,那么就证明这个特征不重要。
备注: 什么是有许多unique特征值的高基数特征?
假设特征为 a a a,样本都存在一个 d f df df中,
令 n u m s = l e n ( s e t ( d f [ ′ a ′ ] ) ) nums=len(set(df['a'])) nums=