Полный анализ.

Я предлагаю вам ознакомиться с Часть I, прежде чем продолжить.

В первой части мы проверили, работает ли линейная регрессия для переменной качественного ответа с более чем двумя классами. Здесь мы проверим, работает ли это для двоичной классификации?

На этот раз мы будем работать с Набором данных для прогнозирования рака молочной железы. Для простоты я рассматривал только средний периметр опухоли как единственную характеристику в данных.

Основываясь на среднем размере периметра, мы определяем, является ли опухоль доброкачественной (не раковой) или злокачественной (раковой) с помощью линейной регрессии.

Наши данные выглядят примерно так:

Чтобы работать с линейной регрессией, давайте предположим, что кодирование для B и M равно 0 и 1 соответственно.

Давайте запустим линейную регрессию для этого:

Код.

coefficient: [0.01291051]
Intercept: -0.9710559009446079
MSE:  0.03373167568329971
R2_score: 0.747858980220586

Теперь давайте выберем другую возможную кодировку, то есть B как 1 и M как 0, и перезапустим код.

coefficient: [-0.01291051]
Intercept: 1.9710559009446085
MSE:  0.03373167568329972
R2_score: 0.747858980220586

Среднеквадратическая ошибка и значения R-квадрата абсолютно одинаковы для обоих кодировок. Даже коэффициенты одинаковые, а отличаются только их знаки.

Давайте построим гипотезу h(x) для обоих кодировок:

Так что проблем с кодированием, как у нас было в классификации с более чем 2 классами, нет. Мы можем принять любой из них, и мы получим те же результаты.

Чтобы сделать прогноз для любого заданного размера опухоли x, если h(x) больше 0,5, мы прогнозируем злокачественную опухоль, в противном случае мы прогнозируем доброкачественную опухоль, особенно для случая, когда B равно 0, а M равно 1.

Итак, что мы получаем:

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

Давайте добавим еще один образец с огромным размером опухоли и снова запустим линейную регрессию:

Теперь при h(x) > 0,5 злокачественность будет выглядеть так:

Чтобы продолжать делать правильные прогнозы, нам нужно изменить его на что-то вроде h(x)>0,3, но алгоритм не должен работать так.

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

Вывод

В заключение, линейная регрессия также не подходит для бинарной классификации.

Его можно использовать в качестве бинарного классификатора, наложив решающее правило, например, когда значение гипотезы h(x)>0,5 означает, что опухоль является злокачественной. Но это тоже работает не для каждого сценария.

Использованная литература:

Введение в статистическое обучение

Машинное обучение Эндрю Нг

Полный код можно найти по этой ссылке GitHub.

Пожалуйста, прокомментируйте любые предложения, исправления или критику.

Спасибо!