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个点降维到一维坐标(投影到蓝色线上时效果最好,保留的信息量最多):