Python scikit-learn,特征降维,主成分分析,PCA

PCA(Principal Component Analysis)主成分分析是一种分析、简化数据集的技术。

PCA目的:数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。(删除线性相关的特征)

PCA作用:可以削减回归分析或者聚类分析中特征的数量

当特征数量非常多时(例如上百个,例如图片)才会考虑使用PCA,如果数据是一个稀疏矩阵推荐使用PCA降维。

demo.py(特征降维,主成分分析,PCA):

from sklearn.decomposition import PCA


# 主成分分析进行特征降维(会损失一部分信息)
# n_components可以指定0-1之间的小数(推荐0.9-0.95之间),表示信息保留量的百分比。 (推荐)
# n_components也可以指定整数,表示保留的特征数量。
pca = PCA(n_components=0.9)  # 推荐0.9-0.95之间
data = pca.fit_transform([[2,8,4,5],[6,3,0,8],[5,4,9,1]])

print(data)
'''
[[ 1.28620952e-15  3.82970843e+00]
 [ 5.74456265e+00 -1.91485422e+00]
 [-5.74456265e+00 -1.91485422e+00]]

'''


PCA主成分分析的物理理解:

将一个立体的物体降维到二维图片(最后一张图片的降维效果最好,保留的信息量最多):

将5个点降维到一维坐标(投影到蓝色线上时效果最好,保留的信息量最多):

猜你喜欢

转载自blog.csdn.net/houyanhua1/article/details/87912542