Представьте, что вы владелец сети гипермаркетов. Как продвинутый предприниматель вы, конечно, сохраняете данные обо всех закупках, списаниях, продажах и рекламных акциях. Но чтобы увеличивать прибыль, недостаточно просто накапливать информацию, нужно на её основе принимать решения.
В этом вам может помочь Data Mining. В переводе с английского mining — это добыча полезных ископаемых, когда вы среди тонн пустой породы пытаетесь найти ценную руду. Так что дословный перевод Data Mining — «добыча данных». На практике так и есть: у вас есть гигабайты сырых данных, в которых с помощью моделей машинного обучения вы ищете скрытые взаимосвязи.
Допустим, вы хотите понять, как рекламная акция повлияла не только на продажи конкретной позиции, но и на весь бизнес в целом. Ведь если продажи одного товара выросли, это еще не значит, что вы больше заработали. Возможно, из-за этого просели продажи более маржинальной позиции. Или, например, у клиентов, которых вы привлекли, низкий средний чек, и затраты на продвижение не окупились. Как раз в таких задачах и применяют Data Mining. Есть и другие сферы применения этого инструмента. Например, таргетированная реклама в интернете, анализ кредитоспособности клиентов, расчет рисков на производстве, ценообразование или предсказание болезней во многом опираются именно на поиск неочевидных связей.
Для использования Data Mining в бизнесе есть распространённая и проверенная на практике методология — CRISP-DM, межотраслевой стандартный процесс для исследования данных. Согласно этой методологии жизненный цикл исследования данных состоит из шести этапов: бизнес-анализ, анализ данных, подготовка данных, моделирование, оценка решения и внедрение. Давайте разберёмся, что происходит на каждом из них.
Первый этап — бизнес-анализ. Нужно сформулировать, какую задачу бизнеса мы решаем, какие у нас для этого есть ресурсы, какие модели машинного обучения мы будем использовать. Также установить метрики для принятия решения о внедрении модели. На этом этапе стоит оценить риски — понять, укладываемся ли мы в сроки, хватает ли нам данных, с какими проблемами мы можем столкнуться.
Второй этап — анализ данных. На этом шаге проверяют, какие есть источники информации. Что-то может быть закрыто от внешнего мира, например, храниться на серверах компании. Что-то нужно взять из открытых источников или, скажем, геоинформационных систем. Затем изучают и описывают структуру данных, проверяют их качество, считают статистики вроде средних величин. А еще визуализируют с помощью графиков, чтобы увидеть выбросы, аномалии и другие ошибки.На этом этапе можно уже сформулировать первые гипотезы о применимости тех или иных данных к решению задачи и возможном результате. Конечно, пока это только предположение, но полезное для процесса.
После анализа начинается этап подготовки данных. Исправляют огрехи, которые обнаружили на предыдущем этапе, дополняют недостающими данными, приводят к единому формату. Выбирают признаки, которые важны для задачи. Если какая-то информация бесполезна в рамках проекта, то её нужно убрать, чтобы не тратить ресурсы и не формировать ненужные связи. Возможно, какие-то признаки стоит преобразовать, чтобы избавится от большого количества схожих данных. Например, размер зарплаты клиента и сумму дивидендов, которые он получает, можно объединить в один признак — общий доход. Так делают не всегда: если их просто объединить, то может потеряться часть информации, например, о частоте дивидендных выплат. Но если она не важна для задачи, то ей можно пренебречь.
На этапе подготовки данные делят на две части: обучающую выборку и тестовую. Первую часть мы будем использовать, чтобы тренировать модель машинного обучения, а вторую — чтобы оценить качество ее работы.
Переходим к следующему этапу процесса — моделированию. Мы определяем один алгоритм или несколько алгоритмов машинного обучения, которые будем использовать. Выбор зависит от задачи, которую мы решаем, требований по сложности, а еще от количества и качества данных, которые мы нашли и подготовили. Процесс обучения идет итерациями: мы берем одну модель, тренируем на обучающей выборке, оцениваем ее точность, немного дорабатываем и повторяем процесс. И так пока не найдем оптимальные значения параметров, которые дают достаточно высокую точность. После этого обучаем другую модель, чтобы сравнить её по точности, а иногда и по скорости работы с первой.
Затем начинается этап оценки решения. Нужно ответить на вопрос: насколько хорошо модели, которые мы получили, решают исходную бизнес-задачу? Какая из моделей работает точнее и быстрее? Смогли ли мы найти новые знания в наших данных? Стоит также определить следующие шаги: как модель будет развиваться дальше? Чтобы наша система в будущем повышала точность предсказаний, она должна постоянно обучаться на новых данных, ведь изменения в них чаще всего происходят непрерывно. Модель попадает на стадию валидации. Независимые эксперты компании проверяют её, чтобы не допустить серьезных поломок существующих систем. Если всё в порядке, то модель начинают использовать в рабочих задачах.
Последняя фаза в процессе — внедрение. Специалисты настраивают мониторинг работы, чтобы контролировать, справляется ли алгоритм с изначальной задачей, сохраняется ли точность предсказаний при получении новых данных. Планируют техническую поддержку: если бизнес-процессы поменяются, то модель нужно будет адаптировать к изменениям. В самом конце готовят отчёт о проекте: какая была цель, что и как было сделано, каких результатов удалось достичь. Отчёт поможет переиспользовать модель: будет понятно, как работать с данными, сколько их нужно, какие алгоритмы использовали, какую точность удалось получить. Если возникнет похожая задача, не придётся создавать модель с нуля.
Находить неожиданные взаимосвязи с помощью Data Mining — это важно, но еще важнее уметь этим знанием грамотно распорядиться. Ведь, как заметил почти 200 лет назад Натан Ротшильд: «Кто владеет информацией, тот владеет миром».