数据降维

一、PCA:(principal component analysis)

  1、为何需要PCA

    • 比如拿到一个汽车的样本,里面既有以“千米/每小时”度量的最大速度特征,也有“英里/小时”的最大速度特征,显然这两个特征有一个多余。
    • 拿到一个样本,特征非常多,而样例特别少,这样用回归去直接拟合非常困难,容易过度拟合。比如北京的房价:假设房子的特征是(大小、位置、朝向、是否学区房、建造年代、是否二手、层数、所在层数),搞了这么多特征,结果只有不到十个房子的样例。要拟合房子特征‐>房价的这么多特征,就会造成过度拟合。

  2、PCA 的思想

    将 n维特征映射到 k 维上(k<n) ,这 k 维是全新的特征,称为主元,是重新构造出来的 k 维特征,而不是简单地从 n 维特征中去除其余 n‐k 维特征

  3、实例讲解过程

  

xy
2.52.4
0.50.7
2.22.9
1.92.2
3.13.0
2.32.7
21.6
11.1
1.51.6
1.10.9

    假设我们有2 维数据,行代表样例,列代表特征,这里有 10 个样例,每个样例两个特征

  step1:求每个特征的均值,然后对于所有的样例,都减去对应的均值这里 x 的均值是 1.81,y 的均值是 1.91,减去后得到

 

x-average(x)y-average(y)
0.690.49
-1.31-1.21
0.390.99
0.090.29
1.291.09
0.490.79
0.19-0.31
-0.81-0.81
-0.31-0.31
-0.71-1.01

   step2:求协方差矩阵,如果数据是 3 维,那么协方差矩阵是

   其中协方差公式为:

   

  注:对角线上分别是 x 和 y 的方差,非对角线上是协方差。

    l  协方差 > 0时,表示 x 和 y 若有一个增,另一个也增;

    l  协方差 < 0时,表示一个增,一个减;

    l  协方差 = 0 时,两者独立。

    l  协方差绝对值越大,两者对彼此的影响越大,反之越小。

   4.代码实例:

from sklearn.decomposition import PCA
import numpy as np
pca = PCA(n_components=2)
X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])  
pca.fit(X)
print(pca.explained_variance_ratio_)

   还需要研究

 

转载于:https://www.cnblogs.com/always-fight/p/8847403.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值