С тех пор, как я начал работать с проектами по науке о данных, я обнаружил, что разделение каждого решения проблемы на хронограмму шагов значительно упрощает решение всех проектов, так что в каждом проекте у меня уже может быть надежный план, которому я должен следовать. Это также известно как цикл CRISP-DM, что означает межотраслевой стандартный процесс интеллектуального анализа данных. Из книги «Наука о данных для бизнеса»:

Извлечение полезных знаний из данных для решения бизнес-задач можно систематически рассматривать, следуя процессу с достаточно четко определенными этапами. Межотраслевой стандартный процесс интеллектуального анализа данных, сокращенно CRISP-DM (Проект CRISPDM, 2000 г.), является одной из кодификаций этого процесса. Помня о таком процессе, мы создаем основу для структурирования нашего мышления о проблемах анализа данных.

В журнале Journal of Data Warehousing модель CRISP была впервые представлена ​​в статье «Модель CRISP-DM: новый план интеллектуального анализа данных». Как определено в тексте:

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

С тех пор многое произошло в области науки о данных. Например, сам термин «наука о данных» стал популярным, в отличие от «интеллектуального анализа данных», который так часто используется в названии самого метода: CRISP-DM. В настоящее время его можно было бы назвать «CRISP-DS». Но произошли и другие более существенные изменения, как, например, в количестве созданных и распространенных в практике решения задач науки о данных инструментов.

Это сделало осведомленность о многих деталях метода CRISP гораздо более выраженной, так что на веб-сайте, таком как Kaggle, мы можем найти тысячи открытых наборов данных с проектами и обсуждениями кодирования категориальных признаков, различных типов перекрестной проверки и того, как для разделения наборов данных на наборы поездов, наборы проверки и наборы тестов, проблемы смещения данных для несбалансированной классификации и так далее. Учитывая этот новый контекст, ниже я представлю шаги, которые считаю полезными при выполнении цикла CRISP.

  1. Контекст и планирование проблемы/решения

Проблемы науки о данных следует понимать в контексте бизнес-модели, которую вы пытаетесь улучшить. Бизнес-модели можно охарактеризовать как модели, в соответствии с которыми компания создает, доставляет или получает ценность для клиента. Наиболее распространенными бизнес-моделями, наиболее полезными для специалистов по обработке и анализу данных, являются:

  • Электронная коммерция: прибыль поступает от продажи товаров в Интернете.
  • Программное обеспечение как услуга (Saas): прибыль поступает от ежемесячных или ежегодных платежей по подписке за использование программного обеспечения.
  • Услуги: прибыль поступает от продажи проекта или услуги.
  • Мобильное приложение: прибыль поступает от покупок в приложении.
  • Медиа-сайт: прибыль может исходить от количества кликов или просмотров в данной рекламе, продвигаемой веб-сайтом.
  • Торговая площадка: прибыль поступает от комиссий, взимаемых с каждой транзакции, проводимой компанией.

Как только проблема будет определена в рамках одной из этих бизнес-моделей, следующая последовательность шагов может оказаться идеальной для планирования решения по науке о данных:

  • Определение окончательных решений и продуктов, которые могут полностью решить проблему, будь то модель машинного обучения, аналитический отчет или ETL для данной панели мониторинга и т. д.
  • Прохождение всей посреднической работы, необходимой для достижения решений.
  • Определение как необработанных данных, так и инструментов (языков программирования, приложений визуализации и т. д.), необходимых для выполнения работы.

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

2. Сбор данных, очистка и описательный анализ

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

  • определяется форма фрейма данных.
  • определены имена столбцов, которые могут нуждаться или не нуждаться в исправлениях.
  • количество пропущенных значений в каждом столбце (признаке), процент пропущенных значений по сравнению с общим количеством строк и характер этого отсутствия зарегистрированных значений. Понимание предмета и природы явления важно для того, чтобы иметь возможность иметь дело с этими ценностями и в конечном итоге исключить или восполнить их.
  • типы данных, содержащихся в каждом столбце, проверяются и исправляются.

3. Разработка функций

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

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

4. Фильтр

Размещение фильтра на этом этапе конвейера гарантирует, что при создании аналитических данных используется только ценная информация. Все доступные данные используются в описательном анализе и процессе разработки признаков. Большая часть фильтрации происходит путем «отбрасывания» (или исключения) строк с неважными данными.

5. ЭДА

Исследовательский анализ данных — это место, где набор данных становится видимым и легко представленным как для группы управления данными, так и для любой другой аудитории, которой может быть представлена ​​бизнес-проблема.

Основными задачами исследовательского анализа данных являются:

  • развить понимание бизнес-проблемы
  • генерировать и проверять новые идеи для бизнес-команды (принятие решений на основе данных)
  • оценить влияние признаков на данное явление

