Как использовать sklearn LDA coef_ для выбора объектов

#scikit-learn #selection

#scikit-learn #выбор

Вопрос:

У меня есть набор функций Train = [a1, a2, …, aN] и Train_label = [y1, y2, …, yN]. У меня есть 3 класса. Я применил LDA

 clf = LDA(store_covariance = True)
clf.fit(Train, Train_label) 
  

и попытался понять важность этих функций с помощью

 clf.coef_. 
  

Результатом является массив размером 3XN. Диапазон возвращаемых значений составляет от примерно отрицательных 800 до примерно положительных 800. На графике показаны веса одного classclf.coef_[1,:]

веса одного classclf.coef_[1,:] Что означают отрицательные значения?

Я выбираю функции для каждого класса с первыми 3 наибольшими значениями coef_ для повторной классификации (перекрестной проверки, обучения и тестирования).

 selected_features = [a27, a22, a5, a23, a10, a42]  
  

где a27, a22, a5 выбираются 3 объекта с наибольшим коэффициентом для первого класса, a27, a23, a10 для второго класса и a27, a10, a42 для третьего класса.

Но точность классификации сильно снизилась! Результаты даже хуже, чем у нескольких функций, которые я выбирал ранее.Я попробовал с 6 выбранными функциями с наибольшим значением coef_, и результаты также были плохими.

Может ли кто-нибудь сказать мне, где что-то не так, и объяснить мне, как правильно сделать выбор функций с помощью LDA?

Комментарии:

1. поделитесь также своим кодом, пожалуйста

2. Привет, MMF, добавлен код.