码迷,mamicode.com
首页 > 编程语言 > 详细

2019-07-31【机器学习】无监督学习之降维PCA算法实例 (鸢尾花)

时间:2019-07-31 16:47:43      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:pca   com   plot   orm   bsp   ima   a算法   target   样本   

样本

技术图片

 

代码:

import  matplotlib.pyplot as plt
from sklearn.decomposition import PCA
from sklearn.datasets import load_iris #加载鸢尾花数据集导入函数

data = load_iris()#加载数据,array([[5.1 3.5 1.4 0.2].....])
#print(data)
y = data.target #各50个 0,1,2 暂不明作用,
#print(y)
X = data.data
#print(X) #把array换成二维列表,数据不变
pca = PCA(n_components=2)#设置降维后主成分数目为2
reduce_X = pca.fit_transform(X) #对袁术数据进行降维[[-2.68412563  0.31939725]....]
print(reduce_X)
#按类别对降维后的数据进行保存
red_x, red_y = [], []
blue_x, blue_y = [], []
green_x, green_y = [], []


#按照鸢尾花的类别将降维后的数据点保存在不同的列表中
for i in range(len(reduce_X)):
    if y[i] == 0:
        red_x.append(reduce_X[i][0])
        red_y.append(reduce_X[i][1])
    elif y[i] == 1:
        blue_x.append(reduce_X[i][0])
        blue_y.append(reduce_X[i][1])
    else:
        green_x.append(reduce_X[i][0])
        green_y.append(reduce_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()

 

效果图:

技术图片

2019-07-31【机器学习】无监督学习之降维PCA算法实例 (鸢尾花)

标签:pca   com   plot   orm   bsp   ima   a算法   target   样本   

原文地址:https://www.cnblogs.com/ymzm204/p/11277218.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!