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

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

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

Мы будем использовать пример с общедоступным набором данных, размещенным в BigQuery в https://cloud.google.com/bigquery/public-data/. Команда Google опубликовала набор данных с клиентами кредитных карт, чтобы предсказать дефолт кредитной карты. Они предоставляют оценку, установленную алгоритмом, и реальное значение (1/0) от значения по умолчанию. У клиентов с более высоким рейтингом будет больше шансов не выполнить свои обязательства.

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

А вот карта распределения реальной цели:

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

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

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

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

Почему модель переоснащается по этой переменной и не учитывает других опасных неплательщиков? Давайте посмотрим на эту конкретную переменную. Если мы отфильтруем в наборе данных тех клиентов, у которых более 0 в Pay_0, мы увидим, что целевая ставка возрастет до более чем 50%, а когда мы отфильтруем клиентов, у которых более 2 в этой переменной, она возрастет до 75%. .

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

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

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

Если вы хотите узнать больше, попросите нас демо.