Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't import sklearn.qda and sklearn.lda with scikit-learn 0.19.1

Can't import sklearn.qda and sklearn.lda with scikit-learn 0.19.1

I get: ImportError: No module named 'sklearn.qda' ImportError: No module named 'sklearn.lda'


Update:

import sklearn.discriminant_analysis.QuadraticDiscriminantAnalysis

gives:

ImportError: No module named 'sklearn.discriminant_analysis.QuadraticDiscriminantAnalysis'; 'sklearn.discriminant_analysis' is not a package

import sklearn.discriminant_analysis.LinearDiscriminantAnalysis gives:

ImportError: No module named 'sklearn.discriminant_analysis.LinearDiscriminantAnalysis'; 'sklearn.discriminant_analysis' is not a package
like image 463
ronseg Avatar asked Dec 11 '25 04:12

ronseg


2 Answers

They have been moved to a new package discriminant_analysis.

Try:

To import the module:

import sklearn.discriminant_analysis

To import the classes:

from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis

If you had earlier versions of sklearn (possibly 0.17 or 0.18), you would have gotten a deprecated warning for them. But they have been removed in 0.19.

Please see here to see the deprecation information:

  • http://scikit-learn.org/0.18/modules/generated/sklearn.lda.LDA.html
  • http://scikit-learn.org/0.18/modules/generated/sklearn.qda.QDA.html
like image 87
Vivek Kumar Avatar answered Dec 13 '25 23:12

Vivek Kumar


I had some code that called 'LDA' and 'QDA' and got those errors. I changed the import statements as shown

from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA
from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis as QDA

and the code now runs as originally intended. Original code location: SKLearn Classifier Comparison

like image 27
Scott W Moore Avatar answered Dec 13 '25 22:12

Scott W Moore



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!