共计 697 个字符,预计需要花费 2 分钟才能阅读完成。
方差选择法当然是使用方差来衡量特征,处理的维度是特征维度,计算当前的特征的方差大小,根据设定的方差阈值选取出大于阈值的特征。
为什么方差可以用来选择特征?
理论上是认为在样本集上如果当前特征基本上都差异不大,因此可以认为这个特征对我们区分样本贡献不大,因此可以在构造特征过程中可以将其去掉。
sklearn函数剖析
from sklearn.feature_selection import VarianceThreshold
print VarianceThreshold(threshold=2).fit_transform(irisdata.data)
截取部分结果
[[ 1.4]
[ 1.4]
[ 1.3]
[ 1.5]
[ 1.4]
[ 1.7]
[ 1.4]
[ 1.5]
对比没有使用方差选择法之前所有的特征
>>>print irisdata.feature_names
['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']
>>> print irisdata.data
[[ 5.1 3.5 1.4 0.2]
[ 4.9 3. 1.4 0.2]
[ 4.7 3.2 1.3 0.2]
[ 4.6 3.1 1.5 0.2]
[ 5. 3.6 1.4 0.2]
[ 5.4 3.9 1.7 0.4]
因此可以发现使用方差选择法选取了第三维特征,实际过程中方差阈值是可以根据需要调节。
函数的api如下
sklearn.feature_selection.VarianceThreshold(threshold=0.0)
#默认阈值为0 #方法函数与之前的预处理基本上差不多,主要还是使用fit_transform方法
正文完
请博主喝杯咖啡吧!