sklearn——PCA&LDA

来源:互联网 发布:js变量命名的规则 编辑:程序博客网 时间:2024/05/29 04:28

LDA:利用类别信息,将数据投影到到最容易区分的方向。
PCA:并没有利用类别信息,只是降维后每一维特征方差都大。

# 导入iris数据集from sklearn.datasets import load_irisimport numpy as npiris = load_iris()
# PCAfrom sklearn.decomposition import PCApca = PCA(n_components=2)pca_result = pca.fit_transform(iris.data)# LDAfrom sklearn.lda import LDAlda = LDA()lda = LDA(n_components=2)lda_result = lda.fit_transform(iris.data, iris.target)
# 画图import matplotlib.pyplot as plt# for PCAplt.subplot(1,3,1)plt.scatter(pca_result[iris.target==0, 0], pca_result[iris.target==0, 1], color='r')plt.scatter(pca_result[iris.target==1, 0], pca_result[iris.target==1, 1], color='g') plt.scatter(pca_result[iris.target==2, 0], pca_result[iris.target==2, 1], color='b') plt.title('PCA on iris')# for LDAplt.subplot(1,3,2)plt.scatter(lda_result[iris.target==0, 0], lda_result[iris.target==0, 1], color='r')plt.scatter(lda_result[iris.target==1, 0], lda_result[iris.target==1, 1], color='g') plt.scatter(lda_result[iris.target==2, 0], lda_result[iris.target==2, 1], color='b') plt.title('LDA on iris')plt.show()

这里写图片描述

ref:
http://www.letiantian.me/2015-04-03-pca-lda-nmf-iris/?utm_source=tuicool&utm_medium=referral

0 0
原创粉丝点击