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

Однажды я только что получил контракт с компанией электронной коммерции, базирующейся в Нью-Йорке, которая продает одежду в Интернете, но у них также есть советы по стилю и одежде в магазине. Покупатели приходят в магазин, проводят сеансы/встречи с личным стилистом, затем они могут пойти домой и заказать через мобильное приложение или веб-сайт ту одежду, которую они хотят.

Компания пытается решить, сосредоточить ли свои усилия на своем мобильном приложении или на своем веб-сайте. Они наняли меня по контракту, чтобы помочь им разобраться! Итак, я решил использовать моделирование машинного обучения с методом линейной регрессии, чтобы понять эту проблему.

Во-первых, мне нужны данные для этой работы. Я получил CSV-файл электронной коммерции от компании. В нем есть информация о клиенте, такая как адрес электронной почты, адрес и цвет аватара. Затем он также имеет столбцы числовых значений.

  • Сред. Продолжительность сеанса: средний сеанс сеансов консультирования по стилю в магазине.
  • Время в приложении: среднее время, проведенное в приложении, в минутах.
  • Время на веб-сайте: среднее время, проведенное на веб-сайте в минутах.
  • Продолжительность членства: сколько лет клиент является участником.

Поместив данные CSV во фрейм данных «клиенты», я проверил чистоту данных. Я не обнаружил никаких аномалий (например, нулевой ячейки), поэтому мы можем продолжить исследование и анализ данных.

Я использую Seaborn для создания совместного графика для сравнения столбцов «Время на веб-сайте» и «Потраченная сумма за год». Затем сравните столбцы «Время в приложении» и «Сумма потраченных средств за год».

Теперь я использую Seaborn Jointplot для создания 2D-графика с шестигранными бинами, сравнивая время в приложении и продолжительность членства.

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

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

Теперь, когда я немного изучил данные, давайте продолжим и разделим данные на наборы для обучения и тестирования. Я установил переменную «X», равную числовым характеристикам клиентов, и переменную «Y», равную столбцу «Потраченная сумма за год».

Я использую model_selection.train_test_split из библиотеки SKLearn, чтобы разделить данные на наборы для обучения и тестирования. Я установил test_size=0.3 и random_state=101. Это означает, что я разделил существующий набор данных на 70% для обучения данных и 30% для проверки данных.

Теперь пришло время обучить нашу модель на наших обучающих данных. Мне нужно импортировать LinearRegression из библиотеки SKLearn.linear_model. Затем создайте экземпляр модели LinearRegression() с именем lm. Тренируйтесь/подбирайте lm на тренировочных данных. Распечатайте коэффициенты модели.

Теперь, когда мы подогнали нашу модель, давайте оценим ее производительность, спрогнозировав тестовые значения. Я использую lm.predict() для прогнозирования набора данных X_test. Затем давайте посмотрим на результат реальных тестовых значений по сравнению с прогнозируемыми значениями, создав диаграмму рассеяния.

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

И вот что я предлагаю компании электронной коммерции:

Мы видим, что длина членства имеет максимальное значение коэффициента. Это означает, что это самая важная переменная для получения высокой годовой суммы, потраченной клиентом. Посмотрим другое значение коэффициента. Время в приложении имеет большую ценность, чем время на сайте. Это указывает на то, что мы должны сосредоточить наши усилия на мобильном приложении, а не на разработке веб-сайта.
Мы должны сделать хороший пользовательский интерфейс/UX в мобильном приложении, чтобы клиент чувствовал себя комфортно во время своего пребывания в приложении. Это приведет к увеличению продолжительности членства и будет преобразовано в лучшую годовую сумму, потраченную клиентом.

Вы можете увидеть полный скрипт Python на моем GitHub.

Спасибо.
Увидимся в другом исследовании данных.

BR,
Эрвиндра Русли,
специалист по обработке и анализу данных, студентка школы Пурвадхика.