Проверка результатов
В этом упражнении вы проверите результаты модели обнаружения мошенничества на основе DBSCAN. На практике надёжные метки зачастую недоступны — именно здесь на помощь приходит аналитик по мошенничеству, который может оценить результаты и определить, действительно ли отмеченные случаи вызывают подозрение. Кроме того, можно сверить результаты с исторически известными случаями мошенничества и проверить, выявляет ли их модель.
В данном случае вы воспользуетесь метками мошенничества для проверки результатов модели. Предсказанные номера кластеров доступны в переменной pred_labels, а исходные метки мошенничества — в переменной labels.
Это упражнение является частью курса
Обнаружение мошенничества на Python
Инструкции к упражнению
- Создайте датафрейм, объединяющий номера кластеров с фактическими метками. Этот шаг уже выполнен за вас.
- Создайте условие, которое помечает мошенничество для трёх наименьших кластеров: кластеров 21, 17 и 9.
- Постройте таблицу сопряжённости на основе фактических меток мошенничества и только что созданных предсказанных меток.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Create a dataframe of the predicted cluster numbers and fraud labels
df = pd.DataFrame({'clusternr':pred_labels,'fraud':labels})
# Create a condition flagging fraud for the smallest clusters
df['predicted_fraud'] = np.where((df['clusternr']==21)|(____)|(____),1 , 0)
# Run a crosstab on the results
print(pd.crosstab(df['fraud'], df['____'], rownames=['Actual Fraud'], colnames=['Flagged Fraud']))