Начнем с того,

ЧТО ТАКОЕ ОТМЫВАНИЕ ДЕНЕГ?

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

С целью отделения незаконных средств от незаконных источников деньги сначала вводятся в финансовые системы.

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

Чистые деньги после расслоения используются для инвестирования в законные активы-ИНТЕГРАЦИЯ

Обнаружение ML с помощью ML

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

Шаг 1: Импорт и предварительная обработка данных.

import pandas as pd
df2=pd.read_csv("/content/aml_data.csv")
#Dropping off the unnecessary fields
df2.drop('nameOrig', axis=1, inplace=True)
df2.drop('nameDest', axis=1, inplace=True)
df2.drop('isFlaggedFraud', axis=1, inplace=True)

Теперь фрейм данных будет выглядеть так:

#Making a list of the column 'isFraud'
y=df2['isFraud']
#Dropping of some more columns
df2.drop('isFraud', axis=1, inplace=True)
df2.drop('step', axis=1, inplace=True)
#Replacing the column values of 'type'
df2['type']=df2['type'].replace({'PAYMENT': 0, 'TRANSFER': 2,'CASH_OUT':3,'DEBIT':4})
#Check for null values
df2=df2.dropna()
X=np.array(df2)

Данные готовы к использованию! Теперь создадим и протестируем модели с обработанными данными.

from sklearn.model_selection import train_test_split
# Split data set into training and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y[0:314698], test_size=0.5, random_state=101)
from sklearn.linear_model import LogisticRegression
logmodel = LogisticRegression()
logmodel.fit(X_train, y_train)
from sklearn.linear_model import LinearSVC
svcmodel=LinearSVC()
svcmodel.fit(X_train,y_train)

Мы построили и обучили модели логистической регрессии и LinearSVC.

from sklearn.metrics import accuracy_score
y_pred=logmodel.predict(X_test)
print(accuracy_score(y_test,y_pred))
y_pred=svcmodel.predict(X_test)
print(accuracy_score(y_test,y_pred))

Мы могли наблюдать правильные и неправильные прогнозы в матрице путаницы.

from sklearn.metrics import confusion_matrix
cm=confusion_matrix(y_test, y_pred)