Просто се насладете на процеса и създайте няколко стъпки, за да направите нашия проект по-лесен за разбиране

Някои коментари: бъдете внимателни, аз също ще ви проверя, дали сте измамник или може би измамник, имам нужда от по-точна вероятност, за да бъда силна наука за данни, така че внимавайте)))), е просто шега :-)……

Компаниите за кредитни карти трябва да разпознават измамни транзакции с кредитни карти, така че клиентите да не бъдат таксувани за артикули, които не са закупили. Измамите с кредитни карти са очарователна тема за специалистите по данни поради огромните набори от данни, реалните и скъпи бизнес последици и потенциала за решаване на значителни бизнес проблеми, които спестяват милиони и милиони долари/паунди/евро/пари.

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

За този проект ще използвате донякъде деидентифициран набор от данни за транзакции с кредитни карти в Европа. Наборът от данни съдържа транзакции, извършени с кредитни карти през септември 2013 г. от европейски картодържатели. Този набор от данни представя транзакции, извършени за два дни, където имаме 492 измами от 284 807 транзакции. Наборът от данни е силно небалансиран. Положителният клас (измамите) представлява 0,172% от всички транзакции.

Той съдържа само цифрови входни променливи, които са резултат от PCA трансформация. За съжаление не можем да предоставим оригиналните функции и повече основна информация за данните поради проблеми с поверителността. Характеристики V1, V2, … V28 са основните компоненти, получени с PCA. Единствените функции, които не са трансформирани с PCA, са „Време“ и „Сума“. Функцията „Време“ съдържа секундите, изминали между всяка транзакция и първата транзакция в набора от данни. Функцията „Сума“ е сумата на транзакцията; например зависимо от разходите обучение. Функцията „Клас“ е променливата за отговор и приема стойност 1 в случай на измама и 0 в противен случай.

Стъпки на моя проект:

1: Манипулиране на данни

2: Анализ на данни

3: Машинно обучение, харесвам тази част, така че браво към проекта

Спри, имам въпрос! КАКВО Е ОТКРИВАНЕ НА ИЗМАМИ??? Каква е целта на това???

Откриването на измами се отнася до процеса на идентифициране и предотвратяване на измамни дейности или поведения в различни области, като финансови транзакции, онлайн дейности, застрахователни искове, здравеопазване и др. Основната цел на откриването на измами е да открие и смекчи измамното поведение, за да минимизира финансовите загуби, да защити лица или организации и да поддържа доверие в системата или индустрията.

Измамата може да приеме много форми, включително кражба на самоличност, измама с кредитна карта, застрахователна измама, пране на пари, фишинг измами и др. Системите за откриване на измами обикновено използват усъвършенствани технологии, анализ на данни и алгоритми за машинно обучение, за да анализират модели, аномалии и подозрителни дейности в големи набори от данни, за да идентифицират потенциална измама.

И някои методи също :)

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

  1. Системи, базирани на правила: Тези системи използват предварително дефинирани правила и прагове, за да маркират транзакции или дейности, които отговарят на определени критерии. Например, ако транзакция с кредитна карта надвиши определена сума или се случи в държава, различна от обичайната, това може да задейства предупреждение за по-нататъшно разследване.
  2. Откриване на аномалии: Този подход се фокусира върху идентифицирането на извънредни стойности или отклонения от нормалните модели на поведение. Алгоритмите за машинно обучение могат да бъдат обучени на исторически данни, за да научат какво се счита за нормално и след това да открият всякакви необичайни или неочаквани модели, които могат да показват измамна дейност.
  3. Контролирано машинно обучение: Този метод включва обучение на модел на машинно обучение върху етикетирани набори от данни, където случаите на измама и случаите, които не са измама, са изрично идентифицирани. Моделът се научава да разпознава модели и да класифицира новите екземпляри като измамни или законни въз основа на предоставените функции.
  4. Неконтролирано машинно обучение: При този подход алгоритъмът се учи от немаркирани данни, търсейки скрити модели или аномалии. Може да бъде полезно, когато има ограничени налични етикетирани данни. Алгоритъмът идентифицира клъстери или необичайни модели, които могат да показват измама.
  5. Мрежов анализ: Тази техника се фокусира върху анализирането на взаимоотношения и връзки между обекти, като клиенти, акаунти или IP адреси. Чрез разбирането на мрежата от взаимоотношения става възможно откриването на подозрителни дейности, като измамни групи или организирани измамни схеми.
  6. Извличане на текст и обработка на естествен език (NLP): Тези техники анализират текстови данни, като имейли, чат регистрационни файлове или застрахователни искове, за да идентифицират модели, ключови думи или настроения, които могат да показват измамно поведение или намерение.

