特征选择-方差过滤 (学习笔记)

方差过滤

找到方差大有区分度的特征,过滤掉那些特征方差较小的特征。比如一个特征本身的方差很小,就表示样本在这个特征上基本没有差异,可能特征中的大多数值都一样,甚至整个特征的取值都相同,那这个特征对于样本区分没有什么作用。所以可以设置一个过滤的阈值,过滤掉那些方差小的特征,从而达到特征筛选的目的。注意不要将重要的特征过滤掉。适用于稀疏矩阵(数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律)

from sklearn.feature_selection import VarianceThreshold

X = VairanceThreshold(threshold=0).fit_transform(X) 
X_var0

方差过滤并不是适用于所有的算法,因为过滤之后模型可能变好也可能变性能下降。我们就需要针对数据集去进行尝试,也就是调参,选出最优的参数,画学习曲线就可以找到比较好的参数点。但是现实中一般不会花费太多时间在方差过滤的调参上,而是使用阈值为 0 或者阈值很小的方差进行过滤,消除一些明显用不到的特征然后选取其他的特征选择方法继续削减特征数量。 

你可能感兴趣的:(python,python)