Визуализация многоклассовой логистической регрессии
В этом упражнении мы продолжим работу с двумя подходами к многоклассовой логистической регрессии, но на этот раз используем игрушечный двумерный набор данных, специально подобранный так, чтобы показать ограничения схемы «один против всех».
Набор данных загружен в X_train и y_train. Два объекта логистической регрессии — lr_mn и lr_ovr — уже созданы (с C=100), обучены и визуализированы.
Обратите внимание: lr_ovr не предсказывает тёмно-синий класс ни разу — весьма неожиданно! Давайте разберёмся, почему так происходит, и посмотрим на один из бинарных классификаторов, которые он использует внутри.
Это упражнение является частью курса
Линейные классификаторы в Python
Инструкции к упражнению
- Создайте новый объект логистической регрессии (также с
C=100) для бинарной классификации. - Визуализируйте этот бинарный классификатор с помощью
plot_classifier— выглядит ли результат разумным?
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Print training accuracies
print("Softmax training accuracy:", lr_mn.score(X_train, y_train))
print("One-vs-rest training accuracy:", lr_ovr.score(X_train, y_train))
# Create the binary classifier (class 1 vs. rest)
lr_class_1 = ____
lr_class_1.fit(X_train, y_train==1)
# Plot the binary classifier (class 1 vs. rest)
plot_classifier(X_train, y_train==1, ____)