2016-12-05 2 views
0

Я пытаюсь запустить классификатор в наборе из примерно 1000 объектов, каждый из которых имеет 6 переменных с плавающей запятой. Я использовал функции перекрестной проверки scikit-learn, чтобы создать массив прогнозируемых значений для нескольких разных моделей. Затем я использовал sklearn.metrics для вычисления точности моих классификаторов и таблицы путаницы. Большинство классификаторов имеют точность порядка 20-30%. Ниже приведена таблица путаницы для классификатора SVC (точность 25,4%).Каковы хорошие показатели для оценки эффективности многоклассового классификатора?

enter image description here

Так как я новичок в области машинного обучения, я не уверен, как интерпретировать этот результат, и есть ли другие хорошие показатели для оценки проблемы. Интуитивно говоря, даже с точностью 25%, и учитывая, что классификатор получил 25% от прогнозов, я считаю, что он хотя бы несколько эффективен, верно? Как я могу выразить это со статистическими аргументами?

ответ

0

Если эта таблица является таблицей замешательства, я думаю, что ваш классификатор в большинстве случаев предсказывает класс E. Я думаю, что ваш класс E чрезмерно представлен в вашем наборе данных, точность не является хорошей метрикой, если ваши классы не имеют такое же количество экземпляров, Пример. Если у вас есть 3 класса, A, B, C и в тестовом наборе данных класс A представлен выше (90%), если ваш классификатор прогнозирует весь класс времени A, у вас будет 90% точность,

хорошая метрика является использование потери журнала, логистическая регрессия хороший алгоритм, который оптимизирует этот показатель см https://stats.stackexchange.com/questions/113301/multi-class-logarithmic-loss-function-per-class

An другое решение - сделать передискретизацию ваших небольших классов.

0

Прежде всего, мне очень трудно смотреть на таблицы смятения. Построение его как изображения даст гораздо лучшее интуитивное понимание того, что происходит.

Рекомендуется оптимизировать единую метрику, поскольку она проще и быстрее. Когда вы обнаружите, что ваша система не работает так, как вы ожидаете, пересмотреть свой выбор метрики.

Точность, как правило, хорошая метрика для использования, если у вас одинаковое количество примеров в каждом классе. В противном случае (это, как представляется, здесь) я бы посоветовал использовать F1 score, который учитывает как precision and recall вашей оценки.

РЕДАКТИРОВАТЬ: Однако вам решать, будет ли точность 25% или какой-либо показатель «достаточно хорошим». Если вы классифицируете, что робот должен стрелять в человека, вы, вероятно, должны пересмотреть свой алгоритм, но если вы решаете, является ли это псевдослучайным или случайным данным, точность 25% процентов может быть более чем достаточно, чтобы доказать эту точку.

Смежные вопросы