Досліджуємо традиційний спосіб виявлення шахрайства
У цій вправі ви спробуєте знайти випадки шахрайства в нашому наборі даних про кредитні картки «по-старому». Спочатку ви визначите порогові значення, спираючись на поширені статистики, щоб розділити шахрайські та нешахрайські операції. Потім застосуєте ці пороги до ознак, щоб виявити шахрайство. Це поширена практика в командах аналітики шахрайства.
Статистичні пороги часто визначають, дивлячись на значення середнього спостережень. Почнімо з перевірки, чи відрізняються середні значення ознак між шахрайськими й нешахрайськими випадками. Далі ви використаєте цю інформацію, щоб задати зрозумілі пороги. Нарешті, перевірите, наскільки добре це працює для виявлення шахрайства.
pandas уже імпортовано як pd.
Ця вправа є частиною курсу
Виявлення шахрайства в Python
Інструкції до вправи
- Використайте
groupby(), щоб згрупуватиdfзаClassі отримати середні значення ознак. - Створіть умову:
V1менше ніж -3 іV3менше ніж -5, щоб позначати підозрілі (шахрайські) випадки. - Як міру якості застосуйте функцію
crosstabзpandas, щоб порівняти наші позначені як шахрайські випадки з фактичними шахрайськими.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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']))