Какой механизм по умолчанию используется алгоритмами scikit-learn для многоклассовой классификации?

#machine-learning #scikit-learn #multiclass-classification

#машинное обучение #scikit-learn #многоклассовая классификация

Вопрос:

Я использую scikit-learn для построения модели многоклассовой классификации. До сих пор я пробовал алгоритмы RandomForestClassifier, KNeighborsClassifier, LogisticRegression, MultinomialNB и SVC. Я доволен сгенерированным результатом. Однако у меня есть вопрос о механизме по умолчанию, используемом алгоритмами для многоклассовой классификации. Я читал, что все классификаторы scikit-learn способны к многоклассовой классификации, но я не смог найти никакой информации о механизме по умолчанию, используемом алгоритмами.

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

1. Некоторые классификаторы, такие как KNeighborsClassifier или RandomForestClassifier, по умолчанию поддерживают многоклассовую классификацию. Другие, такие как LogisticRegression, которые способны говорить только «да» или «сейчас», адаптируются к мультиклассу с помощью OVR. Я не думаю, что существует такая вещь, как «механизм» по умолчанию.

Ответ №1:

Один против всех или Один против всех — наиболее часто используемая и справедливая стратегия по умолчанию для алгоритмов многоклассовой классификации. Для каждого классификатора класс сопоставляется со всеми другими классами. Проверьте здесь для получения дополнительной информации https://scikit-learn.org/stable/modules/generated/sklearn.multiclass .OneVsRestClassifier.html

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

1. Как ваш ответ будет применяться к KNeighborsClassifier or RandomForestClassifier ?

2. Отредактировано, спасибо! Мультикласс в KNN и случайном лесу работает по своей сути.

3. Извините за глупый вопрос, но что это значит под «работает по своей сути»? Я заметил, что в документации scikit-learn упоминается то же самое, но не понял, что это значит.

4. Это означает, что он поддерживает мультикласс изначально, не требует никаких дополнительных манипуляций или адаптации, таких как OVR