ВВЕДЕНИЕ

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

  • Понимание бизнеса
  • Понимание данных
  • Подготовка данных
  • Моделирование
  • Оценка
  • Развертывание для обратной связи

БИЗНЕС-ПОНИМАНИЕ

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

«В 2020 году эмитенты карт, продавцы и потребители по всему миру понесли валовые убытки от мошенничества в размере 28,58 млрд долларов США» (Николовска, 2022). Это показывает важность обнаружения мошенничества для компаний, так как это поможет выявить мошеннические транзакции до или во время их осуществления.

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

ПОНИМАНИЕ ДАННЫХ

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

  • ТРЕБОВАНИЯ К ДАННЫМ:

Набор данных был получен из транзакций по кредитным картам в Соединенных Штатах Америки. Данные выделяют несколько транзакций и то, были ли они мошенническими или нет.

  • Шаг
  • тип: Тип транзакции
  • Сумма: сумма отправленных или полученных денег.
  • nameOrig: Идентификационный номер исходной учетной записи.
  • oldbalanceOrg: Старый баланс исходной учетной записи.
  • newbalanceOrig: Новый баланс исходной учетной записи.
  • nameDest: номер учетной записи назначения
  • oldbalanceDest: старый баланс целевого счета
  • newbalanceDest: новый баланс целевого счета
  • isFraud: Если транзакция была мошеннической

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

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

ПОДГОТОВКА ДАННЫХ

Чтобы получить наилучшие результаты для модели, набор данных необходимо подготовить (т. е. очистить и обработать) перед обучением и тестированием. Набор данных был получен от Kaggle. Для начала я импортировал некоторые библиотеки и алгоритмы:

Затем набор данных был импортирован с использованием этого кода:

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

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

Прежде чем использовать какой-либо столбец в качестве функции для модели, тип данных столбца должен быть либо int64, либо float64. Это облегчает интерпретацию данных. Чтобы изменить категориальные (объектные) типы данных, необходимо использовать функцию labelEncoder.

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

Наконец, была выбрана целевая переменная:

МОДЕЛИРОВАНИЕ

Чтобы построить модель машинного обучения, я разделил свой набор данных на две части, называемые тестом и обучением:

Деление производилось в соотношении 70:30. Данные обучения получают 70% набора данных, а данные тестирования — оставшиеся 30%.

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

  • Обеспечивает высочайшую точность
  • Он очень хорошо обрабатывает большие данные
  • Он может автоматически балансировать наборы данных

ОЦЕНКА

Результаты для модели пришли с оценкой точности в диапазоне от 99,8% до 99,9%. Мне это показалось странным, поэтому я поместил результаты классификатора случайного леса в матрицу путаницы для анализа.

Затем я проверил подсчет значений, чтобы увидеть, что матрица считает истинным положительным результатом:

В приведенной выше таблице показано, что модель показала, что, когда транзакция была предсказана как мошенничество, но оказалась «не мошенничеством», она получила истинно положительный результат. Это означает, что модель считает каждую немошенническую транзакцию успешной транзакцией. Благодаря этому модель имеет общую точность 0,99, что означает низкий уровень неправильных прогнозов (30438 + 13 из 30438 + 8 + 25 +13 = 0,99).

РАЗВЕРТЫВАНИЕ И ОБРАТНАЯ СВЯЗЬ

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

ИСПОЛЬЗОВАННАЯ ЛИТЕРАТУРА