七、降维

降维原因:
1、冗余,特征相关度高,容易消耗计算性能
2、噪声,部分特征对预测结果有影响
主要方法:
1、Filter过滤式(VarianceThreshold) 方差大小,考虑所有样本这个特征的数据情况
2、Embedded嵌入式(正则化,决策树)
3、Wrapper(包裹式)
4、神经网络

1 数据降维之特征选择(过滤式)

特征选择:删除低方差的特征
删除特征取值差不多的特征

from sklearn.feature_selection import VarianceThreshold
def var():
    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()

输出:
[[2 0]
[1 4]
[1 1]]

2 数据降维之主成分分析

PCA,特征数量达到上百的时候,考虑数据的简化问题,数据也会改变,特征数量会减少,信息损耗少
n_components:
小数:0-1 保留多少信息,比如90%,一般90%-95%
整数:减少到的特征数量,一般不用

from sklearn.decomposition import PCA
def pca():
    pca = PCA(n_components=0.9)
    data = pca.fit_transform([[2,8,4,5],[6,3,0,8],[5,4,9,1]])
    print(data)
if __name__=='__main__':
    pca()

输出:
[[ 1.22879107e-15 3.82970843e+00]
[ 5.74456265e+00 -1.91485422e+00]
[-5.74456265e+00 -1.91485422e+00]]

你可能感兴趣的:(七、降维)