PCA主成分分析---降维(python调用实现)

使用鸢尾花数据集,原始特征向量为4,现在使用python库 降维为2维

 

import matplotlib.pyplot as plt  # 加载matplotlib用于数据的可视化
from sklearn.decomposition import PCA  # 加载PCA算法包
from sklearn.datasets import load_iris

data = load_iris()
y = data.target
x = data.data
pca = PCA(n_components=2)  # 加载PCA算法,设置降维后主成分数目为2
reduced_x = pca.fit_transform(x)  # 对样本进行降维
print(pca.components_) # 输出主成分,即行数为降维后的维数,列数为原始特征向量转换为新特征的系数
print(pca.explained_variance_) # 新特征 每维所能解释的方差大小
print(pca.explained_variance_ratio_) #新特征 每维所能解释的方差大小在全方差中所占比例

red_x, red_y = [], []
blue_x, blue_y = [], []
green_x, green_y = [], []

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])
    elif y[i] == 1:
        blue_x.append(reduced_x[i][0])
        blue_y.append(reduced_x[i][1])
    else:
        green_x.append(reduced_x[i][0])
        green_y.append(reduced_x[i][1])
# 可视化
plt.scatter(red_x, red_y, c='r', marker='x')
plt.scatter(blue_x, blue_y, c='b', marker='D')
plt.scatter(green_x, green_y, c='g', marker='.')
plt.show()

运行结果:

[[ 0.36158968 -0.08226889  0.85657211  0.35884393]
 [ 0.65653988  0.72971237 -0.1757674  -0.07470647]]
[4.22484077 0.24224357]
[0.92461621 0.05301557]

参考链接:

[1]http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html

[2]https://blog.csdn.net/i_is_a_energy_man/article/details/76599400


对鸢尾花数据进行Kmeans 分类

可参考https://blog.csdn.net/zijinmu69/article/details/82708130

如果聚类是在高维中,那么可视化工具必不可少,此处链接常用的tsne 可视化神经网络特征分布

https://blog.csdn.net/qq_28888837/article/details/89278307

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值