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

Введение в Keras в Python

Возвращаясь к первому шагу при проведении анализа модели, всегда важно импортировать библиотеки и модули для доступа к определенным функциям. Добавлены стандартные импорты, такие как Matplotlib, pandas, NumPy и seaborn, а также sklearn, который позволяет нам разделить наши наборы на тестовые и обучающие наборы, а также выполнить предварительную обработку наших данных.

На 7-й и 8-й строчках интегрируем TensorFlow с Keras. Keras — это высокоуровневый API TensorFlow, поэтому мы должны импортировать их таким образом.

Наши данные

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

Функции и ярлыки

Каждый аспект машинного обучения имеет дело с функциями. Значения x набора данных — это признаки, а значения y — метки. Идея функций и меток продолжается в логистической регрессии, поскольку они должны быть разделены на наборы для обучения и тестирования для обоих значений.

С этими данными функции представляют собой размер опухоли, а метки — это значения рака, показывающие, есть ли рак или нет, с помощью нулей и единиц.

Создание модели

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

Как только модель создана, мы компилируем функцию в python, которая состоит в том, чтобы сообщить нашему коду, что будет ошибкой. С этой проблемой мы установили ее как бинарную кросс-энтропию. Это сравнивает каждую из предсказанных вероятностей с фактическими выходными данными класса как 0 и 1, как мы видели для меток в наших данных об опухоли.

При обучении этой модели мы используем команду model.fit, поэтому вводятся наши масштабированные значения x и значения обучения y, и с их помощью мы пытаемся найти, что вписать в эту модель. Эпохи — это количество шагов, которые мы собираемся сделать в градиентном спуске, в то время как подробный предоставляет дополнительную информацию о фоновых действиях вычислений компьютера.

Минимизация ошибок

Говоря о минимизации ошибок, мы должны убедиться, что делаем достаточно итераций, чтобы получить наиболее точный результат. J_list — это ошибка после каждой итерации. Если мы выполнили достаточное количество итераций, результирующий график в конце будет линейным.

Полнота, точность и достоверность

Сравнивая отзыв, точность и точность данных тестирования и обучения, точность намного выше в обучающем наборе, отзыв лучше в тестовом наборе и точность выше в обучающем наборе.

Логистическая регрессия — это полезный инструмент в науке о данных для сужения вероятностей и создания точных прогнозов с помощью разработанной модели, как объясняется в этой статье. Если вы хотите более подробно рассмотреть концепции, изложенные в этой статье, посмотрите мое видео на эту тему ниже.