В этом посте мы увидим наиболее распространенную технику машинного обучения и способы ее применения с простым способом решения проблем.
Предположим, вы были наняты крупной компанией электронной коммерции, чтобы помочь им решить, нужно ли вам для увеличения вашей прибыли уделять больше внимания вашему приложению или вашему веб-сайту.
Они предоставили вам базу данных с информацией о своих потребителях, и теперь вам нужно узнать, как вы можете решить их вопрос, используя свои навыки в машинном обучении.
Давайте начнем!
Предупреждение: я взял данные с этого курса Udemy, эти данные ненастоящие!
Ознакомление с набором данных
После использования Pandas для загрузки нашего набора данных мы можем взглянуть на заголовок нашего набора данных.
Наш набор данных выглядит так:
Теперь мы можем видеть типы данных, которые присутствуют в нашем наборе данных, и мы можем изучить их, чтобы найти лучший подход к машинному обучению для решения нашей проблемы.
Обнаружение лучшего подхода к машинному обучению
Легко понять, можем ли мы использовать подход линейной регрессии или нет, нам просто нужно построить наши данные и найти корреляцию между X и Y.
Помните, что компания, занимающаяся электронной торговлей, хочет знать, нужно ли ей сосредоточиться на своем веб-сайте или приложении, чтобы увеличить свой доход, поэтому нашим Y будет «Годовая сумма, потраченная».
Теперь нам нужно найти X. В линейной регрессии X представляет собой переменную, которая напрямую влияет на результат Y, тем самым устанавливая линейную регрессию между X и Y.
Для этой задачи мы можем найти X эмпирически. Но сначала нам нужно собрать всю возможную информацию, которая может нам помочь.
Теперь нам нужно найти корреляцию между некоторым значением X и «Суммой расходов за год».
Мы можем увидеть эту корреляцию в «Длительности членства», как на изображении ниже:
Мы можем построить график линейной регрессии, чтобы лучше визуализировать эту корреляцию:
Теперь мы обнаружили корреляцию и можем применить линейную регрессию!
Применение линейной регрессии
В основном линейная регрессия возобновляется в формуле ниже:
Я напишу пост о теории линейной регрессии, не волнуйтесь.
А пока вам просто нужно понять концепцию, лежащую в основе. Помните, что для этой задачи мы хотим предсказать, что увеличит доход компании электронной коммерции.
Мы обнаружили, что "Срок членства" коррелирует с "Суммой расходов за год", это наши Х и Y.
Теперь, основываясь на этой информации, нам нужно предсказать, что увеличит доход, веб-сайт или приложение.
Продолжая, давайте применим линейную регрессию!
Чтобы построить модель и легко применить линейную регрессию, мы можем использовать scikit-learn.
Построение нашей модели
Прежде чем построить нашу модель, нам нужно выбрать данные, которые мы будем использовать для ввода в нее.
Когда мы говорим о моделях машинного обучения, универсальным языком для общения с ними является наша любимая математика!
Таким образом, мы можем удалить все столбцы, в которых у нас есть строки в нашем наборе данных, такие как: "Электронная почта", "Адрес" и "Аватар". Это абсолютно не имеет значения для нашей модели!
Теперь нам нужно разделить наши данные на обучить и протестировать, для этого мы также можем использовать scikit-learn.
Это небольшой набор данных, у нас всего 5000 примеров!
В этом случае я разделил 90% на обучение и 10% на тестирование, но вы можете протестировать множество способов и найти лучший подход ;)
К моему удивлению, модель работала лучше, используя 70% для обучения, LOL!
После разделения нашего набора данных на Train и Test мы можем подогнать нашу модель, передав X и Y из Train.
Визуализация результатов
После обучения нашей модели мы можем делать прогнозы в наших тестовых данных, а затем отображать прогнозы и реальный результат, чтобы сравнить, как работает наша модель.
Теперь рекомендуется визуализировать наши ошибки:
Помните, что это не настоящие данные, поэтому у нас очень мало примеров для ввода в нашу модель, и это напрямую влияет на производительность!
Но теперь нам нужно ответить на главный вопрос этой работы, не так ли?
Ответ на основной вопрос
Чтобы ответить на главный вопрос, нам достаточно визуализировать коэффициенты нашей модели.
Как на изображении ниже:
Но ища эти данные, что мы можем интерпретировать о нем?
Это объяснение было взято из этого курса Udemy:
- Если оставить все остальные переменные неизменными, увеличение среднего времени использования на 1 единицу связано с увеличением общей потраченной суммы на 25,98 долларов США.
- При сохранении всех остальных переменных постоянными увеличение на 1 единицу времени, затраченного на приложение, связано с увеличением общей суммы потраченных средств на 38,59 долларов США.
- Если оставить все остальные переменные неизменными, увеличение времени на сайте на 1 единицу связано с увеличением на 0,19 доллара США в долларах.
- Если оставить все остальные переменные неизменными, увеличение времени членства на 1 единицу связано с увеличением на 61,27 доллара в долларах.
Итак, компании, занимающейся электронной торговлей, нужно сосредоточиться на своем приложении!
На сегодня это все, любые вопросы или соображения по поводу этого поста, не стесняйтесь комментировать ниже, я сделаю все, чтобы ответить вам как можно скорее!
Вы можете найти полные файлы из этого проекта в здесь.
Увидимся в следующий раз!
Мои социальные сети:
Linkedin:https://www.linkedin.com/in/gabriel-mayer-779b5a162/
GitHub: https://github.com/gabrielmayers
Instagram: https://www.instagram.com/gabrielmayerl/