Сега използваме алгоритми за контролирано обучение...

Ще ни е необходима известна подкрепа, за да помогнем на нашия проект :), имам предвид модули...

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
from sklearn.ensemble import RandomForestClassifier
from imblearn.over_sampling import SMOTE
from sklearn.metrics import accuracy_score, mean_squared_error
from sklearn.model_selection import RandomizedSearchCV
from sklearn.model_selection import train_test_split
import tensorflow as tf
from tensorflow import keras
from keras.models import Sequential

Стъпка 1: Манипулиране на данни

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

Използваме по-начинаещ начин за манипулиране, почистваме или премахваме ненужни редове с данни

data = pd.read_csv("my_paypal_creditcard.csv")
data.head(10)
data.dropna(inplace=True)

тук можете да видите, не толкова интересни щабове, Както и да е напред към проекта по-скучен))), просто се шегувайте, продължете...

Стъпка 2: Визуализация на данни

Визуализацията на данни играе решаваща роля в откриването на измами на платформи като PayPal, като предоставя интуитивни и информативни представяния на сложни данни, модели и аномалии. Ето някои ключови аспекти на визуализацията на данни за откриване на измами в PayPal:

  1. Визуализация на транзакция: Визуализирането на данни за транзакция може да помогне за идентифициране на подозрителни модели и аномалии. Това може да включва изобразяване на транзакции във времето, географско картографиране на местоположенията на транзакции или представяне на суми на транзакции чрез диаграми или хистограми. Тези визуализации могат да помогнат за откриване на необичайни пикове, необичайни модели на транзакции или географски непоследователни дейности, които могат да показват измамно поведение.
  2. Визуализация на поведението на потребителя: Визуализирането на данни за поведението на потребителя може да помогне за разбирането на нормални и необичайни потребителски дейности. Това може да включва визуализиране на модели за влизане на потребители, история на транзакциите или използване на устройството. Чрез сравняване на поведението на потребителя с установени базови линии или партньорски групи, визуализациите могат да подчертаят отклонения или аномалии, които могат да показват измамен достъп до акаунт или компрометирани потребителски идентификационни данни.
  3. Анализ на мрежата: Визуализирането на взаимоотношенията и връзките между потребители, търговци и транзакции може да бъде от полза за идентифициране на измамни мрежи или организирани кръгове за измама. Мрежовите графики или визуализациите на социални мрежи могат да помогнат за откриване на клъстери от взаимосвързани обекти, споделени IP адреси или подозрителни модели на сътрудничество, които могат да показват измамни дейности.
  4. Оценки и предупреждения за риск: Визуализирането на оценки за риск или предупреждения за измами във формат на табло за управление може да осигури преглед в реално време на потенциални инциденти с измами. Това може да включва визуални индикатори, като цветно кодирани предупреждения или топлинни карти, за подчертаване на високорискови транзакции, потребители или региони. Интерактивните табла за управление позволяват на анализаторите на измами да проникнат в конкретни подробности и да предприемат незабавни действия, когато е необходимо.
  5. Географски анализ: Геопространствените визуализации могат да помогнат за идентифициране на географски модели и аномалии, свързани с измама. Чрез картографиране на транзакции или потребителски дейности върху географска карта става възможно да се идентифицират региони с високи нива на измами, да се открият необичайни модели на транзакции в различни местоположения или да се маркират области с повишена концентрация на подозрителни дейности.
  6. Интерактивно изследване: Интерактивните инструменти за визуализация на данни позволяват на анализаторите на измами да изследват данните динамично и да извършват ad hoc анализи. Тези инструменти позволяват на анализаторите да филтрират, мащабират и разбиват конкретни подмножества от данни, позволявайки по-задълбочени разследвания и разкриване на скрити модели или корелации, които може да не са очевидни в статичните визуализации.

Целта на визуализацията на данни при откриване на измами в PayPal е да позволи на анализаторите на измами бързо да идентифицират и разследват потенциални инциденти с измами, да разберат сложни взаимоотношения и да вземат информирани решения въз основа на визуални прозрения, извлечени от големи обеми данни. Той подобрява ефикасността и ефективността на процесите за откриване на измами, като позволява навременна реакция и смекчаване на измамни дейности.

