scikit-learn报”ValueError: The ‘solver’ parameter value, ‘{solver}’, is not supported by the LDA solver. Supported values are {supported_solvers}. “的原因以及解决办法

  • Post category:Python

这个报错是由于在使用scikit-learn中的LDA (Linear Discriminant Analysis)模型时,设置了不支持的solver参数值导致的。LDA是一种常见的线性分类算法,用于高维数据降维和分类问题,solver参数指定求解LDA所使用的优化算法。

scikit-learn支持的solver参数值包括’lsqr'(最小二乘法)、’eigen'(特征值分解)和’svd'(奇异值分解)。如果设置了不在这些支持值范围内的solver参数值,则会报错。

解决办法就是将solver参数修改为支持的值,如下:

from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
lda = LinearDiscriminantAnalysis(solver='eigen')

在这里,我们将solver参数的值修改为支持的’eigen’,然后重新创建LDA模型实例。这样就可以解决这个报错问题了。