You stated that LDA (Latent Dirichlet Allocation) algorithm is used, but actually LinearDiscriminantAnalysis class is not implementation of this algorithm. LatentDirichletAllocation should be used. Correct me if I am wrong if those implementations are both for the same algorithm, but description of them, particularly at sklearn docs, don't look like this
You stated that LDA (Latent Dirichlet Allocation) algorithm is used, but actually LinearDiscriminantAnalysis class is not implementation of this algorithm. LatentDirichletAllocation should be used. Correct me if I am wrong if those implementations are both for the same algorithm, but description of them, particularly at sklearn docs, don't look like this