x = np.array(data["Time"])
y = np.array(data["Amount"])

fig, ax = plt.subplots()
ax.plot(x, y,color = 'black')

data["Time"].plot(kind="box", figsize=(12,6))

data["Time"].plot(kind="hist", figsize=(12,6))

Заглавие: Изследване на сумите на транзакциите във времето: Пример за визуализация на данни

Въведение: В света на откриването и анализа на измами, визуализирането на данни може да предостави ценни прозрения и да помогне за идентифицирането на модели и аномалии. В тази публикация в блога ще проучим как да използваме Python и библиотеката Matplotlib, за да създадем прост график, който визуализира сумите на транзакциите във времето. Ще работим с набор от данни, който включва данни за транзакции, по-специално колоните „Време“ и „Сума“.

Обяснение на кода: Първата стъпка е да импортирате необходимите библиотеки и да заредите данните в pandas DataFrame. След като имаме данните, можем да извлечем колоните „Време“ и „Сума“ и да ги конвертираме в масиви NumPy за чертане.

Заглавие: Анализиране на разпределението на времето за транзакция: Визуализация на графика в кутия

Въведение: Разбирането на разпределението на времената за транзакции е от решаващо значение за откриването и анализа на измами. Визуализирането на данните с помощта на кутийни диаграми може да осигури ценна представа за разпространението, централната тенденция и потенциалните извънредни стойности. В тази публикация в блога ще проучим как да използваме Python и библиотеката pandas, за да създадем графика на кутия, която визуализира разпределението на времето за транзакции. Ще работим с набор от данни, който включва данни за транзакции, по-специално колоната „Време“.

Разбирането на разпределението на времето за транзакции е от решаващо значение за откриването и анализа на измами. Визуализирането на данните с помощта на хистограми може да осигури ценна представа за честотата и моделите на възникване на транзакции. В тази публикация в блога ще проучим как да използваме Python и библиотеката pandas, за да създадем хистограма, която визуализира разпределението на времето за транзакции. Ще работим с набор от данни, който включва данни за транзакции, по-специално колоната „Време“.

