10_数据降维之特征选择
1.这里的维度是指特征的数量,不是数组中的维度。
2.特征选择原因:
冗余:部分特征的相关度高,容易消耗计算性能。
噪声:部分特征对预测结果有负影响。
3.特征选择的定义:
特征选择就是单纯地从提取到的所有特征中选择部分特征作为训练集特征, 特征在选择前和选择后可以改变值、也不改变值,但是选择后的特征维数肯 定比选择前小,毕竟我们只选择了其中的一部分特征。
4.特征选择的主要方法(三大武器):
Filter(过滤式):VarianceThreshold,从方差大小考虑所有数据的特征情况。
Embedded(嵌入式):正则化、决策树
Wrapper(包裹式)
5.Filter(过滤式):VarianceThreshold
VarianceThreshold(threshold = 0.0) 删除所有低方差特征。
Variance.fit_transform(X,y) X:numpy array格式的数据[n_samples,n_features]
返回值:训练集差异低于threshold的特征将被删除。
默认值是保留所有非零方差特征,即删除所有样本 中具有相同值的特征。
案例:
# 特征选择
from sklearn.feature_selection import VarianceThreshold
def var():
"""
特征选择:删除低方差的特征
"""
# threshold=0.0 表示删除方差为0的列
var = VarianceThreshold(threshold=0.0)
data = var.fit_transform([[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]])
print(data)
if __name__ == '__main__':
var()
结果:删除了方差相同的列,这里是同一列都为0和3的列。
[[2 0] [1 4] [1 1]]

浙公网安备 33010602011771号