ValueError: LDA solver incompatible with shrinkage
7 Dec 2025
1 min read
ValueError: LDA shrinkage solver mismatch
$ python -c "from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA; LDA(solver='svd', shrinkage='auto').fit([[0,0],[1,1]], [0,1])"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ValueError: shrinkage is not supported with solver 'svd'
Why this happens
shrinkage requires solver='lsqr' or 'eigen'.
Fix
Switch to a compatible solver when using shrinkage.
Wrong code
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA
LDA(solver='svd', shrinkage='auto')
Fixed code
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA
LDA(solver='lsqr', shrinkage='auto')