Обнаружение мошенничества на платформе арендной платы Housing.com с помощью машинного обучения

Обзор

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

В конце концов, вы можете проверить реальное приложение на платформе Rent pay на Housing.com.

Обзор проблемы:

Мошенничество с кредитными картами — известная проблема, когда мошенник каким-то образом получает доступ к данным карты и пытается их использовать.

Подход к решению:

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

Теперь давайте пройдемся по каждому этапу схемы CRISP-DM и посмотрим, как мы применили эту схему для решения нашей проблемы.

  1. Понимание бизнеса/понимание проблем

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

вы должны начать с 3 вопросов ЧТО, КАК, ПОЧЕМУ.

ПОЧЕМУ?

Почему мы это решаем. Воздействие проблемы.

ЧТО?

Чего хотел бизнес. Деловые ожидания

КАК?

Как вы собираетесь решать эту проблему. Краткий план.

Здесь очень важна документация всех требований.

2. Понимание и исследование данных

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

Некоторые ключевые моменты, связанные с пониманием данных:

  • Сбор данных о наземной истине.
  • Актуальность данных
  • Качество данных.
  • Количество данных.

После части понимания данных мы переходим к исследованию данных.

Исследование данных — очень важный шаг. Некоторые ключевые моменты исследования данных

  • Проверка распределения данных.
  • Проверка типов данных каждого столбца
  • Проверка наличия пропущенных значений в данных.
  • Важная корреляция данных относительно выходной переменной.
  • Корреляция между каждой парой точек данных.
  • EDA всех важных столбцов данных.

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

EDA некоторых важных параметров

Дневной анализ

Здесь мы пытаемся увидеть, в какой именно день мошенничество случалось чаще.

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

Анализ времени

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

Более 50 % случаев мошенничества происходит с 13:00 до 17:00.

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

Мы также провели сравнительный EDA между мошенничеством и отсутствием мошенничества, который помогает нам выбрать функции для нашей модели машинного обучения.

Анализ местоположения.

Здесь мы пытаемся выяснить местонахождение мошенника по его IP-адресу.

Большинство мошенников действуют из Дели, за ними следует Бихар.

Выше приведены несколько графиков EDA, кроме того, мы выполнили EDA по многим другим параметрам.

Теперь, согласно Crisp-DM, следующим важным шагом является Подготовка данных, Разработка признаков.

3. Подготовка данных/разработка признаков

При подготовке данных мы объединили все важные параметры в единый фрейм данных.

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

В нашем случае мы использовали такие функции, как местоположение, время, сумма, платформа (мобильное приложение, веб-приложение и т. д.) и т. д. Созданы некоторые дополнительные функции, такие как количество попыток за последние 30 дней и т. д.

Теперь, после подготовки данных, мы перешли к части моделирования.

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

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

Поэтому, прежде чем передавать данные алгоритму ML,

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

Мы опробовали множество алгоритмов машинного обучения, таких как логистическая регрессия, SVM, LightGBM и т. д., но в нашем случае классификатор XGBoost превосходит все остальные алгоритмы машинного обучения.

5. Метрика оценки

Эта проблема относится к проблеме несбалансированной классификации данных. Мы не можем полагаться на точность

Для задач класса дисбаланса используются Precision, Recall и F1 Scores.

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

Итак, у нас есть оценка F0,5 для оценки нашей модели.

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

Если вы не удовлетворены производительностью модели, вы должны снова начать с бизнес-понимания, чтобы проверить возможную причину низкой производительности.

5. Развертывание

Существуют различные стратегии развертывания моделей машинного обучения в рабочей среде.

Большинство моделей ML развертываются как Restful API для обслуживания запросов в реальном времени или в режиме пакетного прогнозирования.

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

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

Платформа для оплаты аренды

Платформа арендной платы позволяет арендатору переводить арендную плату непосредственно со своей кредитной карты на банковский счет владельца, используя свой адрес UPI или банковские реквизиты с комиссией в размере 1%.

Если вы еще не использовали его. Попробуйте



Ссылки