Линейная регрессия – один из наиболее широко используемых подходов, используемых для моделирования взаимосвязи между двумя или более переменными. Его можно применять где угодно, от прогнозирования продаж до предсказания урожайности.
В этом посте мы рассмотрим, что такое линейная регрессия, как она работает, и создадим модель машинного обучения для прогнозирования средней продолжительности жизни человека на основе ряда факторов.
Что такое линейная регрессия?
Согласно Википедии, линейная регрессия - это линейный подход к моделированию отношений между зависимой переменной и одной или несколькими независимыми переменными. Проще говоря, это «линия наилучшего соответствия», которая представляет набор данных.
Ниже приведен пример линии, которая наилучшим образом соответствует точкам данных. Создавая линию наилучшего соответствия, вы можете предсказать, где могут быть будущие точки, и выявить выбросы. Предположим, что этот график представляет цену бриллиантов в зависимости от веса. Если мы посмотрим на голубую точку, мы увидим, что этот конкретный бриллиант переоценен.
Так как же найти наилучшую линию? Давайте выясним.
Как работает простая линейная регрессия
Мы собираемся сосредоточиться на простой линейной регрессии. Линия наилучшего соответствия или уравнение, представляющее данные, находится следующим образом:
- Мы строим линию и вычисляем расстояние между точкой и ее проекцией на линию. Расстояние от точки до линии соответствия обозначается здесь красной или зеленой тонкой линией.
- Расстояния от точки до линии соответствия возводятся в квадрат и суммируются.
Мы строим еще одну линию и повторяем вышеописанные шаги. Как только возведенные в квадрат расстояния суммированы, мы сравниваем это значение с предыдущей суммой и выбираем наименьшее. Это сравнение еще называют минимизацией квадратичного расстояния.
Этот регламент оставляет немало вопросов: насколько удалять от предыдущей следующую линию? Сколько линий стоит перебрать, прежде чем выбрать наилучшую? Этими вопросами до сих пор задаются многие математики, но мы не будем углубляться в нюансы сейчас.
В качестве примера выше показаны две «линии наилучшего соответствия»: красная и зеленая. Обратите внимание: суммарная длина тонких зеленых линий гораздо больше таких же красных, что говорит о большей ошибке в предсказании положения точки в будущем.
Если Вы хотите использовать простую линейную регрессию, используйте класс LinearRegression библиотеки Scikit-learn. Импортируем его и NumPy:
Множественная линейная регрессия
Простая линейная регрессия полезна, когда вы хотите найти уравнение, которое представляет две переменные: переменную-предиктор (x) и целевую переменную (y). Но что если у Вас много предикторов? Цена автомобиля, вероятно, зависит от множества факторов, таких как мощность, размер автомобиля и стоимость бренда.
Тогда на сцену выходит множественная регрессия. Она используется для объяснения взаимосвязи между зависимой переменной и более чем одной независимой переменной. Вы наверняка уже встречали красочные графики с плоскостями, теперь давайте разберемся, как это работает:
Итак, мы импортировали все необходимое для работы с трехмерными графиками, теперь определим их внешний вид:
Теперь вгрузим игрушечный датасет и создадим специальную агрегирующую переменную data, которая будет собирать данные воедино и разъединять, когда требуется:
Теперь определим функцию-построитель:
И наконец построим плоскостный график множественной линейной регрессии:
Мы получили такую прелестную графику:
Итак, вы получили первое представление о линейной регрессии. Реальные данные зачастую демонстрируют нелинейные отношения между переменными, и тогда в игру вступает полиномиальная регрессия, об этом – в отдельной статье.
Ноутбук, не требующий дополнительной настройки на момент написания статьи, можно скачать здесь.
Больше интересных статей здесь: Новости науки и техники.
Источник статьи: Линейная регрессия доступно.