提高功能重要性 [英] Increase feature importance

查看:18
本文介绍了提高功能重要性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在处理一个分类问题。我有大约1000个功能和目标变量有2个类。所有1000个要素的值都为1或0。我正在尝试确定功能重要性,但我的功能重要性值从0.0%到0.003不等。我不确定这么低的值是否有意义。

是否有方法可以提高功能重要性。

# Variable importance
rf = RandomForestClassifier(min_samples_split=10, random_state =1)  
rf.fit(X, Y)  
print ("Features sorted by their score:")
a =  (list(zip(map(lambda x: round(x, 3), rf.feature_importances_), X)))

如果有任何帮助,我将不胜感激!谢谢

推荐答案

因为您只有两个目标类,所以您可以执行不等方差t检验,这对于在所有其他特征排名方法都失败的情况下在二进制分类任务中找到重要特征非常有用。您可以使用scipy.stats.ttest_indfunction来实现。它基本上是一种统计检验,检查这两种分布是否不同。如果返回的p值小于0.05,则可以假设它们是不同的分布。要为每项功能实施,请执行以下步骤:

  1. 分别提取类1和类2的所有预测值。
  2. 对这两个分布运行test_ind,指定它们的方差未知,并确保这是双尾t检验
  3. 如果p值小于0.05,则此功能很重要。

或者,您可以对所有功能执行此操作,并使用p值作为功能重要性的度量。P值越低,功能的重要性越高。

干杯!

这篇关于提高功能重要性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