数据压缩

PCA

主成分分析(Principal Component Analysis, PCA) 也称为 卡尔胡宁-勒夫变换(Karhunen-Loeve Transform),是一种用于探索高维数据结构的技术。PCA 通常用于高维数据集的探索与可视化;还可以用于数据压缩,数据预处理等。PCA 可以把可能具有相关性的高维变量合成线性无关的低维变量,称为主成分( principal components)。新的低维数据集会尽可能的保留原始数据的变量。

作用:可以削减回归分析或者聚类分析特征的数量,特征数量达到上百的时候,开始使用PCA

如图所示,第四张二维的平面图,最能体现出其三维的特性,因此,我们可以使用PCA,将三维的数据,转换为二维的数据,虽然会损失一部分信息,但不影响我们对特征的提取与预测。

直观就是,所有点到线的垂直距离和最短的一条线。也确定了每个点在新的维度上的特征值

(业界常使用90%~95%)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from sklearn.decomposition import PCA

def pca():
"""
主成分分析进行特征降维
:return: None
"""
# n_ components:小数 0~1 90% 业界选择 90~95%
#
# 整数 减少到的特征数量

pca = PCA(n_components=0.9) #成分保留

data = pca.fit_transform([[2, 8, 4, 5], [6, 3, 0, 8], [5, 4, 9, 1]])

print(data)
return None

pca()