主成分分析(PCA)

PCA介绍

主成分分析(PCA)_第1张图片

如图一所示,如果你收到的无论是任何形状的数据,比如此图的数据点云。PAC会通过转换和轮换发现从旧坐标系统获取新的坐标系统

他根据数据中心点移动坐标,他将x轴移至变化的主轴,此处数据点相关性最多。他将另一个轴移至相关性变化不那么多的正交的地方。

主成分分析(PCA)_第2张图片

如图所示,经过PCA处理之后新的坐标位于(2,3)点处。

主成分析的依据

主成分分析(PCA)_第3张图片

如图所示,PCA以离散最大的情况为x轴,让各个信息映射到x轴上。目的是为了最大程度保留原始信息。因此沿着最大方差方向映射

主成分分析(PCA)_第4张图片

如图所示,映射必然会造成信息丢失,这是不可避免的。基本上,信息的丢失量和特征点距离轴的远近成正比。

sklearn中的PCA

在 sklearn 允许的范围内,你利用其他的 PCA 实现方式所能找到的主要成分的最大数量是多少?

计算方法是min(feature numbers, data point numbers)即每个点有多少特征和有多少个数据点之间取一个最小值。

from sklearn,decomposition import PCA
pca = PCA(n_components=2)
pca.fit(data)

#方差比,这是特征的具体表现形式,借此可以认识到第一个主成分和第二个主成分占数据变动的百分比
# 可以说主成分是一个列表,
print pca.explained_variance_ratio_
first_pc = pca.components_[0]
second_pc = pca.components_[1]

transformed_data = pca.transform(data)

何时使用PCA

主成分分析(PCA)_第5张图片

主成成分数量选择依据

主成成分数量选择有无数种可能,到底选择多少最为合适?
输入过多特征容易导致过拟合,输入过少特征容易导致欠拟合。

正确选择依据如下图所示:

主成分分析(PCA)_第6张图片

你可以将所有特征按照重要性进行排序,然后尝试一个一个把它们全部加起来。查看准确性的反应,达到平衡的时候停止。

但是一定要记住,千万不要在进行PCA之前进行特征选择

PCA会找出一种方法,将输入的各种特征合并起来,所以如果你要在进行PCA之前排除所有输入特征,某种程度上来说,你也就排除了PCA能够挽救的信息。执行PCA之前舍弃特征,要特别小心。

我们知道PCA的计算量通常都是特别大的,所以如果有非常大的输入特征空间,并且你知道这些特征中有很多是完全不相关的特征,尽管予以舍弃,但要小心行事。

你可能感兴趣的:(机器学习)