def Analyze_All_Vs(data: pd.DataFrame, X_value: str, figsize: tuple):
    x = np.array(data[X_value])

    fig, ax = plt.subplots(7, 4, sharex=True, sharey=True, figsize=figsize)
    for i, j in enumerate(data.columns[1:-2]):

      ax[i//4][i % 4].scatter(x, data[j],
                              c = "pink",
                              linewidths = 1,
                              marker ="s",
                              edgecolor ="green",
                              s = 20)
      ax[i//4][i % 4].set_title(f"{j} and {X_value}")
    plt.show()

Analyze_All_Vs(data, 'Time', (20, 30))

Разбирането на връзките между променливите е от съществено значение при анализа на данни и откриването на измами. Визуализирането на тези взаимовръзки с помощта на диаграми на разсейване може да даде представа за потенциални корелации, модели или аномалии. В тази публикация в блога ще изследваме функция на Python, която ни позволява да създаваме диаграми на разсейване за множество променливи в DataFrame. Ще работим с набор от данни, който включва данни за транзакции и ще се фокусира върху връзката между променливата „Сума“ и други променливи.

В тази публикация в блога изследвахме функция на Python, която позволява създаването на диаграми на разсейване за множество променливи в DataFrame. Като посочихме променлива X_value, ние се фокусирахме върху връзката между тази променлива и други колони в набора от данни. Точковите диаграми предоставят визуално представяне на потенциални корелации или модели между променливи и могат да помогнат при идентифицирането на всякакви аномалии или подозрителни тенденции.

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

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

Стъпка 3: Машинно обучение

Техниките за машинно обучение играят важна роля при откриването на измами в PayPal и подобни платформи. Тези техники използват исторически данни, модели и аномалии за изграждане на модели, които могат да идентифицират и маркират потенциално измамни транзакции. Ето основните стъпки, включени в прилагането на машинно обучение за откриване на измами в PayPal:

  1. Събиране на данни: PayPal събира данни за транзакции, потребителска информация и други подходящи точки от данни. Тези данни служат като основа за обучение на модели за машинно обучение.
  2. Предварителна обработка на данни: Събраните данни се обработват предварително, за да се справят с липсващи стойности, извънредни стойности и несъответствия. Може да включва почистване на данни, инженеринг на функции и нормализиране, за да се гарантира, че данните са в подходящ формат за алгоритми за машинно обучение.
  3. Избор/извличане на характеристики: Съответните функции се избират или извличат от данните, които са най-информативни при откриване на измамни дейности. Тези функции могат да включват суми на транзакции, местоположения, модели на потребителско поведение, IP адреси, информация за устройството и др.
  4. Обучение на модели: Моделите за машинно обучение, като контролирани алгоритми за обучение (напр. логистична регресия, дървета на решенията, произволни гори, поддържащи векторни машини) или алгоритми за неконтролирано обучение (напр. групиране, откриване на аномалии), се обучават с помощта на исторически данни, обозначени като измамни или легитимни сделки. Моделите се учат от тези примери да идентифицират модели и характеристики, свързани с измама.
  5. Оценка на модела: Обучените модели се оценяват с помощта на показатели за оценка като прецизност, припомняне, точност и F1 резултат, за да се оцени тяхното представяне. Могат да се използват техники за кръстосано валидиране, за да се осигури устойчивост и възможност за обобщаване на моделите.
  6. Внедряване на модел: След като моделите бъдат обучени и оценени, те могат да бъдат внедрени в производствената среда на системата за откриване на измами на PayPal. Може да се използва обработка в реално време или групова обработка за прилагане на моделите към входящи транзакции и идентифициране на потенциални измами.
  7. Непрекъснато наблюдение и подобрение: Внедрените модели се наблюдават непрекъснато, за да се открият промени в моделите на измами или нововъзникващи техники за измами. Механизмите за обратна връзка, включително ръчен преглед и вериги за обратна връзка, могат да помогнат за подобряване на ефективността на моделите с течение на времето.

Важно е да се отбележи, че системите за откриване на измами често използват комбинация от системи, базирани на правила, и алгоритми за машинно обучение. Правилата могат да служат като първоначален филтър за бързо маркиране на транзакции, които отговарят на конкретни предварително дефинирани критерии, докато моделите за машинно обучение помагат при идентифицирането на по-нюансирани или сложни модели, които може да не бъдат уловени само от правила.

Освен това инженерингът на функциите, изборът на модел и настройката на хиперпараметрите са критични за изграждането на ефективни модели за откриване на измами. Експертният опит в областта и сътрудничеството с анализатори на измами са от ключово значение за идентифициране на подходящи функции и гарантиране на точността и полезността на моделите.

Като цяло, техниките за машинно обучение подобряват способността на PayPal да открива и предотвратява измамни дейности чрез използване на исторически данни и автоматизирано разпознаване на шаблони за идентифициране на подозрителни транзакции в реално време.

class ML:
    def __init__(self, *, data=None, train_test_split=False):
        self.data = data
        self.tts = train_test_split
    def _data_seperation(self, balance_data=False, test_size=0.33):
        X = self.data.drop("Class",axis=1)
        y = self.data["Class"]
        if not balance_data :
            return train_test_split(X,y, test_size=test_size)
        else:
            sm = SMOTE()
            X_balanced, y_balanced = sm.fit_resample(X, y)
            X1, X2, y1, y2 = train_test_split(X_balanced, y_balanced, test_size=test_size)
            return X1, X2, y1, y2
    def RandomForestML(self, max_depth=3, n_estimators=100, criterion='gini'):
        clf = RandomForestClassifier(n_estimators=n_estimators, max_depth=max_depth, criterion=criterion, n_jobs=-1)

        X_train, X_test, y_train, y_test = self._data_seperation(test_size=0.2)

        clf.fit(X_train, y_train)

        pred = clf.predict(X_test)

        acc, mse = accuracy_score(y_test, pred), mean_squared_error(y_test, pred)

        return acc, mse


    def RandomForestBoosing_Hparams(self, params: dict):

        X_train, X_test, y_train, y_test = self._data_seperation(test_size=0.2)

        clf = RandomForestClassifier(n_jobs=4)

        rs_clf = RandomizedSearchCV(estimator=clf,
                            param_distributions=grid,
                            n_iter=1, # try 10 models total
                            cv=5, # 5-fold cross-validation
                            verbose=2) # print out results
        rs_clf.fit(X_train, y_train)

        best_params = rs_clf.best_params_

        pred = rs_clf.predict(X_test)

        acc, mse = accuracy_score(y_test, pred), mean_squared_error(y_test, pred)
        return acc, mse, best_params

ML_class = ML(data=data, train_test_split=True)

print('Accuracy: {}\nMSE: {}'.format(ML_class.RandomForestML(n_estimators=100, criterion='entropy', max_depth=5)))

Техниките за машинно обучение играят важна роля при откриването на измами в PayPal и подобни платформи. Тези техники използват исторически данни, модели и аномалии за изграждане на модели, които могат да идентифицират и маркират потенциално измамни транзакции. Ето основните стъпки, включени в прилагането на машинно обучение за откриване на измами в PayPal:

  1. Събиране на данни: PayPal събира данни за транзакции, потребителска информация и други подходящи точки от данни. Тези данни служат като основа за обучение на модели за машинно обучение.
  2. Предварителна обработка на данни: Събраните данни се обработват предварително, за да се справят с липсващи стойности, извънредни стойности и несъответствия. Може да включва почистване на данни, инженеринг на функции и нормализиране, за да се гарантира, че данните са в подходящ формат за алгоритми за машинно обучение.
  3. Избор/извличане на характеристики: Съответните функции се избират или извличат от данните, които са най-информативни при откриване на измамни дейности. Тези функции могат да включват суми на транзакции, местоположения, модели на потребителско поведение, IP адреси, информация за устройството и др.
  4. Обучение на модели: Моделите за машинно обучение, като контролирани алгоритми за обучение (напр. логистична регресия, дървета на решенията, произволни гори, поддържащи векторни машини) или алгоритми за неконтролирано обучение (напр. групиране, откриване на аномалии), се обучават с помощта на исторически данни, обозначени като измамни или легитимни сделки. Моделите се учат от тези примери да идентифицират модели и характеристики, свързани с измама.
  5. Оценка на модела: Обучените модели се оценяват с помощта на показатели за оценка като прецизност, припомняне, точност и F1 резултат, за да се оцени тяхното представяне. Могат да се използват техники за кръстосано валидиране, за да се осигури устойчивост и възможност за обобщаване на моделите.
  6. Внедряване на модел: След като моделите бъдат обучени и оценени, те могат да бъдат внедрени в производствената среда на системата за откриване на измами на PayPal. Може да се използва обработка в реално време или групова обработка за прилагане на моделите към входящи транзакции и идентифициране на потенциални измами.
  7. Непрекъснато наблюдение и подобрение: Внедрените модели се наблюдават непрекъснато, за да се открият промени в моделите на измами или нововъзникващи техники за измами. Механизмите за обратна връзка, включително ръчен преглед и вериги за обратна връзка, могат да помогнат за подобряване на ефективността на моделите с течение на времето.

Важно е да се отбележи, че системите за откриване на измами често използват комбинация от системи, базирани на правила, и алгоритми за машинно обучение. Правилата могат да служат като първоначален филтър за бързо маркиране на транзакции, които отговарят на конкретни предварително дефинирани критерии, докато моделите за машинно обучение помагат при идентифицирането на по-нюансирани или сложни модели, които може да не бъдат уловени само от правила.

Освен това инженерингът на функциите, изборът на модел и настройката на хиперпараметрите са критични за изграждането на ефективни модели за откриване на измами. Експертният опит в областта и сътрудничеството с анализатори на измами са от ключово значение за идентифициране на подходящи функции и гарантиране на точността и полезността на моделите.

Като цяло, техниките за машинно обучение подобряват способността на PayPal да открива и предотвратява измамни дейности чрез използване на исторически данни и автоматизирано разпознаване на шаблони за идентифициране на подозрителни транзакции в реално време.

Мисля, че уау, наистина не очаквам това, почти 100% точност на балансиран набор от данни.

grid = {"n_estimators": [10, 100, 200, 500, 1000, 1200],
        "max_depth": [5, 10, 20, 30],
        "min_samples_split": [2, 4, 6],
        "min_samples_leaf": [1, 2, 4]}
ML_class = ML(data=data, train_test_split=True)
acc, mse = ML_class.RandomForestBoosing_Hparams(grid)
print(f'Accuracy: {acc}\nMSE: {mse}')

Алгоритмите за машинно обучение, като Random Forest, се използват широко при откриване на измами поради способността им да идентифицират модели и аномалии в данните за транзакциите. В тази публикация в блога ще проучим клас на Python, който използва класификация на Random Forest за откриване на измами и включва настройка на хиперпараметри. Кодът използва библиотеката scikit-learn и се фокусира върху оптимизирането на производителността на модела Random Forest с помощта на хиперпараметри. Ще работим с набор от данни, който включва данни за транзакции, по-специално колоната „Клас“, указваща измамни или законни транзакции.

В тази публикация в блога изследвахме клас на Python, който прилага класификацията на Random Forest за откриване на измами и включва настройка на хиперпараметри. Алгоритъмът Random Forest се обучава и оценява с помощта на данни за транзакции, а хиперпараметрите се оптимизират с помощта на Randomized Search Cross-Validation. Чрез използване на техники за машинно обучение, като Random Forest, PayPal може да подобри своите възможности за откриване на измами и да подобри точността при идентифициране на измамни транзакции.

Тук също има малко задълбочено обучение, но всъщност алгоритмите sklearn са по-точни за тези данни, но това задълбочено обучение е по-задълбочено :-)

