Начнем с того,
ЧТО ТАКОЕ ОТМЫВАНИЕ ДЕНЕГ?
Отмывание денег - это незаконный процесс сокрытия «грязных денег» и их передачи через сложную последовательность банковских переводов или коммерческих транзакций, чтобы перевод выглядел законным.
С целью отделения незаконных средств от незаконных источников деньги сначала вводятся в финансовые системы.
Затем деньги переводятся на несколько уровней, чтобы затруднить отслеживание маршрута к источнику.
Чистые деньги после расслоения используются для инвестирования в законные активы-ИНТЕГРАЦИЯ
Обнаружение 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)