方差阈值与随机森林特征选择

时间:2019-08-20 16:56:44

标签: machine-learning feature-selection

任何人都可以解释阈值参数的确切含义吗?

from sklearn.feature_selection import VarianceThreshold

thresholder = VarianceThreshold(threshold=.8)

threshold = .8或threshold = .5有什么区别?

2 个答案:

答案 0 :(得分:1)

我从你的问题中猜测你并没有真正理解什么是方差。较低的方差意味着数据中没有太大的可变性。例如,包含太多相似或相同值的分布将具有非常低的方差。相比之下,[1,4,56,32,8,9] 之类的分布将具有更高的方差,因为它们的值彼此差异很大。显然,较低的方差分布不是很有用,因此您通常会选择一个阈值来删除此类分布。

我还建议您阅读来自 DataQuest 的 this 讨论主题。

答案 1 :(得分:0)

阈值参数供将来选择:

  

阈值:浮动,可选:

     

训练集方差低于此阈值的特征将被删除。默认设置是保留所有具有非零方差的特征,即删除所有样本中具有相同值的特征

示例

以下数据集具有整数特征,每个样本中有两个相同。这些已使用默认阈值设置删除:

df3 = df2.reset_index().groupby('month').sum()[0] # the [0] part is to take first column from a dataframe that's created here. There might be a more elegant way
df3.plot.bar(color=['black', 'red'])

在此示例中尝试更改此阈值并查看会发生什么情况