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

Viewed 6753

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
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:

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

Related