机器学习训练营——机器学习爱好者的自由交流空间(入群联系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相关推荐

  1. pca降维python实例_Python机器学习笔记:使用scikit-learn工具进行PCA降维

    之前总结过关于PCA的知识:深入学习主成分分析(PCA)算法原理.这里打算再写一篇笔记,总结一下如何使用scikit-learn工具来进行PCA降维. 在数据处理中,经常会遇到特征维度比样本数量多得多 ...

  2. python实例豆瓣代码_Python实例:通过selenium模拟登陆豆瓣

    前几天写的<Python实例:分析豆瓣影片评论Ver 1.0版本>文章中,关于爬取数据过频繁导致IP被封禁的事情让我对豆瓣数据的爬取中断了.忽然想到之前有写过关于关于使用selenium库 ...

  3. python写文件读文件-Python 实例:读写文件

    原标题:Python 实例:读写文件 读写文件是最常见的IO操作.内置了读写文件的函数,用法和的读写文件非常类似.在磁盘上读写文件的功能都是由提供的,现代不允许普通的程序直接操作磁盘,所以,读写文件就 ...

  4. python教程实例-Python实例教程

    转自:http://codingdict.com/article/9026 Python 100例-01 题目: 输有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数? Python 1 ...

  5. 使用docker安装部署Spark集群来训练CNN(含Python实例)

    使用docker安装部署Spark集群来训练CNN(含Python实例) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需 ...

  6. python中bool函数的用法_python3实战python函数每日一讲 - bool([x])

    bool([x]) 英文说明:Convert a value to a Boolean, using the standard truth testing procedure. If x is fal ...

  7. Python实例集锦

    Python实例集锦 Python实例之一 有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 使用三次循环 for x in range(1,5):for y in r ...

  8. python快速入门精讲_Python快速入门精讲

    基础入门篇 第0章从零开始3 0.1克服编程恐惧3 0.2如何写出好程序4 0.3为什么选择Python5 0.4Python的发展和应用6 0.5一些建议8 0.6多平台搭建Python开发环境10 ...

  9. 在python中浮点数怎样转整数_python 浮点数 转 整数python函数每日一讲 - all()

    W WW.002pc .COM对<python 浮点数 转 整数python函数每日一讲 - all()>总结来说,为我们python培训很实用. all(iterable) 版本:该函数 ...

  10. Python 实例教学_ 03_列表

    Python 实例教程 Python 实例教学_ 03_列表 第十三课 [844. 比较含退格的字符串](https://leetcode.cn/problems/backspace-string-c ...

最新文章

  1. NBT:设计稳定无毒的抗菌肽杀灭耐药菌
  2. 赛灵思CEO Victor Peng:中国AI市场创新速度令人振奋,但初创企业应避免扎堆做AI芯片...
  3. pythonos模块修改文件名_python如何动态改变文件名
  4. OpenWrt 之 MT7628 移植第三方SPI驱动
  5. linux远程连接最大数是多少,Linux Shell 脚本限制ssh最大用户登录数
  6. 云图说|云上攻击早知道,少不了这个“秘密武器”!
  7. 【IDEA工具设置】IDEA引入新项目以及项目配置
  8. 计算机大学一个专业几个班,2016年兰州大学计算机类(含基地班、计算机科学与技术等4个专业)专业最低分是多少?...
  9. Pandas 排序之后索引问题
  10. stringbuilder_String,StringBuilder,StringBuffer三者的区别?
  11. mysql 1064 update_MySQL更新错误#1064
  12. C语言将字符串转换为数字
  13. Java程序员面试常见问题
  14. java中this代表什么
  15. Blowfish加密算法
  16. 序列化对象互转--Jackson中的ObjectMapper,解决超类派生问题,序列化问题
  17. ios android 跨平台工具,15个很优秀的跨平台的移动开发工具
  18. 乌镇·Conflux CTO伍鸣:让公链的“不可能三角”成为可能
  19. 科研人员下载外文文献必备的论文网站
  20. 绿色智慧档案馆构想之智慧档案馆环境综合管控一体化平台

热门文章

  1. 'WebElement' object is not iterable
  2. 没事学学docker:在阿里云中部署MYSQL的容器+测试
  3. Leetcode 刷题笔记(二十四) ——动态规划篇之背包问题:01背包
  4. 【大数据】Azkaban学习笔记
  5. SSM框架面试题及答案整理
  6. leetcode331. Verify Preorder Serialization of a Binary Tree
  7. Java内存与垃圾回收调优
  8. 下一时代的HTML5和JavaScript
  9. CompareDateTime、CompareDate、CompareTime、SameDateTime、SameDate、SameTime - 对比时间的函数...
  10. 关于一进入系统就注销的解决方法