Aumentare i rilevamenti corretti con il ricampionamento dei dati

Rilevamento delle frodi in Python

Charlotte Werger

Data Scientist

Undersampling

Rilevamento delle frodi in Python

Oversampling

Rilevamento delle frodi in Python

Oversampling in 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)

Rilevamento delle frodi in Python

Synthetic Minority Oversampling Technique (SMOTE)

1 https://www.kaggle.com/rafjaa/resampling-strategies-for-imbalanced-datasets
Rilevamento delle frodi in Python

Quale metodo di ricampionamento usare?

  • Random Under Sampling (RUS): scarta dati, efficiente computazionalmente
  • Random Over Sampling (ROS): semplice e diretto, ma allena il modello su molti duplicati
  • Synthetic Minority Oversampling Technique (SMOTE): dataset più realistico e sofisticato, ma alleni su dati “finti”
Rilevamento delle frodi in Python

Quando usare i metodi di ricampionamento

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

# Define resampling method and split into train and test method = SMOTE() X_train, X_test, y_train, y_test = train_test_split(X, y, train_size=0.8, random_state=0)
# Apply resampling to the training data only X_resampled, y_resampled = method.fit_resample(X_train, y_train)
# Continue fitting the model and obtain predictions model = LogisticRegression() model.fit(X_resampled, y_resampled)
# Get your performance metrics predicted = model.predict(X_test) print (classification_report(y_test, predicted))
Rilevamento delle frodi in Python

Passiamo alla pratica!

Rilevamento delle frodi in Python

Preparing Video For Download...