机器学习sklearn-降维

wuchangjian2021-11-03 22:58:58编程学习

降维就是降低特征矩阵中特征的数量

sklearn.decomposition  降维(矩阵分解)

主成分分析 PCA

因子分析 FactorAnalysis

独立成分分析 FastICA

字典学习DictionaryLearning

高级矩阵分解 LDA LatentDirichletAllocation

其他矩阵分解 SparseCoder稀疏编码

PCA与SVD

降维 减少特征的数量  能够既减少特征点额数量,又保留大部分有效信息。

PCA使用的信息量衡量指标,就是样本方差,又称可解释性方差,方差越大特征所带的信息量越多。

方差计算公式中为什么是除以n-1? 为了得到样本方差的无偏估计

降维 sklearn.decomposition.PCA 

选取第1个方差最大的特征向量,删掉没有被选中的特征

PCA使用方差作为信息量的衡量指标  SVD使用奇异值分解来找出空间V

特征选择是从已存在的特征中选取携带信息最多的,选完之后的特征依然具有可解释性。

PAC是将已存在的特征进行压缩,降维完毕后的特征不是原本的特征矩阵中的任何一个特征,而是通过某些方式组合起来的新特征。新的特征矩阵生成之前我们无法知晓PCA都建立了怎样额新特征向量,新特征矩阵生成之后也不具有可读性和可解释性。

可以视为特征创造的一种。不适用于探索特征和标签之间的关系的模型,因为无法解释新特征和标签之间的关系。线性回归等模型中使用特征选择。

重要参数 n_components 是降维后需要的维度,即降维后需要保留的特征数量

实例化-fit-transform

PCA.explained_variance_  属性 可解释方差

选择最好的n_compoents 累计可解释方差贡献率曲线,降维的每个特征带了多少信息量

np.cumsum

PCA最大似然估计自选超参数

按照信息量的占比选择超参数

SVD在矩阵分解中的过程比PCA简单快速,奇异值分解可以不计算协方差矩阵等结构复杂计算冗长的矩阵,直接求出新特征空间降维后的特征矩阵。

PCA和SVD的合作降维 

重要参数svd_solver 与 random_state

svd_solver 在降维过程中用来控制矩阵分解的一些细节的参数 有四种模式可选

模式auto full arpack randomized

重要属性 components_  使我们要将原始数据进行映射的哪些新特征向量组成的矩阵

[*xxx.xxx] 查看惰性对象 

enumerate(xxx.xxx)

高级人脸识别的核心是瞳孔 虹膜识别 

重要接口 inverse_transform

降维不是完全可逆的

总结:重要参数 n_components svd_solver

重要属性 components explained_variance  explained_variance_ratio

相关文章

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。