Проверка соотношения мошеннических и легитимных транзакций
В этой главе вы будете работать с файлом 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 / ____)