使用 Sklearn 实现PCA降维的最简单代码及调参说明

该文章通过Python的Sklearn库展示了如何使用PCA进行数据降维,将鸢尾花数据集从四维降至二维,并绘制了降维后的散点图,同时探讨了PCA的explained_variance_和explained_variance_ratio_属性,用于理解特征向量的信息量贡献。
摘要由CSDN通过智能技术生成

使用 Sklearn 实现PCA降维的最简单代码及调参说明

1 人赞同了该文章

#废话不多说,直接上代码!

#重要的部分有注释,所有的参数都有参数说明,可以直接运行,适合小白。

#未经许可,禁止转载。

#转自本人知乎https://zhuanlan.zhihu.com/p/279775917

#鸢尾花数据集导入

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

from sklearn.datasets import load_iris

from sklearn.decomposition import PCA

iris = load_iris()

x = iris.data #想知道数据到底长什么样子,推荐打印出来仔细观察

y = iris.target

 

#模型实现

pca = PCA(n_components=2) #构建模型 ,n_components=2代表降到2维

pca = pca.fit(x) #拟合模型

X_dr = pca.transform(x) #获取新矩阵

 

#画图

plt.figure()

plt.scatter(X_dr[y==0, 0], X_dr[y==0, 1], c="red", label=iris.target_names[0])

plt.scatter(X_dr[y==1, 0], X_dr[y==1, 1], c="black", label=iris.target_names[1])

plt.scatter(X_dr[y==2, 0], X_dr[y==2, 1], c="orange", label=iris.target_names[2])

plt.legend()

plt.title('PCA of IRIS dataset')

plt.show()

#结果:

 

-----------------------------------------------------------------------------------------------

#选学:探索降维后的数据

#属性explained_variance_,查看降维后每个新特征向量上所带的信息量大小

print(pca.explained_variance_)

#属性explained_variance_ratio,查看降维后每个新特征向量所占的信息量占原始数据总信息量的百分比,又叫做可解释方差贡献率

print(pca.explained_variance_ratio_)

#计算所有的新特征向量所占的信息量占原始数据总信息量的百分比

print(pca.explained_variance_ratio_.sum())

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值