Линейный дискриминантный анализ

Я использую sklearn.lda для целей классификации и был немного озадачен функцией оценки, которая выводит среднюю ошибку классификации. Определяется ли это по исключению - складной нож? Как интерпретировать результат? Это всего лишь значение с плавающей запятой без особой документации.

Заранее спасибо, EL


person El Dude    schedule 21.06.2013    source источник


Ответы (1)


Метод score берет образцы X и их истинные метки y и сравнивает свои собственные прогнозы с y. Он возвращает среднюю точность, которая всегда является одной цифрой. Например,

lda = LDA().fit(X, y)
print(lda.score(X, y))

напечатает точность классификатора на собственном обучающем наборе.

У каждого классификатора есть метод score, который обычно (хотя и не обязательно) возвращает среднюю точность. Этот метод используется GridSearchCV алгоритмом выбора модели для определения качества классификатора, если вы явно не укажете ему scoring аргумент.

person Fred Foo    schedule 21.06.2013
comment
Спасибо за быстрый ответ! У меня вопрос: как интерпретировать выходное значение? У меня только что на тестовой выборке 0.8. В любом случае спасибо за имя класса, это немного лучше помогает мне понять scikit. - person El Dude; 22.06.2013
comment
@ElDude: это означает, что у вас 80% точности на вашем тестовом наборе. Хорошо ли это, зависит от проблемы. - person Fred Foo; 22.06.2013
comment
Круто. Спасибо. Последний вопрос: какой метод предоставляет параметры дискриминантной функции? get_params дает мне следующее: {'priors': None, 'n_components': None} - person El Dude; 22.06.2013
comment
@ElDude: такого метода нет, scikit-learn хранит параметры модели как общедоступные атрибуты. Проверьте строку документации help(LDA) в разделе "Атрибуты". - person Fred Foo; 22.06.2013