数据降维-主成分分析

0.理论

维度灾难:当数据有很多维度时,会引发一系列的问题。它会导致预测的结果不准确,并且很难进行可视化。
主成分分析:PCA就是在高维空间中选择能够保持数据中大多数方差的超平面,然后将数据投射到这些高维平面上,从而得到一个低维的数据空间。PCA是一种非常有用的工具,可用于压缩、特征提取、面部识别。

1.对鸢尾花数据集的PCA示例

from sklearn.datasets import load_iris
from sklearn.decomposition import PCA

iris = load_iris() 
# 获取数据
X = iris.data
print(X.shape)
y = iris.target
print(y[:10])
(150, 4)
[0 0 0 0 0 0 0 0 0 0]
# PCA降维至2个维度
pca = PCA(n_components=2).fit(X)
X_pca = pca.transform(X)
# 从(150, 4)降至(150,2)
print('降维后的数据集大小:\n{}'.format(X_pca.shape))
# 降维后能保留原数据97.8%的方差
print('降维后的方差占比:\n{}'.format(sum(pca.explained_variance_ratio_)))
降维后的数据集大小:
(150, 2)
降维后的方差占比:
0.9776852063187949
import matplotlib.pyplot as plt

# 对每一种花画散点图
for i in range(len(iris.target_names)):
    x = X_pca[iris.target == i, 0]
    y = X_pca[iris.target == i, 1]
    label = iris.target_names[i]
    plt.scatter(x, y, label = label)
plt.legend()
plt.show()    

请添加图片描述

2.参考资料

Python数据科学与机器学习:从入门到实践
作者:
[美]弗兰克•凯恩(Frank Kane)

源代码下载:
https://www.ituring.com.cn/book/2426

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值