python 主成分分析 (PCA)

举报
风吹稻花香 发表于 2022/04/12 22:20:04 2022/04/12
1.4k+ 0 0
【摘要】 主成分分析(Principal Component Analysis,PCA)是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。 # 用python实现主成分分析(PCA)import numpy as npfrom numpy.linal...

主成分分析(Principal Component Analysis,PCA)是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。


       # 用python实现主成分分析(PCA)
       import numpy as np
       from numpy.linalg import eig
       from sklearn.datasets import load_iris
       def pca(X,k):
           X = X - X.mean(axis = 0) #向量X去中心化
           X_cov = np.cov(X.T, ddof = 0) #计算向量X的协方差矩阵,自由度可以选择0或1
           eigenvalues,eigenvectors = eig(X_cov) #计算协方差矩阵的特征值和特征向量
           klarge_index = eigenvalues.argsort()[-k:][::-1] #选取最大的K个特征值及其特征向量
           k_eigenvectors = eigenvectors[klarge_index] #用X与特征向量相乘
          return np.dot(X, k_eigenvectors.T)
       iris = load_iris()
       if __name__ == '__main__':
           X = np.array([[1,2,3,4],[10,20,30,40],[5,6,7,8],[1,1.9,2.1,4]])
           k = 2
           X_pca = pca(X, k)
          print(X_pca)
       #原文链接:https://blog.csdn.net/ruoff/article/details/116568680
   
  

文章来源: blog.csdn.net,作者:AI视觉网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/124128376

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。