在阅读关于使用 Python 进行线性判别分析的过程中,我发现了两种不同的实现方法,分别在这里可以找到,http://scikit-learn.org/stable/modules/generated/sklearn.discriminant_analysis.LinearDiscriminantAnalysis.html#sklearn.discriminant_analysis.LinearDiscriminantAnalysis
这些方法的签名如下,
sklearn.discriminant_analysis.LinearDiscriminantAnalysis(solver=’svd’, shrinkage=None, priors=None, n_components=None, store_covariance=False, tol=0.0001)
然后我又发现了另一种具有相似签名的方法,在这里可以找到,
http://scikit-learn.org/0.16/modules/generated/sklearn.lda.LDA.html
sklearn.lda.LDA(solver='svd', shrinkage=None, priors=None, n_components=None, store_covariance=False, tol=0.0001)
我想知道这两者之间有什么区别?在项目中应该使用哪种方法,为什么?
回答:
根据文档,它们分别在这里可以找到,并且如@Atto 所提到的
http://scikit-learn.org/stable/modules/generated/sklearn.discriminant_analysis.LinearDiscriminantAnalysis.html
和
http://scikit-learn.org/0.16/modules/generated/sklearn.lda.LDA.html
现在基本上来说,LDA 是旧版本,而 LinearDiscriminantAnalysis 是新更新的版本,且更受推荐