В этом посте цель состоит в том, чтобы построить модель прогнозирования с использованием простой линейной регрессии и случайного леса в Python. Набор данных доступен на Kaggle, а мои коды - в моей учетной записи Github.

Давайте приступим к пониманию набора данных.

Обнаружение и визуализация данных

В этом наборе данных есть 3 категориальных функции: Электронная почта, Адрес и Аватар; 5 числовых функций Сред. Продолжительность сеанса, время в приложении, время на веб-сайте, продолжительность членства и потраченная годовая сумма. А экземпляров 500. Это мало, но идеально подходит для новичков.

Вот сводка статистики по столбцам.

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

Поиск корреляций

Давайте посмотрим, насколько «Годовая сумма расходов» коррелирует с другими атрибутами.

Атрибут «Продолжительность членства», кажется, больше всего коррелирует с «Ежегодно потраченными суммами». А «Годовые затраты на сумму» отрицательно коррелируют со «Время на веб-сайте». Таким образом, это показывает, что клиенты, которые остаются на сайте дольше, тратят меньше денег.

Давайте проверим корреляцию с помощью матрицы разброса.

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

Красные точки представляют большую сумму потраченных средств, синие - меньшую сумму, ширина точек представляет собой продолжительность членства. Когда ширина точек увеличивается, это означает, что длина членства больше. (Умножение на 10 не имеет значения, точки на графике только увеличиваются.) На рисунке 5 показано, что покупатель, использующий приложение, тратит больше денег. А давние участники могут быть истолкованы так, что они предпочитают использовать приложение.

Линейная регрессия

Линейная регрессия - это метод обучения с учителем. Регрессия - это процесс прогнозирования непрерывного значения. Это делается путем обучения модели, и модель предсказывает будущие экземпляры, используя ранее помеченные данные. X представляет независимые переменные, y представляет зависимую переменную, она также называется целевой, и эту переменную будет пытаться предсказать.

Ключевым моментом регрессии является то, что зависимое значение должно быть непрерывным.

Формула линейной регрессии:

Theta0 и theta1 также являются коэффициентами линейного уравнения, y hat - прогнозируемая переменная.

Обучите модель

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

Я определил значения X и y. Я выбрал только числовые атрибуты для X.

Вот результат оценки модели:

Эти коэффициенты относятся к этим характеристикам соответственно Avg. Продолжительность сеанса, время в приложении, время на веб-сайте, продолжительность членства - вот что мы определяем X.

R-квадрат показывает, насколько удалены данные от линии соответствия. Наилучшая возможная оценка - 1. Близость значения r-квадрата к 1 указывает на пригодность модели. Для нашей модели это 0,986.

RMSE измеряет расстояние между вектором прогноза и вектором целевых значений. Для нашей модели это 9,755.

Случайный лес

Давайте оценим модель с помощью регрессии случайного леса.

Линейная регрессия дала лучшие результаты для этого набора данных.

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

  1. Герон, А., 2019. Практическое машинное обучение с помощью Scikit-Learn, Keras и Tensorflow. О’Рейли.
  2. Https://scikit-learn.org/stable/
  3. Когнитивный класс: ML0101ENv3

Пожалуйста, не стесняйтесь оставлять отзывы.

Спасибо за чтение.