降维算法

1.概述

降维算法中的“降维”,指的是:降低特征矩阵中特征的数量。
降维的目的是:让算法运算更快,效果更好,还有另一种需求:数据可视化。

SVD和PCA(主成分分析)是矩阵分解算法中的入门算法。

PCA与SVD

我们希望能够找出一种方法来帮助我们衡量特征上所带的信息,让我们在姜维的过程中,即能够减少特征的数量,又能够保留大部分的信息——将那些带有重复信息的特征合并,并删除那些带有无效信息的特征等——逐渐创造出能够代表原特征矩阵大部分信息的,特征更少的新特征矩阵。
在降维中,PCA使用的信息量衡量指标,即样本方差,又称可解释性方差,房差越大,特征所带的信息量越多。

重要参数:n_components

n_components是我们降维后需要的维度,即降维后需要保留的特征数量。

选择最好的n+components:①累积可解释方差贡献率曲线;②最大似然估计自选超参数;③按信息占比选超参数

PCA中的SVD

SVD即奇异值分解。它可以跳过数学神秘的宇宙,不计算协方差矩阵,直接找到一个新特征向量组成的n维空间。也就是说,奇异值分解可以直接求出新特征空间和降维后的特征矩阵。

sklearn将降维流程拆成了两部分:①计算特征空间V,由奇异值分解完成;②映射数据和求解新特征矩阵,由主成分分析完成。
通过PCA和SVD的合作,实现了“合作降维”,用SVD的性质减少计算量,却让信息量的评估指标是方差。

1.重要属性components_
将新特征空间保存在components_这个属性中

2.重要接口inverse_transform

3.重要案例:用PCA做噪音过滤
带有效信息的特征的方差远大于噪音的,所以相比噪音,有效的特征所带的信息应该不会再PCA过程中被大量抛弃。
inverse_transform能够在不恢复原始数据的情况下,将降维后数据返回到原本的高维空间,即是说能够实现“保证维度,但去掉方差很小特征所带的信息”。利用inverse_transform的这个性质,我们能够实现噪音过滤。

重要接口,参数和属性总结

重要参数:n_components,svd_solver,random_state。
三个重要属性:components_,explanied_variance_以及explanined_variance_ratio_。
接口:fit,transform,fit_transform,inverse_transform。

案例:PCA对手写数字数据集的降维

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值