Природна точність
У цій вправі ви знову працюватимете з даними про транзакції за кредитними картками. Ознаки та мітки подібні до даних з попереднього розділу, і дані сильно незбалансовані. Ми вже надали вам ознаки X і мітки y, обидва як масиви NumPy.
Спочатку дослідіть, наскільки поширене шахрайство в наборі даних, щоб зрозуміти, якою є «природна точність», якщо передбачати всі транзакції як не шахрайські. Важливо розуміти, який рівень «точності» потрібно перевершити, щоб отримати кращий прогноз, ніж нічого не робити. У наступних вправах ви створите наш перший класифікатор random forest для виявлення шахрайства. Він слугуватиме «базовою лінією» (baseline), яку ви намагатиметеся покращити в подальших вправах.
Ця вправа є частиною курсу
Виявлення шахрайства в Python
Інструкції до вправи
- Порахуйте загальну кількість спостережень, узявши довжину масиву міток
y. - Порахуйте кількість не шахрайських випадків у даних за допомогою генератора списку для
y; пам'ятайте, щоy— це масив NumPy, тож.value_counts()тут використати не можна. - Обчисліть природну точність, поділивши кількість не шахрайських випадків на загальну кількість спостережень.
- Виведіть відсоток.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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
____(____)