【问题标题】:Increase feature importance增加特征重要性
【发布时间】:2019-02-28 06:06:36
【问题描述】:

我正在研究一个分类问题。我有大约 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)))

非常感谢任何帮助!谢谢

【问题讨论】:

    标签: python machine-learning classification random-forest


    【解决方案1】:

    由于您只有两个目标类,因此您可以执行不等方差 t 检验,当所有其他特征排名方法都失败时,这对于在二元分类任务中查找重要特征很有用。您可以使用scipy.stats.ttest_ind function 来实现这一点。它基本上是一个统计测试,检查两个分布是否不同。如果返回的 p 值小于 0.05,则可以假定它们是不同的分布。要实现每个功能,请按以下步骤操作:

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

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

    干杯!

    【讨论】:

      猜你喜欢
      • 2019-12-13
      • 2018-12-14
      • 2021-12-23
      • 2021-02-03
      • 2016-11-07
      • 1970-01-01
      • 1970-01-01
      • 2022-07-17
      • 2017-11-14
      相关资源
      最近更新 更多