主成分分析及PCA函数使用说明

主成分分析及PCA函数使用说明

主成分分析的基本思想

主成分分析就是把原有的多个指标转化成少数几个代表性较好的综合指标,这少数几个指标能够反映原来指标大部分的信息(85%以上),并且各个指标之间保持独立,避免出现重叠信息。主成分分析主要起着降维和简化数据结构的作用。
主成分分析是把各变量之间互相关联的复杂关系进行简化分析的方法。
主成分分析试图在力保数据信息丢失最少的原则下,对这种多变量的截面数据表进行最佳综合简化,也就是说,对高纬度空间进行降维处理。
这些综合指标就称为主成分。

原理

将一组 N 维向量降为 K 维,其目标是选择 K 个单位正交基,使得原始数据变换到这组基上后,各变量两两间协方差为 0,而变量方差则尽可能大(在正交的约束下,取最大的 K 个方差)。降维问题的优化目标:将一组 N 维向量降为 K 维,其目标是选择 K 个单位正交基,使得原始数据变换到这组基上后,各变量两两间协方差为 0,而变量方差则尽可能大(在正交的约束下,取最大的 K 个方差)。

PCA介绍,函数的参数说明

PCA是一种较为粗糙的降维方法,对于小样本量的数据来说,它不如因子分析方法实用。但是当数据量较大时,主成分分析方法就有了用武之地了。PCA方法常用于人脸识别。

算法步骤

在这里插入图片描述

好处

在这里插入图片描述

函数的参数说明

在这里插入图片描述

PCA实践

我们以sklearn中自带的数据包为例子:

from sklearn.decomposition import PCA
import numpy as np
from sklearn import datasets
from sklearn.preprocessing import MinMaxScaler
X=datasets.load_iris()['data']  # 数据集
# 对数据进行0均值化
mm = MinMaxScaler()
X = mm.fit_transform(X)
model=PCA(n_components='mle')
model.fit(X)
X_new=model.fit_transform(X)
Maxcomponent=model.components_
ratio=model.explained_variance_ratio_
score=model.score(X)
print('返回具有最大方差的成分:',Maxcomponent)
print('保留主成分的方差贡献率:',ratio)
print('所有样本的log似然平均值:',score)
print('奇异值:',model.singular_values_)
print('噪声协方差:',model.noise_variance_)
"""
返回具有最大方差的成分: [[ 0.42494212 -0.15074824  0.61626702  0.64568888]
 [ 0.42320271  0.90396711 -0.06038308 -0.00983925]
 [-0.71357236  0.33631602 -0.0659003   0.61103451]]
保留主成分的方差贡献率: [0.84136038 0.11751808 0.03473561]
所有样本的log似然平均值: 2.2740148272981515
奇异值: [5.88519621 2.19949138 1.19579686]
噪声协方差: 0.0017643192410086415
"""
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值