主成分分析(降维)案例介绍

输入数据集共10000个样本,每个样本3个特征,共4个簇,中心坐标为[0,0,0]、[1,1,1]、 [2,2,2]、 [3,3,3]。 x为样本特征,y为样本簇类别。
[关键技术]
主成分分析,调用机器学习库sklearn. decomposition的PCA模型;
生成数据集,调用sklearn.datasets库 的make_ blobs()函数;
训练之后进行标准化、降维、归-化等操作,调用transform()函数; 
画3D图,调用mpl_ toolkits. mplot3d的Axes3D()函数。

 

import numpy as np
import matplotlib.pyplot as plt
#导入画3d图模块
from npl_toolkits.muplot3d import Axes3D
#导入生成数据集模块
from sklearn.datasets import make_blobs
#导入PCA模块
from sklearn. decomposition inport PCA

#生成数据集:返回x数组维度[0000 3],10000]
X,y= make._blobs(n_samples=10000, n_features=3,center=[[3,3,3), [0,0,0),[1,1,1], [2,2, 21],cluster std=[0.2, 0.1, 0.2, 0.2], random_state=9)

#显示数据
fig = plt.figure()
ax = Axes3D(fig)
plt. scatter(X[:, 0], x[;, 1],x[, 2], narker='o', c='r')
plt. show()

#主成分分析
# n _components表示保留的特征数
pca = PCA(n_ _components =3)
#训练模型
pca. fit(X)
# explained. variance_ ratio _,代表降维后的各主成分的方差值占总方差值的比例
#这个比例越大,则越是重要的主成分。
print (pca. explained_ variance_ ratio_ )
#参数explained. variance,代表降维后的各主成分的方差值
#方差值越大,则说明越是重要的主成分。
print (pca. explained variance_ )

可见,投影后三个特征维度的方差比例大约为98.3%:0.8%:0.8%,方差分别为3.78521638、0.03272613、 0.03202212, 投影后第一个特征占了绝大多数的主成分比例。 

#降维,从三维降到2维
pca = PCA(n_components =2)
pca.fit(X)
#进行标准化,降维,归一化等操作
X_new = pca.transform(x)容
plt.scatter(X_new[:,0],X_new[:,1],marker='o',c='b')
plt.show()

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱打羽毛球的小怪兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值