Существует два типа алгоритмов контролируемого машинного обучения:

  1. Регрессия
  2. классификация.

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

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

Теория линейной регрессии

В статистике линейная регрессия – это линейный подход к моделированию связи между скалярным откликом (или зависимой переменной) и одной или несколькими независимыми переменными (или независимыми переменными). Случай с одной независимой переменной называется простой линейной регрессией.

Мы знаем, что уравнение прямой линии имеет вид:

Уравнение приведенной выше строки:

Y= mx + b

Где b — точка пересечения, а m — наклон линии.

В этом проекте я использовал процесс CRISP-DM для анализа данных. Некоторые примечания о процессе CRISP-DM приведены ниже.

CRISP-DM означает межотраслевой процесс интеллектуального анализа данных. Методология CRISP-DM обеспечивает структурированный подход к планированию проекта интеллектуального анализа данных.

Он состоит из фаз, как показано на рисунке ниже.

Теперь мы собираемся проанализировать и спрогнозировать стоимость домов в Бостоне. Вы можете получить набор данных и полный код Python здесь.

Изучив данные, я заинтересовался атрибутами, влияющими на цену, поэтому задал следующие 4 вопроса:

1. Какие функции больше влияют на увеличение цены дома?

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

Если мы построим тепловую карту корреляции набора данных, мы сможем более эффективно визуализировать корреляцию. Тепловая карта корреляции набора данных выглядит следующим образом:

2. Какая взаимосвязь существует между ценой и квадратными метрами жилой площади?

Если мы построим зависимость между ценой и квадратными метрами жилой площади, мы получим график, показанный ниже:

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

3. Имеет ли дом с более высоким числом спален более высокие цены, чем дома с меньшим количеством спален?

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

Из приведенного выше графика ясно видно, что при увеличении количества спален цена дома увеличивается почти экспоненциально.

4. Сколько домов каждой этажности есть в городе и сколько нет. этажей дома влияет на цену дома?

Если мы построим гистограмму с домами разной этажности, мы получим график, как показано ниже:

Мы отчетливо наблюдаем, что дома, имеющие только 1 этаж, более доступны в городе. И если мы построим зависимость между ценой дома и количеством этажей, мы получим график, как показано ниже:

Из приведенной выше диаграммы рассеяния мы можем ясно сказать, что дома в 2 этажа имеют более высокие цены по сравнению с домами в 1 и 3 этажа.

Вывод

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

Код и подробный анализ можно найти по ссылке на Github:

МОЯ ССЫЛКА НА GITHUB ДЛЯ КОДА И НАБОРА ДАННЫХ