PCA主成分分析

基本步骤:

  • 对数据进行归一化处理 xi = xi-1/m(sum(xi))
  • 计算归一化后的数据集的协方差矩阵 x * x.T
  • 计算协方差矩阵的 特征值特征向量
    • svd 非方阵,计算奇异值分解svd
    • eig 计算方阵的本征值和本征向量
  • 保留最重要的k个特征(通常k要小于n)
    • 指定 k = d
    • 结合开销较小的学习器(k近邻分类器)交叉验证选取较好的 k
    • 选择一个阈值
      • 前k个特征值之和 - 后面n-k个特征值之和 > 阈值,则选择这个k
      • 前k个特征值之和 / n个特征值之和 > 阈值,则选择这个k
  • 找出k个特征值对应的特征向量
  • 将m * n的数据集 乘以 k个n维的特征向量的特征向量(n * k),得到最后降维的数据。

GitHub Rep:https://github.com/feishuoren/PCA/blob/main/pca_test.ipynb


参考:

  1. 三种方法实现PCA算法(Python)
  2. PCA主成分分析Python实现
  3. A tutorial on Principal Components Analysis

你可能感兴趣的:(PCA主成分分析)