【机器学习】:降维_主成分分析(PCA)原理详解及Python实现

【机器学习】:降维_主成分分析(PCA)原理详解及Python实现_第1张图片

【机器学习】:降维_主成分分析(PCA)原理详解及Python实现_第2张图片

【机器学习】:降维_主成分分析(PCA)原理详解及Python实现_第3张图片

【机器学习】:降维_主成分分析(PCA)原理详解及Python实现_第4张图片

1.Numpy实现

 

import numpy as np
class PCA():
    def __init__(self,n_components):
        self.n_components = n_components
    
    def fit_transform(self,X):
        self.n_features_ = X.shape[1]
        # 求协方差矩阵
        X = X - X.mean(axis=0)
        self.covariance = np.dot(X.T,X)/X.shape[0]
        # 求协方差矩阵的特征值和特征向量
        eig_vals,eig_vectors = np.linalg.eig(self.covariance)
        # 获得降序排列特征值的序号
        idx = np.argsort(-eig_vals)
        # 将维矩阵
        self.components_ = eig_vectors[:,idx[:self.n_components]]
        # 对X进行降维
        return np.dot(X,self.components_)

# 调用
pca = PCA(n_components=2)
pca.fit_transform(X)

2.第三方包:sklearn

from sklearn.decomposition import PCA
pca = PCA(n_components=2)
pca.fit_transform(X)

 

你可能感兴趣的:(机器学习原理及实践,机器学习原理及实现)