专栏首页机器学习与统计学sklearn.decomposition.PCA 参数速查手册

sklearn.decomposition.PCA 参数速查手册

sklearn常用的API参数解析:sklearn.linear_model.LinearRegression

调用

sklearn.decomposition.PCA(n_components=None, copy=True, whiten=False, svd_solver='auto', tol=0.0, iterated_power='auto', random_state=None)

参数

n_components

释义

PCA 算法中所要保留的主成分个数 n,也即保留下来的特征个数 n

设置

int 或者 string,缺省时默认为 None,所有成分被保留。赋值为 int,比如=1,将把原始数据降到一个维度 赋值为 string,比如'mle',将自动选取特征个数 n,使得满足所要求的方差百分比

whiten

释义

白化,使得每个特征具有相同的方差。

设置

bool,缺省时默认为 False 如果 PCA 降维后有后续的数据处理动作,可以考虑白化

svd_solver

释义

定奇异值分解 SVD 的方法

设置

auto PCA 类自动选择下述三种算法权衡

randomized

适用于数据量大,数据维度多同时主成分数目比例又较低的 PCA 降维

full

传统意义上的 SVD,使用了 scipy 库对应的实现

arpack

直接使用 scipy 库的 sparse SVD 实现,和 randomized 的适用场景类似

copy

释义

表示是否在运行算法时,将原始训练数据复制一份。

设置

若为 True,则运行 PCA 算法后,原始训练数据的值不会有任何改变,因为是在原始数据的副本上进行运算;若为 False,则运行 PCA 算法后,原始训练数据的值会改,因为是在原始数据上进行降维计算。

tol

停止求解的标准,float 类型,默认值为 0 当 svd_solver 选择‘arpack’时,其运行 SVD 算法的容错率

iterated_power

int 类型或者 str 类型,默认值为‘auto’ 当 svd_solver 选择‘randomized’时,其运行 SVD 算法的的迭代次数

random_state

int 类型,默认为 None 伪随机数发生器的种子,在混洗数据时用于概率估计

属性

components_

返回具有最大方差的成分

explained_variance_

降维后的各主成分的方差值。方差值越大,则说明越是重要的主成分

explained_variance_ratio_

降维后的各主成分的方差值占总方差值的比例,这个比例越大,则越是重要的主成分

singular_values_

对应的每个成分的奇异值

mean_

根据训练集估算的特征经验均值=X.mean(axis = 0)

n_components_

返回所保留的成分个数n

n_features_

训练数据的特征个数

n_samples_

训练数据的样本数

noise_variance_

返回噪声的协方差

方法

fit(self, X[, y])

用数据X来训练PCA模型

fit_transform(self, X[, y])

用X来训练PCA模型,同时返回降维后的数据

get_covariance(self)

计算数据协方差( 用生成模型)

get_params(self[, deep])

获取PCA的参数

get_precision(self)

计算数据精度矩阵( 用生成模型)

inverse_transform(self, X)

将降维后的数据转换成原始数据,但可能不会完全一样

score(self, X[, y])

计算所有样本的log似然平均值

score_samples(self, X)

返回每个样本的对数似然值

set_params(self, **params)

设置PCA的参数

transform(self, X)

将数据X转换成降维后的数据,当模型训练好后,对于新输入的数据,也可以用transform方法来降维

本文分享自微信公众号 - 机器学习与统计学(tjxj666),作者:爱学习的胡同学

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-01-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 《Python基础教程》 读书笔记 第七章 更加抽象(上)

    面向对象程序设计中的术语对象(object)基本上可以看做数据(特性)以及由一系列可以存取、操作这些数据的方法所组成的集合。使用对象替代全局变量和函数的原因可能...

    统计学家
  • 100天搞定机器学习|Day16 通过内核技巧实现SVM

    再简单回顾一下svm算法的思路,详细推导请看前情回顾相关内容,或在文末下载之前推荐的《理解SVM 的三层境界》PDF版。

    统计学家
  • 利用Python让你的命令行像坤坤一样会打篮球

    承接上文,作为一个经常逛b站的肥宅,近期b站上除了流行"品如”素材的视频,更多的莫过于蔡xx打球视频的了,有模仿的,有对比的,有手绘的,更过分的是竟然有人在命令...

    统计学家
  • python 生成html测试报表三步曲

    最近把测试框架优化了一下,原本生成的报表时txt格式的,现在搞成html格式。主要步骤如下

    py3study
  • NLP经典算法复现!CRF原理及实现代码

    寄语:本文先对马尔可夫过程及隐马尔可夫算法进行了简单的介绍;然后,对条件随机场的定义及其三种形式进行了详细推导;最后,介绍了条件随机场的三大问题,同时针对预测问...

    Datawhale
  • iOS 11 editActionsForRowAtIndexPath

    程序员不务正业
  • 教程 | 如何使用DeepFake实现视频换脸

    朱晓霞
  • 教程 | 如何使用DeepFake实现视频换脸

    机器之心
  • 零基础入门深度学习 | 第六章:长短时记忆网络(LSTM)

    无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learni...

    用户1332428
  • Scrapy爬取知乎------模拟登录

    从今天开始更新关于爬取知乎的一系列文章,最近一直在优化代码,奈何代理IP有用的都是要钱的,所以已经不知道怎么优化了,发出来大家也参考参考,顺便提点意见。

    andrew_a

扫码关注云+社区

领取腾讯云代金券