增加特征重要性
Posted
技术标签:
【中文标题】增加特征重要性【英文标题】: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)))
非常感谢任何帮助!谢谢
【问题讨论】:
【参考方案1】:由于您只有两个目标类,因此您可以执行不等方差 t 检验,当所有其他特征排名方法都失败时,这对于在二元分类任务中查找重要特征很有用。您可以使用scipy.stats.ttest_ind
function 来实现这一点。它基本上是一个统计测试,检查两个分布是否不同。如果返回的 p 值小于 0.05,则可以假定它们是不同的分布。要实现每个功能,请按以下步骤操作:
-
分别提取第 1 类和第 2 类的所有预测变量值。
对这两个分布运行 test_ind,指定它们的方差是未知的,并确保它是一个双尾 t 检验
如果 p 值小于 0.05,则此特征很重要。
或者,您可以对所有特征执行此操作,并使用 p 值作为特征重要性的度量。 p值越低,特征的重要性就越高。
干杯!
【讨论】:
以上是关于增加特征重要性的主要内容,如果未能解决你的问题,请参考以下文章