Обнаружение мошенничества с кредитными картами: практический проект

Откройте для себя:

  • Значение обнаружения мошенничества с кредитными картами
  • Введение в набор данных «Обнаружение мошенничества с кредитными картами» для проекта
  • Создание надежных моделей обнаружения мошенничества
  • Оценка производительности модели
  • Интерпретация и анализ результатов модели

💡Я пишу о машинном обучении на Средних || Гитхаб || Каггл || Линкедин. 🔔 Следите за Нхи Йен, чтобы быть в курсе будущих обновлений!

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

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

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

I. О наборе данных

Набор данных Обнаружение мошенничества с кредитными картами на Kaggle представляет собой сильно несбалансированный набор данных, который содержит транзакции, совершенные с помощью кредитных карт в сентябре 2013 года европейскими держателями карт. Набор данных включает в себя в общей сложности 284 807 транзакций, из которых только 492 являются мошенническими, что делает набор данных крайне несбалансированным. Набор данных включает 28 признаков, которые представляют собой числовые значения, полученные путем преобразования PCA для сохранения конфиденциальности конфиденциальной информации. Целью этого набора данных является создание модели, которая может точно обнаруживать мошеннические транзакции в режиме реального времени, чтобы предотвратить мошенническую деятельность и сократить убытки, понесенные держателями карт и банками. Этот набор данных широко использовался в исследованиях машинного обучения для оценки различных алгоритмов классификации и методов работы с несбалансированными наборами данных.

II. Исследовательский анализ данных

Теперь, когда данные доступны, давайте проверим столбцы Time, Amount и Class.

1 раз

Из графика видно, что функция «Время» имеет бимодальное распределение с двумя пиками, что указывает на наличие двух периодов в течение дня, когда транзакции по кредитным картам происходят чаще. Первый пик приходится на 50 000 секунд (примерно 14 часов), а второй пик приходится на 120 000 секунд (приблизительно 33 часа). Это говорит о том, что во времени транзакций по кредитным картам может существовать закономерность, которая может быть полезна для обнаружения мошенничества.

2. Сумма

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

3. Класс (Мошенничество | Немошенничество)

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

III. Обработка данных

Чтобы убедиться, что в данных нет существенной коллинеарности, использовалась тепловая карта.

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

  • Время и V3 с коэффициентом корреляции -0,42
  • Сумма и V2 с коэффициентом корреляции -0,53
  • Сумма и V4, с коэффициентом корреляции 0,4.

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

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

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

Чтобы помочь с классификацией, StandardScaler стандартизирует данные, присваивая им среднее значение 0 и стандартное отклонение 1, что приводит к нормальному распределению. Этот метод хорошо работает при работе с широким диапазоном сумм и времени. Чтобы масштабировать данные, обучающий набор используется для инициализации подгонки, а обучающие, проверочные и тестовые наборы затем масштабируются перед запуском их в модели.

Набор данных был разделен на 60 % для обучения, 20 % для проверки и 20 % для тестирования. Чтобы сбалансировать несбалансированный набор данных, была использована случайная неполная выборка для сопоставления количества мошеннических транзакций. Были использованы модели логистической регрессии и случайного леса, и были получены хорошие результаты.

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

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

P/S: блоги Тони Ю Логистическая регрессия и Случайный лес были полезными ресурсами для понимания того, как работает каждый из них.

V. Оценка модели

В этом разделе будут обсуждаться следующие показатели: точность, полнота, точность и оценка F1.

  • Точность — это доля правильных прогнозов, которые делает модель. Однако это может ввести в заблуждение для несбалансированных наборов данных.
  • Напомним, какой процент мошеннических транзакций модель правильно идентифицировала. В лучшей модели отзыв составляет 89,9%, что является хорошей отправной точкой.
  • Точность сообщает нам, какой процент предсказанных мошеннических транзакций был на самом деле мошенническим. В лучшей модели было зафиксировано 97,8% всех мошеннических транзакций, что является хорошим показателем.
  • F1 Score объединяет полноту и точность в одну метрику как средневзвешенное значение двух показателей с учетом ложноположительных и ложноотрицательных результатов. Это намного эффективнее, чем точность для несбалансированных классов.

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

1. Оценки ROC

ROC измеряет эффективность классификации при различных пороговых значениях. Более высокий показатель AUC (площадь под кривой) означает, что модель лучше прогнозирует мошенничество/немошенничество.



На графике показаны оценки AUC для логистической регрессии и случайного леса. Высокие баллы — это хорошо. Точки на кривой представляют пороги. Движение вправо фиксирует больше истинных положительных результатов, но также и больше ложных положительных результатов. Идеальные пороговые значения — 0,842 для логистической регрессии и 0,421 для случайного леса. При этих пороговых значениях мы фиксируем оптимальное количество мошеннических транзакций, сохраняя при этом низкий уровень ложных срабатываний. Матрица путаницы может визуализировать эффекты каждой модели.

2. Матрица путаницы — логистическая регрессия

Модель зафиксировала 88 из 98 мошеннических транзакций и пометила 1678 обычных транзакций как мошеннические, используя пороговое значение 0,842 в тестовом наборе вне выборки. Это похоже на ситуации, когда банк отправляет текст подтверждения после использования карты в другом состоянии без предварительного уведомления.

3. Матрица путаницы — случайный лес

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

Заключение

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

Рекомендации

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

👏 Дайте статье 50 хлопков

💻 Следуй за мной

📚 Читать больше статей на Медиуме

🔗 Подключайтесь в социальных сетях Github| Линкедин| Каггл

#CreditCardFraudDetection #DataScience #MachineLearning #FraudPrevention #DataAnalysis