Kom igångKom igång gratis

Naturlig träffsäkerhet

I den här övningen arbetar du återigen med kreditkortstransaktionsdata. Särdragen och etiketterna liknar data från föregående kapitel, och datamängden är kraftigt obalanserad. Du har redan tillgång till särdragen X och etiketterna y, som båda är NumPy-arrayer.

Först behöver du undersöka hur vanlig bedrägeriet är i datamängden, för att förstå vad den "naturliga noggrannheten" är – det vill säga om vi skulle förutsäga allt som icke-bedrägeri. Det är viktigt att förstå vilken nivå av "noggrannhet" du behöver "slå" för att uppnå en bättre förutsägelse än att inte göra något alls. I de följande övningarna skapar du din första slumpskogsklassificerare för bedrägeridetektering. Den kommer att fungera som den "baslinjemodell" som du sedan försöker förbättra i kommande övningar.

Den här övningen är en del av kursen

Bedrägeridetektering i Python

Visa kurs

Övningsinstruktioner

  • Räkna det totala antalet observationer genom att ta längden på dina etiketter y.
  • Räkna antalet icke-bedrägerfall i datan med hjälp av listomfattning på y. Observera att y är en NumPy-array, så .value_counts() kan inte användas här.
  • Beräkna den naturliga noggrannheten genom att dividera antalet icke-bedrägerfall med det totala antalet observationer.
  • Skriv ut procentandelen.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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
____(____)
Redigera och kör kod