(sklearn学习笔记)降维算法PCA与SVD的原理及用法

什么是维度?

  • 对于数组或Series来说,维度是属性shape返回的结果,返回了几个数字,该数组或Series就是几维的;
  • 对于一张表而言,数组中的每一张表都是一个特征矩阵,维度指的是样本的数量或特征的数量,一般均指特征的数量;
  • 对于图像来说,维度就是图像中特征向量的个数;
    eg.一条特征向量 一维
    一条相互垂直特征向量 二维
    三条相互垂直的特征向量 三维

    (更高维肉眼看不到)

什么是“降维”?

降维就是降低特征矩阵中特征的数量(一般指列),并且还能保留原数据的大量有效信息。
降维的实质就是将数据从一个空间转化到另一个更简单的空间中。

为什么要“降维”?

  • 让算法运算得更快,效果更好

  • 数据可视化的需要

    eg.我们如果能把一个维数大于3的特征矩阵的特征数量讲到3及以下的话,我们就可以画出一维,二维或者是三维图来直观清晰地展现出这些数据的特征,更高维是画不出来的。

PCA基本原理

  • 降维的过程中,一部分数据被删除,意味着信息量的减少,同时模型可能会受影响。
  • 高维数据中,有一些特征不携带信息量(比如说一列全为0)或者是携带的信息量很少,还有一些特征之间的有一些相关性甚至相关性很强,因此使用全部数据的话一会增加计算机的负担,使得计算机计算起来很慢,二是会重复利用一些信息,模型建立的过程中出现多重共线性的问题。
  • 由方差过滤的内容得出:如果一个特征的方差很小,则意味着这个特征上很可能有大量取值都相同(比如90%都是1,只有10%是0,甚至100%是1),那这一个特征的取值对样本而言就没有区分度,这种特征就不带有有效信息。
  • PCA中使用的信息衡量标准是:样本方差,一个特征的(样本)方差越大,说明其所携带信息量就越大。
    注:(方差公式)
    注:为什么要除以n-1,是为了样本方差S^2=()是总体方差D(x)的无偏估计。

sklearn中用于降维的类PCA

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

参数解释

n_components

可以填入:

  • 整数k,降维后保留的特征数量为k个;
  • [0,1]
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值