IniziaInizia gratis

Tasso di successo naturale

In questo esercizio userai di nuovo dati di transazioni con carta di credito. Le feature e le etichette sono simili a quelle del capitolo precedente e i dati sono fortemente sbilanciati. Ti abbiamo già fornito le feature X e le etichette y, entrambe array di NumPy.

Per prima cosa, devi esplorare quanto è diffusa la frode nell’insieme di dati, per capire quale sia la "accuratezza naturale" se prevedessimo tutto come non frode. È importante capire quale livello di "accuratezza" devi superare per ottenere una previsione migliore del non fare nulla. Nei prossimi esercizi, creerai il nostro primo classificatore random forest per il rilevamento delle frodi. Questo fungerà da modello di "baseline" che proverai a migliorare negli esercizi successivi.

Questo esercizio fa parte del corso

Rilevamento delle frodi in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Conta il numero totale di osservazioni prendendo la lunghezza delle etichette y.
  • Conta i casi non frode nei dati usando una list comprehension su y; ricorda che y è un array NumPy, quindi .value_counts() non può essere usato in questo caso.
  • Calcola l’accuratezza naturale dividendo i casi non frode per il totale delle osservazioni.
  • Stampa la percentuale.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Count the total number of observations from the length of y
total_obs = ____

# Count the total number of non-fraudulent observations 
non_fraud = [i for ____ ____ ____ if i == 0]
count_non_fraud = non_fraud.count(0)

# Calculate the percentage of non fraud observations in the dataset
percentage = (float(____)/float(____)) * 100

# Print the percentage: this is our "natural accuracy" by doing nothing
____(____)
Modifica ed esegui il codice