sklearn中的降维算法(PCA)(原理相关)-1
一、维度:
1、对于数组和series来说,维度就是功能shape返回的结果,shape中返回了几个数字,就是几维。
2、维度指的是样本的数量或特征的数量,一般无特别说明,指的都是特征的数量。
3、对图像来说,维度就是图像中特征向量的个数,特征向量可以理解为坐标轴,一个特征向量代表一维。也就是说,三维及一下的特征矩阵是可以被可视化的,三维以上的则不能。
二、特征矩阵:
特征矩阵特指二维,一定有行列,一个特征是一维。若将特征矩阵用pandas的DataFrame表示,形式如下:
由上面的DataFrame可知,行数代表样本的个数,列数代表特征的个数,特征的个数往往比样本的个数少的多。
三、降维相关
1、降维算法中的降维,指的是降低特征矩阵中特征的数量。
2、sklearn中的降维算法都被包括在模块decomposition中,其本质是矩阵分解,即使特征矩阵的分解。
3、在高维数据中,必然有一些特征是不带有有效信息的(比如噪音),或者有一些特征带的信息和其他特征的信息是重复的(比如一些特征可能会线性相关),因此我们需要既能减少特征的数量,又能保留大部分有效信息,在PCA中,用方差来衡量有效信息的多少,如果一个特征的方差很小,则意味着这个特征上很有可能大量取值都相同(比如大部分都围绕着一个数),那这个特征的取值对样本来说就没有区分度,这种特征就不带有有效信息;相反,如果一个特征的方差很大,则说明这个特征带有大量的有效信息。
4、解释一下为什么特征的方差越小,带有的信息越小:在机器学习中,我认为衡量特征的好坏看的就是该特征与结果的相关性,即特征的取值变化要引起结果的变化,这样的特征才能说对结果有影响,才能分配权重,若一个特征的方差很小,即所有的值都很集中,那么无论这个特征取什么值,都不会对结果带来太大的影响,也就是说有或者没有这个特征,对最终的结果不会带来太大的影响。
5、降维过程中的几个重要的步骤:
四、sklearn中的降维算法
sklearn中的降维算法如下:(用的时候直接调用即可)
其中,主成分分析(PCA)、高级矩阵分解(LDA、NMF)最重要。
五、PCA如何构建主成分?
1、第一个主成分以占数据集中最大可能方差的方式构造,从数学的角度讲,它是最大化方差的线。
2、第二个主成分以相同的方式计算,条件是它与第一个主成分不相关(即垂直),并且它占下一个最高方差。
3、依次类推,一直持续到计算出总共P个主成分,主成分的个数可手动输入,默认为特征矩阵shape中最小的一个数。
六、最大方差理论
接着五中的第一条,讲一下什么是最大化方差理论:
在信号处理中,认为信号具有较大的方差,噪音有较小的方差,信噪比就是信号与噪音的方差比,越大越好。举个例子:
如上图所示,样本在F1方向上的投影方差较大,而在F2上的投影方差较小 ,那么可以认为F2上的投影是由噪音引起的。因此我们认为,最好的k维特征是将n维样本点转换为k维特征后,每一个维度上的样本方差都很大。下面在举一个例子:
如上图所示,有五个点,分别沿着两个方向投影,显然第一个方向投影获得的方差更大,更有相关性。
思考:PCA和特征选择技术都是特征工程的一部分,它们有什么不同?
1、特征工程中有三种方式:特征提取,特征创造和特征选择。
2、特征选择是从已存在的特征中选取携带信息最多的,选完之后的特征依然具有可解释性,我们依然知道这个特征在原数据的哪个位置,代表着原数据上的什么含义。而PCA,是将已存在的特征进行压缩,降维完毕后的特征不是原本的特征矩阵中的任何一个特征,而是通过某些方式组合起来的新特征。通常来说,在新的特征矩阵生成之前,我们无法知晓PCA都建立了怎样的新特征向量,新特征矩阵生成之后也不具有可读性,我们无法判断新特征矩阵的特征是从原数据中的什么特征组合而来,新特征虽然带有原始数据的信息,却已经不是原数据上代表着的含义了。以PCA为代表的降维算法因此是特征创造(feature creation,或feature construction)的一种。可以想见,PCA一般不适用于探索特征和标签之间的关系的模型(如线性回归),因为无法解释的新特征和标签之间的关系不具有意义。在线性回归模型中,我们使用特征选择。
注:博客园链接:https://www.cnblogs.com/wdkblog/p/14180744.html
sklearn中的降维算法(PCA)(原理相关)-1相关推荐
- svd降维 python案例_菜菜的机器学习sklearn实战-----sklearn中的降维算法PCA和SVD
菜菜的机器学习sklearn实战-----sklearn中的降维算法PCA和SVD 概述 从什么叫维度说开来 简单讲,shape中返回了几个数字就是几维. 一张表最多就是一维 当一个数组中存在2张3行 ...
- 画出降维后的图片_机器学习实战基础(二十三):sklearn中的降维算法PCA和SVD(四) PCA与SVD 之 PCA中的SVD...
PCA中的SVD 1 PCA中的SVD哪里来? 细心的小伙伴可能注意到了,svd_solver是奇异值分解器的意思,为什么PCA算法下面会有有关奇异值分解的参数?不是两种算法么?我们之前曾经提到过,P ...
- Sklearn中的降维算法PCA和SVD --from菜菜机器学习
1.PCA降维概述 在降维过程中,我们会减少特征的数量,这意味着删除数据,数据量变少则表示模型可以获取的信息会变少,模型的表现可能会因此受影响.同时,在高维数据中,必然有一些特征是不带有有效的信息的( ...
- 《菜菜的机器学习sklearn课堂》降维算法PCA和SVD
降维算法PCA和SVD 什么是维度? sklearn中的降维算法 PCA 与 SVD 降维究竟是怎样实现的? PCA重要参数 n_components 迷你案例:高维数据的可视化 附录 PCA参数列表 ...
- sklearn实战之降维算法PCA与SVD
sklearn实战系列: (1) sklearn实战之决策树 (2) sklearn实战之随机森林 (3) sklearn实战之数据预处理与特征工程 (4) sklearn实战之降维算法PCA与SVD ...
- 【sklearn学习】降维算法PCA和SVD
sklearn中的降维算法 主成分分析 独立成分分析 decomposition.PCA class sklearn.decomposition.PCA(n_components=None, *, c ...
- sklearn学习 5.降维算法PCA和SVD
一.概述 **1.从什么叫"维度"说开来 ** 对于数组和Series来说,维度就是功能shape返回的结果,shape中返回了几个数字,就是几维.索引以外的数 据,不分行列的叫一 ...
- python pca降维_机器学习之sklearn中的降维算法
1. PCA与SVD sklearn中降维算法都被包括在模块decomposition中,这个模块本质是一个矩阵分解模块.在过去的十年中,如果要讨论算法进步的先锋,矩阵分解可以说是独树一帜.矩阵分解可 ...
- 机器学习-Sklearn-04(降维算法PCA和SVD)
机器学习-Sklearn-04(降维算法PCA和SVD) 学习04 1 概述 1.1 从什么叫"维度"说开来 对于数组和Series来说,维度就是功能shape返回的结果,shap ...
- (sklearn学习笔记)降维算法PCA与SVD的原理及用法
听了菜菜讲的机器学习PCA及SVD所写 什么是维度? 什么是"降维"? 为什么要"降维"? PCA基本原理 sklearn中用于降维的类PCA 参数解释 n_c ...
最新文章
- 如何用Asp判断你的网站的虚拟物理路径
- 编写一个程序,打印输入中各个字符出现频度的直方图
- 电脑svchost进程占用内存
- 为什么redis取出来是null_跳表:为什么Redis一定要用跳表来实现有序集合
- 设计进步,记一笔,控制层的代码,他不光控制还要校验数据!以前理解错啦
- SAP Cloud for Customer interaction center 呼叫中心集成
- svm解决兵王问题_机器学习: svm
- java监听焦点事件_【Java Swing公开课|Java Swing焦点事件监听器怎么用,看完这篇文章你一定就会了】- 环球网校...
- ssh隧道 mysql,如何通过SSH隧道连接MySQL
- vant部署_详解VUE项目中安装和使用vant组件
- 一眼中毒!雷军晒小米9官方高清真机图:全息幻彩惊艳无比
- js实现kmp算法_搜索算法 与 随机算法 (JS实现)
- 初识liux简单命令
- Java基础之父类引用指向子类对象
- 好妈妈胜过好老师 书摘
- 服务器维修预算申请,云服务器费用预算申请范文
- 获取微信QQ好友高精地址
- Redis删除大Key
- 搭载地平线征程2芯片的长安UNI-V正式亮相;美通社再度成为国际消费类电子产品展官方合作伙伴 | 全球TMT...
- EAUML日拱一卒-微信小程序实战:位置闹铃 (15)-实现监控点状态迁移功能