scikit中的错误 - 学习LDA功能 - 图表显示非零相关

7 python r lda scikit-learn

我使用scikit-learn的LDA函数做了一些LDA,我在我的结果图中注意到LD之间存在非零相关性.

from sklearn.lda import LDA
sklearn_lda = LDA(n_components=2)
transf_lda = sklearn_lda.fit_transform(X, y)
Run Code Online (Sandbox Code Playgroud)

这非常令人担忧,所以我回去使用Iris数据集作为参考.我还在scikit文档中找到了相同的非零相关LDA图,我可以重现它.

无论如何,要概述一下它的样子

  • 左上角的情节:这里显然有些不对劲
  • 左下图:这是原始数据,而不是正确的方法,但是一次尝试复制scikit的结果
  • 右上角和右下角的情节:这就是它实际上应该是什么样子.

在此输入图像描述

我已经将代码放入IPython笔记本中,如果你想看看它并自己尝试一下.

与左上角的(错误)结果一致的scikit文档:http://scikit-learn.org/stable/auto_examples/decomposition/plot_pca_vs_lda.html

R中的LDA,如右下图所示:http://tgmstat.wordpress.com/2014/01/15/computing-and-visualizing-lda-in-r/

kaz*_*ase 0

LDA 的变换函数确实存在一个错误:在实际变换后错误地应用了分类器权重。这已在这里修复。这些更改已合并到 master 分支中,因此应该在 scikit-learn 的 1.6 版本中。