【Python实例第27讲】增量PCA
机器学习训练营——机器学习爱好者的自由交流空间(入群联系qq:2279055353)
主成分是一种重要的降维技术,将数据分解压缩成少数的几个主成分表示。当待分解的数据集太大而不能在内存里拟合时,通常使用增量主成分(Incremental principal component analysis, IPCA
)代替普通的主成分方法。IPCA使用独立于样本量的内存容量,创建一个输入数据的低秩近似。它仍然依赖输入数据的特征,只是考虑到内存的处理限制,改变了批次处理的规模。
在这个例子里,我们可视化地检查IPCA找到数据到PCA的一个近似投影,而一次仅仅处理少量的样本。这里仍然使用Iris
数据集,使用sklearn.decomposition模块里的IPCA实现函数IncrementalPCA
, 设置2个主成分。
代码详解
import numpy as np
import matplotlib.pyplot as pltfrom sklearn.datasets import load_iris
from sklearn.decomposition import PCA, IncrementalPCAiris = load_iris()
X = iris.data
y = iris.targetn_components = 2
ipca = IncrementalPCA(n_components=n_components, batch_size=10)
X_ipca = ipca.fit_transform(X)pca = PCA(n_components=n_components)
X_pca = pca.fit_transform(X)colors = ['navy', 'turquoise', 'darkorange']for X_transformed, title in [(X_ipca, "Incremental PCA"), (X_pca, "PCA")]:plt.figure(figsize=(8, 8))for color, i, target_name in zip(colors, [0, 1, 2], iris.target_names):plt.scatter(X_transformed[y == i, 0], X_transformed[y == i, 1],color=color, lw=2, label=target_name)if "Incremental" in title:err = np.abs(np.abs(X_pca) - np.abs(X_ipca)).mean()plt.title(title + " of iris dataset\nMean absolute unsigned error ""%.6f" % err)else:plt.title(title + " of iris dataset")plt.legend(loc="best", shadow=False, scatterpoints=1)plt.axis([-4, 4, -1.5, 1.5])plt.show()
精彩内容,请关注微信公众号:统计学习与大数据
【Python实例第27讲】增量PCA相关推荐
- pca降维python实例_Python机器学习笔记:使用scikit-learn工具进行PCA降维
之前总结过关于PCA的知识:深入学习主成分分析(PCA)算法原理.这里打算再写一篇笔记,总结一下如何使用scikit-learn工具来进行PCA降维. 在数据处理中,经常会遇到特征维度比样本数量多得多 ...
- python实例豆瓣代码_Python实例:通过selenium模拟登陆豆瓣
前几天写的<Python实例:分析豆瓣影片评论Ver 1.0版本>文章中,关于爬取数据过频繁导致IP被封禁的事情让我对豆瓣数据的爬取中断了.忽然想到之前有写过关于关于使用selenium库 ...
- python写文件读文件-Python 实例:读写文件
原标题:Python 实例:读写文件 读写文件是最常见的IO操作.内置了读写文件的函数,用法和的读写文件非常类似.在磁盘上读写文件的功能都是由提供的,现代不允许普通的程序直接操作磁盘,所以,读写文件就 ...
- python教程实例-Python实例教程
转自:http://codingdict.com/article/9026 Python 100例-01 题目: 输有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数? Python 1 ...
- 使用docker安装部署Spark集群来训练CNN(含Python实例)
使用docker安装部署Spark集群来训练CNN(含Python实例) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需 ...
- python中bool函数的用法_python3实战python函数每日一讲 - bool([x])
bool([x]) 英文说明:Convert a value to a Boolean, using the standard truth testing procedure. If x is fal ...
- Python实例集锦
Python实例集锦 Python实例之一 有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 使用三次循环 for x in range(1,5):for y in r ...
- python快速入门精讲_Python快速入门精讲
基础入门篇 第0章从零开始3 0.1克服编程恐惧3 0.2如何写出好程序4 0.3为什么选择Python5 0.4Python的发展和应用6 0.5一些建议8 0.6多平台搭建Python开发环境10 ...
- 在python中浮点数怎样转整数_python 浮点数 转 整数python函数每日一讲 - all()
W WW.002pc .COM对<python 浮点数 转 整数python函数每日一讲 - all()>总结来说,为我们python培训很实用. all(iterable) 版本:该函数 ...
- Python 实例教学_ 03_列表
Python 实例教程 Python 实例教学_ 03_列表 第十三课 [844. 比较含退格的字符串](https://leetcode.cn/problems/backspace-string-c ...
最新文章
- NBT:设计稳定无毒的抗菌肽杀灭耐药菌
- 赛灵思CEO Victor Peng:中国AI市场创新速度令人振奋,但初创企业应避免扎堆做AI芯片...
- pythonos模块修改文件名_python如何动态改变文件名
- OpenWrt 之 MT7628 移植第三方SPI驱动
- linux远程连接最大数是多少,Linux Shell 脚本限制ssh最大用户登录数
- 云图说|云上攻击早知道,少不了这个“秘密武器”!
- 【IDEA工具设置】IDEA引入新项目以及项目配置
- 计算机大学一个专业几个班,2016年兰州大学计算机类(含基地班、计算机科学与技术等4个专业)专业最低分是多少?...
- Pandas 排序之后索引问题
- stringbuilder_String,StringBuilder,StringBuffer三者的区别?
- mysql 1064 update_MySQL更新错误#1064
- C语言将字符串转换为数字
- Java程序员面试常见问题
- java中this代表什么
- Blowfish加密算法
- 序列化对象互转--Jackson中的ObjectMapper,解决超类派生问题,序列化问题
- ios android 跨平台工具,15个很优秀的跨平台的移动开发工具
- 乌镇·Conflux CTO伍鸣:让公链的“不可能三角”成为可能
- 科研人员下载外文文献必备的论文网站
- 绿色智慧档案馆构想之智慧档案馆环境综合管控一体化平台
热门文章
- 'WebElement' object is not iterable
- 没事学学docker:在阿里云中部署MYSQL的容器+测试
- Leetcode 刷题笔记(二十四) ——动态规划篇之背包问题:01背包
- 【大数据】Azkaban学习笔记
- SSM框架面试题及答案整理
- leetcode331. Verify Preorder Serialization of a Binary Tree
- Java内存与垃圾回收调优
- 下一时代的HTML5和JavaScript
- CompareDateTime、CompareDate、CompareTime、SameDateTime、SameDate、SameTime - 对比时间的函数...
- 关于一进入系统就注销的解决方法