主成分分析(PCA)

PCA算法的主要步骤是:
(1) 对向量X进行去中心化

(2) 计算向量X的协方差矩阵,自由度可以选择0或1

(3)计算协方差矩阵的特征值和特征向量

(4)选取最大的k个特征值及其特征向量

(5)用X与特征向量相乘

python实现:

from sklearn.datasets import load_iris

import numpy as np

def pca(X, k):

    X = X - X.mean(axis=0)

    X_cov = np.cov(X.T, ddof = 0)

    eigenvalues, eigenvectors = eig(X_cov)

    klarge_index = eigenvalues.argsort()[-k:][::-1]

    k_eigenvectors = eigenvectors[klarge_index]

    return np.dor(X, k_eigenvectors.T)


    iris = load_iris()

    X = iris.data

    k = 2

    X_pca = pca(X, k)

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