sklearn官网 - sklearn.decomposition.LatentDirichletAllocation
一,LDA的基本思想及数学分析
参考:【机器学习】LDA线性判别分析
参考:机器学习降维算法二:LDA(Linear Discriminant Analysis)
LDA和PCA对比
LDA用于降维,和PCA有很多相同,也有很多不同的地方,因此值得好好的比较一下两者的降维异同点。
首先我们看看相同点
:
- 两者均可以对数据进行降维。
- 两者在降维时均使用了矩阵特征分解的思想。(求特征值、特征向量)
- 两者都假设数据符合高斯分布
我们接着看看不同点
:
- LDA是有监督的降维方法,而PCA是无监督的降维方法
- LDA降维最多降到类别数k-1的维数,而PCA没有这个限制。
- LDA除了可以用于降维,还可以用于分类。
- LDA选择分类性能最好的投影方向,而PCA选择样本点投影具有最大方差的方向。
这点可以从下图形象的看出,在不同数据分布下LDA和PCA降维的优势不同。二者各有优缺。
LDA算法的主要优点
有:
- 在降维过程中可以使用类别的先验知识经验,而像PCA这样的无监督学习则无法使用类别先验知识。
- LDA在样本分类信息依赖均值而不是方差的时候,比PCA之类的算法较优。
LDA算法的主要缺点
有:
- LDA不适合对非高斯分布样本进行降维,PCA也有这个问题。
- LDA降维最多降到类别数k-1的维数,如果我们降维的维度大于k-1,则不能使用LDA。当然目前有一些LDA的进化版算法可以绕过这个问题。
- LDA在样本分类信息依赖方差而不是均值的时候,降维效果不好。
- LDA可能过度拟合数据.
二,如何使用LDA进行数据降维
from sklearn.datasets import load_breast_cancer
BC