降维——PCA、LDA

作者: dreampai | 来源:发表于2019-03-26 10:30 被阅读3次

一、 PCA

PCA 属于一种线性、非监督、全局的降维算法,旨在找到数据的主成分,并利用这些主成分表征原始数据,从而达到降维的目的。

二、LDA

线性判别分析是一种有监督学习算法,在 PCA 中,算法没有考虑数据的标签(类别),只是把原数据映射到一些方差比较大的方向上而已;LDA 算法首先是为了分类服务的,因此只要找到一个投影方向使得投影后的样本尽可能按照原始类别分开,其思想是最大化类间距离和最小化类内距离。

三、PCA 和 LDA 区别

  • PCA 是非监督降维算法,LDA 是有监督降维算法
  • PCA 选择的是投影后数据方差最大的方向。它是无监督的,因此 PCA 假设方差越大,信息量越多,用主成分来表示原始数据可以去除冗余的维度,达到降维。
  • LDA 选择的是投影后类内方差小、类间方差大的方向。其用到了类别标签信息,为了找到数据中具有判别性维度,使得原始数据在这些方向上投影后,不同类别尽可能区分开。
    Example:
    语音识别中,我们想从一段音频中提取出人的语音信号,这时可以使用 PCA 先进行降维,过滤掉一些固定频率的背景噪声。但如果我们的需求是从这段音频中区分出声音属于哪个人,那么我们应该用 LDA 对数据进行降维,使每个人的信号具有区分性。

四、coding

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from sklearn.datasets.samples_generator import make_classification

# 生成数据与展示
X,y=make_classification(n_samples=1000, n_features=3, n_redundant=0, n_classes=3, n_informative=2,
                           n_clusters_per_class=1,class_sep =0.5, random_state =10)
fig=plt.figure()
ax=Axes3D(fig,rect=[0,0,1,1],elev=30,azim=20)
ax.scatter(X[:,0],X[:,1],X[:,2],marker='o',c=y)
plt.show()

# PCA 降维
from sklearn.decomposition import PCA
pca=PCA(n_components=2)
pca.fit(X)
# 方差比例
print(pca.explained_variance_ratio_)
# 方差
print(pca.explained_variance_)
X_new=pca.transform(X)
plt.scatter(X_new[:,0],X_new[:,1],marker='o',c=y)
plt.show()

# LDA 降维
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
lda=LinearDiscriminantAnalysis(n_components=2)
lda.fit(X,y)
X_new=lda.transform(X)
plt.scatter(X_new[:,0],X_new[:,1],marker='o',c=y)
plt.show()

参考链接

相关文章

  • 用线性判别分析 LDA 降维

    本文结构: 什么是 LDA 和 PCA 区别 LDA 投影的计算过程 LDA 降维的例子 1. 什么是 LDA 先...

  • 三种常用降维方法的思想总结

    一.判别分析降维 LDA降维和PCA的不同是LDA是有监督的降维,其原理是将特征映射到低维上,原始数据的类别也...

  • 降维——PCA、LDA

    一、 PCA PCA 属于一种线性、非监督、全局的降维算法,旨在找到数据的主成分,并利用这些主成分表征原始数据,从...

  • 2021-03-29

    LDA与PCA降维思想不同,对数据的要求也不同。 LDA需要数据有标记有分类,便于后面对类内类外的区分,而PCA则...

  • 绝境逆生

    1.过拟合的解决办法2.L1/L2正则化3.特征如何降维 (pca lda)4.pca和lda的区别5.GBDT,...

  • 降维LDA与PCA

    1、LDA与PCA异同点 .PCA 希望投影后的数据方差尽可能的大(最大可分性),因为其假设方差越多,则所包含的信...

  • 降维算法:PCA、LDA

    一、PCAhttps://zhuanlan.zhihu.com/p/32412043[https://zhuanl...

  • Iris数据集使用PCA/LDA/KPCA降维的结果比较

    一、实验描述 分别使用PCA、LDA和KPCA方法对Iris数据集进行降维,利用可视化工具比较降维的效果。 二、分...

  • PCA 笔记

    2020-05-21特征降维中PCA和LDA[bilibili-video]《Python机器学习》读书笔记(五)...

  • 降维——线性判别分析与主成分分析

    同样作为线性降维的方式,PCA是非监督的降维算法,而LDA是有监督的算法。虽然他俩在应用方面是有区别的,但是从数学...

网友评论

    本文标题:降维——PCA、LDA

    本文链接:https://www.haomeiwen.com/subject/xbgwvqtx.html