Bootstrap

利用特征提取进行特征降维

1. 使用主成分进行特征降维

问题描述:对于给定的一组特征,在保留信息量的同时减少特征的数量

解决方案:

from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
from sklearn import datasets

digits = datasets.load_digits()
#标准化特征矩阵
features = StandardScaler().fit_transform(digits.data)
#创建可以保留99%信息量(用方差表示)的PCA
pca = PCA(n_components=0.99,whiten = True)
#执行PCA
features_pca = pca.fit_transform(features)
#显示结果
print("Original number of features:",features.shape[1])
print("Reduced number of features:",features_pca.shape[1])
#output:
Original number of features: 64
Reduced number of features: 54

解决方案的输出结果显示,PCA保留了特征矩阵99%的信息,同时将特征数量减少了10个。

主成分分析fa(Principal Component Analysis,PCA)是一种流行的线性降维方法。PCA将样本数据映射到特征矩阵的主成分空间(主成分空间保留了大部分的数据差异,一般具有更低的维度)。PCA是一种无监督学习方法,即它只考虑特征矩阵而不需要目标向量的信息。

在sklearn中,PCA由pca方法实现。

  • 参数n_components有两种含义,由具体的参数数值决定。
    • 值大于1,则返回和这个数值相同数量的特征。
    • 0和1之间,pca返回一定信息量的最少特征数。通常取值0.95或0.99.
;