失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Python:PCA(principle component analysis)主成分分析手工代码实现

Python:PCA(principle component analysis)主成分分析手工代码实现

时间:2018-11-21 09:34:04

相关推荐

Python:PCA(principle component analysis)主成分分析手工代码实现

单纯看公式推导看懂了,是没有用的。

'''Auther: DeniuHeDate:'''import numpy as npfrom sklearn.datasets import load_irisimport matplotlib.pyplot as pltclass PCA():def __init__(self,X,y):self.X = Xself.y = yself.N = len(self.y)self.mean = np.mean(self.X,axis=0)self.C = (1/self.N) * (self.X - self.mean).T @ (self.X-self.mean)self.eigvalue, self.eigvector = np.linalg.eig(self.C)def feature_reduct(self,nComposit):sub = [i for i in range(nComposit)]trans_X = self.X @ self.eigvector[:,sub]return trans_Xif __name__ == '__main__':X, y = load_iris(return_X_y=True)pca = PCA(X,y)print(pca.eigvalue)print(pca.eigvector)print("降维到2维:")trans_X = pca.feature_reduct(nComposit=2)print(trans_X)plt.scatter(trans_X[:,0],trans_X[:,1],c=y)plt.show()

绝知此事要躬行。

后续补充Kernel PCA

如果觉得《Python:PCA(principle component analysis)主成分分析手工代码实现》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。