pca主成分分析

  • pca基本原理

方差越大,数据越分散,数据的某个特征维度上越分散,该特征越重要
协方差为0,不相关
将一组N维向量降到K维,选择K个单位正交基,原始数据变换到这组基上时,各特征两两协方差为0,特征的方差尽可能大

  • 协方差矩阵
    https://blog.csdn.net/a8039974/article/details/81285238

不同维度之间的协方差
matlab
协方差矩阵计算方法1:
mysample=fix(rand(10.3)*50)
dim1=mysample(:,1);
dim2=mysample(:,2);
dim3=mysample(:,3);
sum((dim1-mean(dim1)) .✖️ (dim2-mean(dim2)))/(size(mysample,1)-1)
std(dim1)^2
协方差矩阵计算方法2:
cov(mysample)
协方差矩阵计算方法3:
x=mysample-repmat(mean(mysample),10,1)
c=(x’*x)./(size(x,1)-1)

  • 特征值和特征向量

线性变换:新特征可以由原始特征轴线性变换表征,原点不变,网格平行等距。矩阵相当于对空间做线性变换。
https://blog.csdn.net/caiexu/article/details/83689019
线性无关:构建的特征轴正交
主要特征分量:方差加大的方向

  • python pca
    https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html#sklearn.decomposition.PCA
    https://blog.csdn.net/qq_38825002/article/details/81356377
    https://blog.csdn.net/u012162613/article/details/42192293

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

fit_transform(X)
用X来训练PCA模型,同时返回降维后的数据。
newX=pca.fit_transform(X),newX就是降维后的数据。

inverse_transform()
将降维后的数据转换成原始数据,
X=pca.inverse_transform(newX)

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

list 和 array的不同
dataframe list array 相互转换
https://www.cnblogs.com/hackpig/p/8183470.html
https://www.cnblogs.com/Christina-Notebook/p/10100903.html

list是python自带的,可以包含不同类型元素
array是Numpy中封装的,同类元素

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值