X = data.drop("Class",axis=1)
y = data["Class"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = keras.models.Sequential([
    keras.layers.Dense(512, activation="relu", input_shape=(X_train.shape[1],)),
    keras.layers.Dropout(0.2),
    keras.layers.Dense(256,activation="relu"),
    keras.layers.Dropout(0.2),
    keras.layers.Dense(128,activation="relu"),
    keras.layers.Dropout(0.2),
    keras.layers.Dense(64,activation="relu"),
    keras.layers.Dropout(0.2),
    keras.layers.Dense(10, activation="softmax"),
])
print(model.summary())

model.compile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics='accuracy')
history = model.fit(X_train, y_train, validation_data=(X_test, y_test), epochs=1)

_, accuracy = model.evaluate(X_test, y_test, batch_size=128)
print("Accuracy:",accuracy*100)  

Това има смисъл, обичам задълбочено обучение, защото това е просто бързо и много точно …..

Заключение: Подобряване на откриването на измами с машинно обучение

В сферата на откриването на измами техниките за машинно обучение се превърнаха в незаменими инструменти за идентифициране и смекчаване на измамни дейности. В тази публикация в блога проучихме как машинното обучение може да бъде използвано от страната на машинното обучение, за да подпомогне усилията за откриване на измами на платформи като PayPal.

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

