前文讨论了如何在尽可能不丢失特征原始信息的情况下,通过创建新特征矩阵的维度,这种方法被称为特征提取(feature extraction)。本文将学习另一种降维方法:特征选择(feature selection)
特征选择会保留信息量较高的特征而丢失信息量较低的特征。
特征选择的方法可分为三类:过滤器、包装器和嵌入式方法。过滤器方法根据特征的统计信息来选择最优特征。包装器方法通过不断试错,找出一个可以产生高质量预测值的的模型的特征子集。嵌入式方法则将选择最优特征子集作为机器学习算法训练过程的一部分。
一、数值型特征方差的阈值化
从一组数值型特征中移除方差较小的特征。
跳出方差大于给定阈值的特征:
from sklearn import datasets
from sklearn.feature_selection import VarianceThreshold
iris=datasets.load_iris()
features=iris.data
target=iris.target
thresholder=VarianceThreshold(threshold=.5)
features_high_variance=thresholder.fit_transform(features)
features_high_variance[0:3]

方差阈值化(Variance Thresholding,VT)是基本的特征选择方法之一。
方差不是中心化的(它的单位是特征单位的平方),因此如果特征数据集中特征的单位不同,那么VT法就无法起作用。方差的阈值是手动选择的,所以必须依靠人工选择一个合适的阈值。可以通过参数variances_来查看每个特征的方差。
thresholder.fit(features).variances_
![]()
如果特征已经标准化(即平均值是0,方差是1),方差阈值将起不到筛选的作用。
二、二值特征的方差阈值化
有一组二值特征数据(即只有两个分类),现在要移除其中方差较小的特征。
from sklearn.feature_selection import VarianceThreshold
features=[[0,1,0],
[0,

最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



