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

Posted ymzm204

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2019-07-31机器学习无监督学习之降维PCA算法实例 (鸢尾花)相关的知识,希望对你有一定的参考价值。

样本

技术图片

 

代码:

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算法实例 (鸢尾花)的主要内容,如果未能解决你的问题,请参考以下文章

《Python机器学习及实践》----无监督学习之特征降维

《Python机器学习及实践》----无监督学习之特征降维

《Python机器学习及实践》----无监督学习之数据聚类

《Python机器学习及实践》----无监督学习之数据聚类

[机器学习][K-Means] 无监督学习之K均值聚类

2019-07-25机器学习无监督学习之聚类 K-Means算法实例 (1999年中国居民消费城市分类)