Един от видните алгоритми за машинно обучение, използвани при откриване на измами, е класификацията на случайни гори. Проверихме как алгоритъмът Random Forest може да се приложи за откриване на измамни транзакции в PayPal. Предоставеният код демонстрира два основни аспекта: обучение на модел Random Forest и извършване на настройка на хиперпараметри за оптимизиране на производителността на модела.

Първият метод, RandomForestML, демонстрира обучението на класификатор Random Forest върху данни за транзакции. Метриките за точност и средна квадратна грешка бяха използвани за оценка на ефективността на модела при прогнозиране на измамни транзакции.

Вторият метод, RandomForestBoosting_Hparams, демонстрира процеса на настройка на хиперпараметри с помощта на кръстосано валидиране при рандомизирано търсене. Чрез изследване на различни комбинации от хиперпараметри, като например броя на оценителите, максимална дълбочина и минимални проби, кодът имаше за цел да оптимизира производителността на модела Random Forest.

Чрез прилагане на техники за машинно обучение за откриване на измами, PayPal може да се възползва от по-точна и ефективна идентификация на измамни дейности. Моделите за машинно обучение имат способността непрекъснато да учат и да се адаптират към нови модели, като по този начин изпреварват развиващите се техники за измами.

Струва си да се отбележи, че откриването на измами е сложна област и успешното внедряване на модели за машинно обучение изисква сътрудничество между специалисти по данни, анализатори на измами и експерти по домейни. Моделите трябва да бъдат постоянно наблюдавани и актуализирани, за да се адаптират към нововъзникващите тенденции в измамите и да поддържат високи нива на откриване, като същевременно минимизират фалшивите положителни резултати.

В заключение, интегрирането на алгоритми за машинно обучение, като Random Forest, в системи за откриване на измами укрепва способността на платформи като PayPal да откриват и предотвратяват измамни дейности. Комбинацията от прозрения, управлявани от данни, усъвършенствани анализи и непрекъснати усилия за подобряване, предоставя на организациите стабилна защита срещу измамни транзакции, защита на финансовите системи и поддържане на доверие в онлайн транзакциите.