PCA 方法及其应用

** 主成分分析(Principal Component Analysis,PCA )是最常用的 一种降维方法,通常用于高维数据集的探索与可视化,还可以用作数 据压缩和预处理等。

 PCA可以把具有相关性的高维变量合成为线性无关的低维变量,称为 主成分。主成分能够尽可能保留原始数据的信息。**

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

主成分分析原理:

这里写图片描述

算法过程:

这里写图片描述

这里写图片描述

代码:

In [28]: import matplotlib.pyplot as plt

In [29]: from sklearn.decomposition import PCA

In [30]: from sklearn.datasets import load_iris

In [31]: data = load_iris()

In [32]: y = data.target

In [33]: x = data.data

In [34]: pca = PCA(n_components = 2)

In [35]: reduced_x = pca.fit_transform(x)

In [36]: red_x, red_y = [], []

In [37]: blue_x, blue_y = [], []

In [38]: green_x, green_y = [], []

In [41]: for i in range(len(reduced_x)):
    ...:     if y[i] == 0:
    ...:         red_x.append(reduced_x[i][0])
    ...:         red_y.append(reduced_x[i][1])
    ...:     if y[i] == 1:
    ...:         blue_x.append(reduced_x[i][0])
    ...:         blue_y.append(reduced_x[i][1])
    ...:     if y[i] == 2:
    ...:         green_x.append(reduced_x[i][0])
    ...:         green_y.append(reduced_x[i][1])
    ...:         

In [48]: plt.scatter(red_x, red_y, c = 'r')
Out[48]: <matplotlib.collections.PathCollection at 0x121097278>

In [49]: plt.scatter(red_x, red_y, c = 'r')
Out[49]: <matplotlib.collections.PathCollection at 0x120f21cf8>

In [50]: plt.scatter(blue_x, blue_y, c = 'b', marker = 'x')
Out[50]: <matplotlib.collections.PathCollection at 0x120f54eb8>

In [51]: plt.scatter(green_x, green_y, c = 'g', marker = 'D')
Out[51]: <matplotlib.collections.PathCollection at 0x120f6d0b8>

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值