Att upptäcka bedrägerier på det traditionella sättet
I den här övningen ska du försöka hitta bedrägerifall i vårt kreditkortsdataset på det "gamla sättet". Först definierar du tröskelvärdena med hjälp av vanlig statistik för att skilja bedrägerier från icke-bedrägerier. Sedan använder du dessa tröskelvärden på dina särdrag för att upptäcka bedrägerier. Det här är ett vanligt tillvägagångssätt inom team som arbetar med bedrägerianalys.
Statistiska tröskelvärden bestäms ofta genom att titta på medelvärden för observationerna. Börja med att undersöka om särdragets medelvärden skiljer sig åt mellan bedrägerifall och icke-bedrägerifall. Använd sedan den informationen för att skapa rimliga tröskelvärden. Slutligen kontrollerar du hur väl det här fungerar för att upptäcka bedrägerier.
pandas har redan importerats som pd.
Den här övningen är en del av kursen
Bedrägeridetektering i Python
Övningsinstruktioner
- Använd
groupby()för att grupperadfpåClassoch beräkna medelvärdet för särdragen. - Skapa villkoret att
V1är mindre än -3 ochV3är mindre än -5 för att flagga bedrägerifall. - Använd funktionen
crosstabfrånpandassom prestationsmått för att jämföra de flaggade bedrägerierna med de faktiska bedrägerierna.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Get the mean for each group
____.____(____).mean()
# Implement a rule for stating which cases are flagged as fraud
df['flag_as_fraud'] = np.where(np.logical_and(______), 1, 0)
# Create a crosstab of flagged fraud cases versus the actual fraud cases
print(____(df.Class, df.flag_as_fraud, rownames=['Actual Fraud'], colnames=['Flagged Fraud']))