Перевірка співвідношення «шахрайство — не шахрайство»
У цьому розділі ви працюватимете з creditcard_sampledata.csv — набором даних із транзакціями за кредитними картками. Випадки шахрайства, на щастя, становлять вкрай малу частку серед цих операцій.
Однак алгоритми машинного навчання зазвичай працюють найкраще, коли різні класи в наборі даних представлені більш-менш однаково. Якщо випадків шахрайства мало, то недостатньо даних, щоб навчитися їх виявляти. Це називається дисбалансом класів і є однією з головних проблем у виявленні шахрайства.
Давайте дослідимо цей набір даних і подивимося на цю проблему дисбалансу класів.
Ця вправа є частиною курсу
Виявлення шахрайства в Python
Інструкції до вправи
- Імпортуйте
pandasякpd, зчитайте дані за кредитними картками та присвойте їх зміннійdf. Це вже зроблено за вас. - Використайте
.info(), щоб надрукувати інформацію проdf. - Використайте
.value_counts(), щоб отримати кількість шахрайських і нешахрайських транзакцій у стовпці'Class'. Присвойте результат зміннійocc. - Обчисліть частку шахрайських транзакцій від загальної кількості транзакцій у наборі даних.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Import pandas and read csv
import pandas as pd
df = pd.read_csv("creditcard_data.csv")
# Explore the features available in your dataframe
print(df.____)
# Count the occurrences of fraud and no fraud and print them
occ = df['____'].____()
print(occ)
# Print the ratio of fraud cases
print(occ / ____)