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

Существует множество различных типов алгоритмов регрессии, в том числе:

  1. Линейная регрессия. Линейная регрессия — это простой и широко используемый алгоритм. Он предполагает линейную связь между независимыми переменными и целевой переменной. Алгоритм оценивает коэффициенты линейного уравнения, которое лучше всего соответствует данным. Уравнение может иметь вид: y= m x +c, где y — целевая переменная, x — входной объект, m — наклон, а c — точка пересечения.
    Пример: приложения включают прогнозирование цен на жилье на основе таких характеристик, как площадь в квадратных футах и ​​количество спален, или оценку продаж на основе расходов на рекламу.

  1. Логистическая регрессия.Логистическая регрессия — это популярный алгоритм, используемый для задач бинарной классификации, когда целевая переменная имеет два возможных результата (например, да/нет, истина/ложь, 0/1). Несмотря на свое название, логистическая регрессия — это алгоритм классификации, а не алгоритм регрессии. Он моделирует взаимосвязь между независимыми переменными (входными функциями) и бинарной целевой переменной с помощью логистической функции, также известной как сигмовидная функция.
    Пример: прогнозирование того, уйдет ли клиент (т. е. прекратит ли он сотрудничество с компанией) на основе его демографической информации и истории покупок.
  2. Полиномиальная регрессия. Полиномиальная регрессия — это расширение линейной регрессии, в котором взаимосвязь между переменными моделируется с помощью полиномиального уравнения. Это обеспечивает большую гибкость при захвате нелинейных отношений между входными объектами и целевой переменной. Он включает в себя добавление полиномиальных членов, таких как или , к линейному уравнению. Полиномиальная регрессия полезна, когда данные демонстрируют криволинейные закономерности.
    Пример: прогнозирование урожайности на основе таких факторов, как температура, влажность и количество осадков.
  3. Регрессия гребня. Регрессия гребня — это метод регуляризации, который решает проблему переобучения в линейной регрессии. Он добавляет штрафной член к уравнению линейной регрессии, чтобы контролировать сложность модели. Этот штрафной член помогает предотвратить слишком большие коэффициенты, снижая чувствительность модели к обучающим данным. Гребневая регрессия особенно полезна при работе с многомерными данными или когда среди входных признаков существует мультиколлинеарность (высокая корреляция).
    Пример: прогнозирование цены акции на основе финансовых показателей, таких как прибыль на акцию и отношение цены к прибыли.
  4. Лассо-регрессия. Лассо-регрессия, аналогичная гребневой регрессии, представляет собой метод регуляризации, используемый для борьбы с переоснащением. Он добавляет штрафной член к уравнению линейной регрессии, но в этом случае в качестве штрафа используется норма коэффициентов L1. Лассо-регрессия имеет свойство выбора признаков, которое может обнулить некоторые коэффициенты, эффективно выполняя автоматический выбор признаков. Это делает его полезным при работе с наборами данных со многими функциями или при поиске наиболее влиятельных переменных.
    Пример: прогнозирование вероятности того, что клиент купит продукт, на основе истории просмотров и покупок на веб-сайте.
  5. Регрессия ElasticNet. Регрессия ElasticNet сочетает в себе методы регуляризации гребня и лассо. Он добавляет штрафной член, который представляет собой линейную комбинацию L1 (лассо) и L2 (гребень) норм коэффициентов. Этот гибридный подход позволяет выбирать признаки, а также обеспечивает стабильность и снижает влияние мультиколлинеарности. Регрессия ElasticNet полезна, когда имеется много коррелирующих функций, и цель состоит в том, чтобы выбрать соответствующие функции и смягчить мультиколлинеарность.
    Пример: прогнозирование спроса на продукт на основе таких факторов, как цена, расходы на рекламу и активность конкурентов.

Почему мы используем регрессионный анализ?

Регрессионный анализ — это статистический метод, используемый для изучения взаимосвязи между зависимой переменной и одной или несколькими независимыми переменными. Он используется для различных целей, в том числе:

  1. Прогноз. Регрессионный анализ можно использовать для прогнозирования значений зависимой переменной на основе значений независимых переменных. Например, если мы хотим предсказать продажи продукта на основе расходов на рекламу и размера рынка, мы можем использовать регрессионный анализ, чтобы определить взаимосвязь между этими переменными и предсказать продажи на основе значений независимых переменных.
  2. Проверка гипотез. Регрессионный анализ можно использовать для проверки гипотез о связи между зависимыми и независимыми переменными. Например, мы можем проверить, существует ли значительная связь между курением и раком легких, используя регрессионный анализ.
  3. Контрольные переменные. Регрессионный анализ можно использовать для контроля других переменных, которые могут повлиять на взаимосвязь между зависимыми и независимыми переменными. Например, если мы хотим изучить взаимосвязь между доходом и здоровьем, мы можем захотеть контролировать такие переменные, как возраст, пол и образование.
  4. Прогнозирование. Регрессионный анализ можно использовать для прогнозирования будущих тенденций на основе исторических данных. Например, мы можем использовать регрессионный анализ для прогнозирования спроса на продукт на основе данных о прошлых продажах и других соответствующих переменных.

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

Как открыть блокнот Jupyter

Все коды доступны в моем репозитории GitHub: https://github.com/arunsinp/Machine-Learning/

  1. Откройте в Google Colab (https://colab.research.google.com/) и войдите в аккаунт Google. Создайте новый блокнот и смонтируйте Google Диск (чтобы сохранить блокнот на Google Диске), используя
from google.colab import drive
drive.mount('/content/drive')

Следуйте инструкциям, чтобы авторизовать доступ к вашему Google Диску.

Получите блокнот из GitHub: в новой ячейке кода в блокноте Colab используйте следующий код, чтобы получить блокнот из репозитория GitHub и загрузить его в Colab:

!pip install gitpython

import git

# Clone the repository
git.Repo.clone_from('https://github.com/arunsinp/Machine-Learning.git', '/content/Machine-Learning')

# Load the notebook into Colab
from google.colab import files
files.open('/content/Machine-Learning/ML-Fundamental/0.2-Regression.ipynb')

2. Клонируйте репозиторий:в указанный каталог (предположим, что он клонирован в каталог «Документы»)
Путь:
- Windows: \name\Personal\Documents\
- MacOs X: /Пользователи/имя/Документы/
- Linux: Пользователи/имя/Документы/

git clone https://github.com/arunsinp/Machine-Learning.git

Перейдите в папку Документы с помощью cd Documents/ML-Learning/ML-Fundamental/, а затем откройте файл 0.2-Regression.ipynb с помощью редактора кода, например VSCODE или в Anaconda откройте Jupyter Notebook и загрузите файл 0.2-Regression.ipynb.

ПРИМЕЧАНИЕ. В своем следующем сообщении в блоге я напишу о линейной регрессии (как простой, так и множественной линейной регрессии) и небольшом проекте.

Ссылка

  1. Мой репозиторий GitHub (Jupyter Notebook): https://github.com/arunsinp/Machine-Learning/blob/main/ML-Fundamental/0.2-Regression.ipynb (чтобы открыть его, можете открыть его в Google Colab или скачать и открыть с помощью )