python sklearn包中的主成分分析_九、Sklearn主成分分析
参考url:
主成分分析(principal component analysis,PCA),无监督算法之一,PCA是一种非常基础的降维算法,适用于数据可视化、噪音过滤、特征抽取和特征工程等领域。
1、主成分分析简介
主成分分析是一个快速灵活的数据降维无监督方法。
这些向量表示数据主轴,箭头长度表示输入数据中各个轴的‘重要程度’ ,即它衡量了数据投影到主轴上的方差的大小。每个数据点在主轴上的投影就是数据的‘主成分’。
将原始数据和这些主成分都画出来,将得到‘数据主轴的变换’图所示的结果。
这种从数据的坐标轴变换到主轴的变换是一个仿射变换,仿射变换包含平移(translation)、旋转(rotation)和均匀缩放(uniform scaling)三个步骤。
1、用PCA降维
用PCA降维意味着去除一个或多个最小主成分,从而得到一个更低维度且保留最大数据方差的数据投影。
浅色的点是原始数据,深色的点是投影的版本。
PCA降维的含义:沿着最不重要的主轴的信息都被去除了,仅留下了含有最高方差值的数据成分,被去除的那一小部分方差值基本可以看成是数据在降维后损失的‘信息’量。
这种降维后的数据集在某种程度上足以体现出数据中最主要的关系:虽然有50%的数据维度被削减,但数据的总体关系仍然被大致保留了下来。
2、用PCA作数据可视化:手写数字
降维的有用之处在数据仅有两个维度时可能不是很明显,但是当数据维度很高时,它的价值就有所体现了。
整个数据是一个64维的点云,而且这些点还是每个数据点沿着最大方差方向的投影。
3、成分的含义
从基向量的组合角度来理解这个问题。
4、选择成分的数量
在实际使用PCA的过程中,正确估计用于描述数据的成分的数量是非常重要的环节,可以将累计方差贡献率看作是关于成分数量的函数,从而确定所需成分的数量。
2、用PCA作噪音过滤
PCA也可以被用作噪声数据的过滤方法——任何成分的方差都远大于噪音的方差,所以相比于噪音,成分应该相对不受影响,因此如果仅用主成分的最大子集重构该数据,那么应该可以实现选择性保留信号并丢弃噪声。
python sklearn包中的主成分分析_九、Sklearn主成分分析相关推荐
- 查看python包中所有方法_获取Python包中的所有类名
我需要获取 Python包中所有类的列表. 起初我得到所有文件名(它工作正常,从stackoverflow获取): from os import listdir, getcwd from os.pat ...
- 调用sklearn包中的PLA算法[转载]
转自:https://blog.csdn.net/u010626937/article/details/72896144#commentBox 1.Python的机器学习包sklearn中也包含了感知 ...
- 活用西瓜书——sklearn包中的神经网络分类器MLPClassifier的使用
引言 最近在读西瓜书,查阅了多方资料,恶补了数值代数.统计概率和线代,总算是勉强看懂了西瓜书中的公式推导.但是知道了公式以后还是要学会应用的,几经摸索发现python下的sklearn包把机器学习中经 ...
- Python模块包中__init__.py文件的作用
2019独角兽企业重金招聘Python工程师标准>>> 在eclipse中用pydev开发Python脚本时,我遇到了一个这样的现象,当我新建一个pydev package时,总会自 ...
- python 替换array中的值_利用Python提取视频中的字幕(文字识别)
我的CSDN博客id:qq_39783601,昵称是糖潮丽子~辣丽 从今天开始我会陆续将数据分析师相关的知识点分享在这里,包括Python.机器学习.数据库等等. 今天来分享一个Python小项目! ...
- from import 导入时找不到module的解决办法(Python模块包中_init_.py文件的作用)
文章目录 背景 正文 Ⅰ.报错信息 Ⅱ.问题解决 Ⅲ.问题分析 Ⅳ._init_.py文件作用 背景 最近在使用Pycharm开发python脚本时,遇到这样一个现象:打开别人给的工程,环境配置都没有 ...
- python删除字符串中重复字符_从Python中删除字符串标点符号的最佳方法
似乎有一个比以下更简单的方法: 1 2 3import string s ="string. With. Punctuation?" # Sample string out = s ...
- python在工作中怎么用_如何用python在工作中“偷懒”
原标题:如何用python在工作中"偷懒" "偷懒还能干完活,才是本事 " 有些朋友在工作中会有这样的困惑:明明我从早忙到晚,为什么得到的评价还不高? 要知道, ...
- python从包中导入模块_Python中包,模块导入的方法
Python中包,模块导入的方法 http://www.cnblogs.com/allenblogs/archive/2011/05/24/2055149.html 1. import modname ...
- 在python的解释器中使用函数_浅析Windows 嵌入python解释器的过程
这次主要记录在windows下嵌入 python 解释器的过程,程序没有多少,主要是头文件与库文件的提取. 程序平台:windows10 64 bit. Qt 5.5.1 MSVC 2013 32 ...
最新文章
- Linux学习笔记之文件管理和目录管理类命令
- php数组只保留键值,php合并数组并保留键值的实现方法
- java el表达式 if else_jsp EL表达式和JSTL标签if-else if-else用法
- hbase读写流程及缓存机制
- 零基础学前端开发之CSS基础
- nginx php如何无响应,nginx,_nginx 可以直接响应服务静态页面吗, 为何配置了很久都不成功?,nginx - phpStudy...
- sharding-sphere按月动态分表
- 解析一个C语言俄罗斯方块游戏,包你看了就会
- 美团NLP中心算法实习生内推啦!
- linux下看io等待时间,Linux下用iostat探测IO使用情况
- php xml namespaces,PHP getDocNamespaces()函数讲解
- 12.Linux 高性能服务器编程 --- 高性能 IO 框架库 Libevent
- 智汇华云 | 集群自动化部署服务流程之自动化集群配置(下)
- es管理器免root_re管理器和es管理器哪个好
- 假期北京旅游请注意了!
- 非常详细的讲解在浏览器中输入bilibili.com后执行的全部过程,可结合我前面说的TCP协议食用
- 微信支付(一)SpringBoot 实现微信扫码支付/Native支付
- Java的图书商城项目如何添加商品到购物车
- 【第148期】游戏策划:恭喜@灯入职剧情策划
- python3 copy和deepcopy