Традиционный подход к обнаружению мошенничества
В этом упражнении вы попробуете обнаружить случаи мошенничества в наборе данных о кредитных картах «старым способом». Сначала вы определите пороговые значения на основе стандартных статистических показателей, чтобы разделить мошеннические и обычные транзакции. Затем применёте эти пороги к признакам для выявления мошенничества. Такой подход широко используется в командах по анализу мошенничества.
Статистические пороги часто определяются на основе средних значений наблюдений. Начнём упражнение с проверки того, различаются ли средние значения признаков для мошеннических и обычных случаев. Затем вы используете эту информацию для формирования разумных пороговых значений. В конце проверите, насколько эффективен этот метод для обнаружения мошенничества.
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']))