Введение

Наука о данных используется во все большем количестве областей и различных отраслей для увеличения ценности. Хотя варианты использования и вопросы могут сильно различаться в зависимости от отрасли, существует общий процесс, так называемый процесс CRISP-DM, который представляет собой подход к ответам на вопросы на основе данных. CRISP-DM означает Межотраслевой стандартный процесс интеллектуального анализа данных, см. Эту статью в Википедии для получения дополнительных сведений. В этом блоге мы проиллюстрируем процесс CRISP-DM и применим его к проблеме прогнозирования цен на автомобили на основе определенных характеристик автомобилей, например лошадиные силы, миля на галлон (миль на галлон) и т. д.

CRISP-DM

Процесс CRISP-DM состоит из нескольких шагов, которые кратко представлены на рисунке ниже:

  • Деловое понимание: процесс начинается с делового понимания. На этом этапе мы определяем, какую проблему мы хотим решить или на какие вопросы хотим ответить.
  • Понимание данных: второй шаг касается данных, которые следует использовать для поддержки решения бизнес-проблемы. Эти данные необходимо собрать и понять их значение. Например, если данные хранятся в таблице, необходимо знать точное значение каждого столбца. Понимание данных может привести к необходимости вернуться к первому шагу, то есть пониманию бизнеса.
  • Подготовка данных: на этом этапе данные подготавливаются для следующего шага, то есть моделирования данных. Подготовка данных включает, например, стратегию работы с отсутствующими значениями. В общем, данные обычно не так чисты, как можно было бы ожидать. Но поскольку данные низкого качества могут привести к неправильным ответам на бизнес-вопросы, этап подготовки данных включает также очистку данных.
  • Моделирование. Этот шаг - один из основных, на котором пытаются найти модель, описывающую данные. С точки зрения нашей бизнес-задачи прогнозирования цены автомобиля на основе его характеристик, modellig означает поиск функции, которая сопоставляет характеристики автомобиля с его ценой. Возможно, на этапе моделирования потребуется вернуться к этапу подготовки данных (например, если на этапе моделирования мы осознаем, что данные еще не были в достаточной степени очищены).
  • Оценка. После того, как модель построена, нам нужно проверить, насколько хороша ее производительность. Это делается на этапе оценки. Например, мы могли бы спрогнозировать цены на автомобили на основе модели, для которой нам известны реальные цены, и сравнить, насколько близки прогнозируемые значения к фактическим.
  • Развертывание. На последнем этапе, если мы удовлетворены производительностью модели, нам нужно запустить ее в производство. Для примера прогнозирования цены на автомобиль это может означать, что мы создаем приложение, которое позволяет вводить определенные характеристики автомобиля в форму и возвращает прогноз цены пользователю.

Пример пошагового руководства CRISP-DM для цен на автомобили

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

Деловая проблема

Как упоминалось выше, процесс CRISP-DM начинается с понимания бизнес-проблемы. Представьте, например, продавца подержанных автомобилей, которому нужно оценить, какой может быть цена на подержанный автомобиль. Автосалон может быть заинтересован в прогнозировании цены автомобиля на основе его характеристик. Точнее, мы постараемся ответить на следующие 3 бизнес-вопроса:

  • Связана ли цена автомобиля с мощностью?
  • Связана ли цена ухода с длиной автомобиля?
  • Можно ли с разумной точностью спрогнозировать цену автомобиля на основе его характеристик?

Анализ и подготовка данных

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

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

Моделирование

Чтобы создать модель для прогнозирования цены на основе других характеристик, мы используем алгоритм k-ближайших соседей (kNN). Идея kNN проста: учитывая характеристики автомобиля (например, мощность в лошадиных силах и расход топлива в городе), для которых мы не знаем цены, мы ищем в наборе данных те k автомобилей, которые имеют наиболее похожие значения. этих функций и за которые мы знаем цену. На основе этих k цен мы можем сделать прогноз, например, взяв среднее значение k цен. Более подробную информацию о kNN можно найти здесь.

Оценка

Чтобы оценить производительность модели kNN, мы используем показатель, называемый r2-score. Показатель r2 - это доля дисперсии целевой переменной (которая является ценой в нашем примере), которая предсказуема на основе переменных характеристик (например, лошадиных сил и городских миль на галлон). Показатель r2 - это число от 0 до 1 (или от 0% до 100%). Чем ближе оценка r2 к 1, тем лучше модель. Более подробную информацию о r2-score можно найти здесь.

Чтобы ответить на первые два бизнес-вопроса, мы создаем модель, которая нацелена на прогнозирование цены с использованием только одной функции (нас особенно интересуют характеристики мощности и длины, поскольку они относятся к первым бизнес-вопросам) и оцениваем соответствующий r2- оценки. Вот список результатов:

Мы видим, что показатель мощности в лошадиных силах составляет 76%, что указывает на то, что эти характеристики играют роль в прогнозировании цены автомобиля. Длина, с другой стороны, не играет такой большой роли в объяснении цены, но
она все еще находится в верхней половине функций, которые заказываются вместе с. r2-счет.

Заключение

Вернемся к бизнес-вопросам. Начнем с первого:

  • Связана ли цена автомобиля с мощностью?

Основываясь на приведенной выше таблице «Характеристики с оценкой r2», мы видим, что мощность в лошадиных силах имеет наивысший показатель r2 (76%) среди всех рассмотренных функций. Следовательно, это окончательно связано с ценой. Кроме того, корреляция между ценой и мощностью в лошадиных силах составляет 81%, что также указывает на четкую взаимосвязь. Следующая диаграмма рассеяния также отображает взаимосвязь:

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

Теперь рассмотрим второй вопрос:

  • Связана ли цена ухода с длиной автомобиля?

Если мы посмотрим на таблицу «Характеристики с оценкой r2», мы увидим, что длина не входит в пятерку лучших характеристик. Тем не менее, человеческая корреляция между ценой и длиной составляет 69%. Это указывает на то, что длина также дает намек на то, в каком ценовом диапазоне может находиться автомобиль. Кроме того, точки на следующей диаграмме рассеяния не распределены случайным образом:

В целом, мы пришли к выводу, что существует также взаимосвязь между ценой и длиной, хотя она не такая сильная, как взаимосвязь между ценой и мощностью.

Давайте теперь рассмотрим последний вопрос:

  • Можно ли с достаточной точностью спрогнозировать цену автомобиля на основе его атрибута?

Чтобы ответить на последний бизнес-вопрос, мы построим модель, в которой используется более одной функции. Далее оптимизируем модель по w.r.t. k-значение (т.е. сколько соседей следует использовать для определения цены?). Анализ (см. Репозиторий GitHub, упомянутый выше) показывает, что лучшая модель для прогнозирования цен на автомобили, которую мы смогли найти, - это kNN-модель с k = 4, в которой используются только две характеристики: мощность в лошадиных силах и расход топлива на шоссе. Имея оценку r2 в 85%, мы уверены, что дадим положительный ответ на последний бизнес-вопрос, т. Е. Мы считаем, что можем с разумной точностью спрогнозировать стоимость лечения на основе его характеристик.