Aumentando detecções bem-sucedidas com reamostragem de dados

Detecção de Fraudes em Python

Charlotte Werger

Data Scientist

Undersampling

Detecção de Fraudes em Python

Oversampling

Detecção de Fraudes em Python

Oversampling em Python

from imblearn.over_sampling import RandomOverSampler

method = RandomOverSampler() X_resampled, y_resampled = method.fit_resample(X, y)
compare_plots(X_resampled, y_resampled, X, y)

Detecção de Fraudes em Python

Synthetic Minority Oversampling Technique (SMOTE)

1 https://www.kaggle.com/rafjaa/resampling-strategies-for-imbalanced-datasets
Detecção de Fraudes em Python

Qual método de reamostragem usar?

  • Random Under Sampling (RUS): descarta dados, computacionalmente eficiente
  • Random Over Sampling (ROS): direto e simples, mas treina o modelo com muitos duplicados
  • Synthetic Minority Oversampling Technique (SMOTE): conjunto mais sofisticado e realista, mas você treina com dados "falsos"
Detecção de Fraudes em Python

Quando usar reamostragem

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression

# Defina o método de reamostragem e faça o split em treino e teste method = SMOTE() X_train, X_test, y_train, y_test = train_test_split(X, y, train_size=0.8, random_state=0)
# Aplique reamostragem só nos dados de treino X_resampled, y_resampled = method.fit_resample(X_train, y_train)
# Continue ajustando o modelo e obtenha previsões model = LogisticRegression() model.fit(X_resampled, y_resampled)
# Obtenha suas métricas de desempenho predicted = model.predict(X_test) print (classification_report(y_test, predicted))
Detecção de Fraudes em Python

Vamos praticar!

Detecção de Fraudes em Python

Preparing Video For Download...