sklearn(十二):Linear and Quadratic Discriminant Analysis

Linear and Quadratic Discriminant Analysis是一种classifier,分别可获得linear and quadratic decision surface,他们可得到封闭式的解决方案(closed-form solution),并且很容易计算得到,这两种classifier本质上是用来解决multiclass问题的。

Linear Discriminant Analysis

  • 应用LDA降维
    LDA除用于分类以外,还可以用于降维,降维后的特征数一定要小于类别数,LDA的降维操作只对multi-class dataset起作用。

  • LDA分类原理
    在LDA中,假设各个类别服从Guassian distribution,并且每个类别的covariance相等,对于给定point类别的预测可以利用“贝叶斯规则”,下面给出贝叶斯规则,以及各个类别的Guassian distribution:

  • LDA与QDA的区别
    LDA与QDA区别:在Quadratic Discriminant Analysis中,对于各个类别的covariance并没有做出假设(各个covariance不等),因此得出的decision surface为quadratic。
    如果,在QDA中,假设covariance为diagonal,且各个类别的sample相互独立,则QDA就衍变成了Gaussian Naive Bayes classifier 。

sklearn function

sklearn.discriminant_analysis.LinearDiscriminantAnalysis(solver=’svd’, shrinkage=None, priors=None, n_components=None, store_covariance=False, tol=0.0001)
#priors:class priors,各个类别的先验概率;
#n_components:将维度将至多少;
#tol:solver=svd时的tolerance;

sklearn.discriminant_analysis.QuadraticDiscriminantAnalysis(priors=None, reg_param=0.0, store_covariance=False, tol=0.0001, store_covariances=None)
#reg_param:float,对covariance matrix做正则化处理
#tol:tolerance

LinearDiscriminantAnalysis的其他两个Parameter解释如下:

  • estimation algorithm
    3中solver的比较:
    svd:svd可以进行classification和dimentional reduction。svd不需要计算covariance matrix,这使得他在维数很大的data中,计算速度较另外2种solver快;singular value decomposition;
    lsqr:least squared:仅可进行classification,且对于classification效率很高;
    eigen:可以进行classification和dimentional reduction。lsqr需要计算covariance matrix,这使得它不适用于维数较高的data。eigenvalue decomposition;
  • shrinkage
    与特征数相比, 样本量较小时,shrinkage可以用于covariance matrix 估计值的改进。当shrinkage=0时,对empirical covariance matrix完全不shrink,当shrinkage=1时,将empirical covariance matrix缩放为diagonal matrix。

Fisher线性判别
多重判别分析

猜你喜欢

转载自blog.csdn.net/u014765410/article/details/82927588