Чтобы оценить влияние каждого признака на явление, для всех признаков выполняется одномерный, двумерный и многомерный анализ. Одномерный анализ состоит из:

  • распределение данных
  • мин., макс. и диапазон
  • Q1 и Q3
  • Перекос и эксцесс

Двумерный анализ выполняется с учетом характера каждой функции, как указано ниже:

А многомерный анализ делается с корреляционной матрицей, как следующих типов:

  • Пирсон
  • Копьеносец
  • Крамер V

5. Подготовка данных

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

  • Нормализация: когда функция имеет распределение, близкое к распределению Гаусса, и ее центр масштабируется до 0, а стандартное отклонение масштабируется до 1.
  • Min-Max Scaler: распределение масштабируется в диапазоне от 0 до 1.
  • Надежный масштабатор: распределение между Q1 и Q3 масштабируется до диапазона от 0 до 1, что делает этот метод более устойчивым к влиянию выбросов.

Кроме того, категориальные признаки должны быть преобразованы в новый тип числового характера, который настраивает процесс кодирования. Согласно рассуждениям специалиста по данным, существует много типов кодирования категориальных признаков, и каждая ситуация может потребовать использования определенного типа в соответствии с рассуждениями специалиста по данным. Они есть:

  • Одно горячее кодирование (фиктивное кодирование)
  • Кодировка этикетки
  • Порядковое кодирование
  • Целевое кодирование
  • Частотное кодирование
  • Встраивание кодирования

И, наконец, для некоторых функций может потребоваться преобразование их природы, чтобы можно было более точно изучить закономерности данных, как в случае с некоторыми временными функциями, которые являются циклическими (недели, месяцы и т. д.). Типы преобразования природы, выполняемые при подготовке данных:

  • Логарифмическое преобразование
  • Преобразование Бокса-Кокса
  • Преобразование кубического корня
  • Преобразование квадратного корня
  • Синусно-косинусное преобразование

6. Выбор функции

В основе выбора признаков лежит «принцип бритвы Оккама». Принцип гласит, что самое простое объяснение данного явления должно превалировать над любым другим. Имея это в виду, типы выбора объектов, которые я часто применяю к набору данных, следующие:

  • Важность каждой функции определяется применением древовидного алгоритма ML, такого как Random Forest или Extra Trees.
  • Борута: фичи между собой не конкурируют. Вместо этого они конкурируют с рандомизированной их версией.

7. Модели машинного обучения

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

8. Оценка показателей

После того как выбраны лучшие алгоритмы (которых на этом этапе может быть больше одного), наступает время оценить производительность каждой модели в тестовом наборе. Метрики оценки меняются в зависимости от типа проблемы. Регрессию часто оценивают с помощью RSME. Классификация может варьировать свои показатели в зависимости от балансировки переменной ответа.

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

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

9. Тонкая настройка гиперпараметров

После нахождения наиболее эффективной модели пришло время настроить ее параметры, чтобы с ее помощью можно было добиться немного более высокой производительности. Каждый тип модели будет иметь свои параметры, например, для алгоритма «Случайный лес» это основные параметры, которые при правильной настройке могут привести к увеличению производительности:

  • max_features
  • n_оценщиков
  • Максимальная глубина
  • min_samples_split

Существует три стратегии исследования того, какая из этих комбинаций параметров укажет на наиболее подходящую модель:

  • Случайный поиск: набор параметров определяется случайным образом и проверяется таким образом, чтобы выбрать одну комбинацию с наилучшей производительностью. Это довольно быстрый процесс, но комбинации параметров, как правило, далеки от наиболее подходящих, поскольку количество комбинаций, как правило, невелико, а комбинация является случайной.
  • Поиск по сетке: из списка параметров, каждый из которых имеет диапазон значений, который, скорее всего, будет работать лучше всего, этот процесс создает список со всеми комбинациями параметров, и каждая комбинация тестируется, чтобы в конце выбрать тот, который имеет наилучшую производительность. .
  • Байесовский поиск: определите значения параметров в соответствии с байесовской теорией.

10. Бизнес-прогнозы

Теперь, когда модель готова создавать ценность внутри компании, пришло время использовать ее, моделируя ее предсказательную силу.

11. Развертывание модели

Развертывание модели — это последний шаг в цикле создания хрустящей корочки. Как видно из оригинальной статьи «Модель CRISP-DM: новый план интеллектуального анализа данных» (Journal of Data Warehousing, 2000):

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

Это шаг, который требует, чтобы специалист по обработке и анализу данных объединил весь процесс, предпринятый в цикле, для решения поставленной проблемы. Итак, теперь есть три основных шага, необходимых для запуска модели в производство. Эти:

  • создайте Handler_API.py для получения запроса от API
  • создать объект модели .
  • создать подготовку данных, содержащую все преобразования, наложенные на данные до обучения модели.

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