2019-07-31【机器学习】无监督学习之降维PCA算法实例 (鸢尾花)
2024-08-27 05:16:51
样本
代码:
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()
效果图:
最新文章
- JS this指向问题
- BestCoder Round #43
- 【Android Studio】Android Studio 安装及设置
- 搭建windows下filezilla FTP服务器
- VS2015 C#.net4.6 windows的定时服务
- ASP.NET MVC学习系列 WebAPI初探
- mobile js
- 【网络协议】TCP的拥塞控制机制
- Mac环境下Myeclispe2015工具的安装与破解
- mongodb两次被黑后......
- 原生js 实现 Ajax 跨浏览器使用
- lsof命令详解
- 【python】函数闭包
- 7、JPA-映射-双向一对多
- yum -y 与yum有何区别(转载)
- 安装 VMWare ESXi 6.7:VMB: 548: Unsupported CPU:6.7版本的ESXi 不支持 某些cpu了
- java框架之SpringBoot(5)-SpringMVC的自动配置
- 4.4Python数据类型(4)之字符串函数
- 闭包传递(floyed)
- Diagnosing out of memory errors and memory leaks 内存泄露实例 C Java JavaScript 内存泄露
热门文章
- ThinkPHP5.0 漏洞测试
- shell编程之变量赋值
- [Docker4] Docker-machine进行多docker host管理
- 参加Folding@Home(FAH)项目,为战胜新冠肺炎贡献出自己的一份力量
- 关于Anaconda安装以后使用Jupyter Notebook无法直接打开浏览器的解决方法
- php 设置允许跨域请求
- Mayor's posters POJ - 2528 线段树(离散化处理大数?)
- 基于zookeeper实现分布式锁和基于redis实现分布所的区别
- java模拟栈的操作
- 作为 attribute 和 property 的 value 及 Vue.js 的相关处理