Verificando a proporção entre fraude e não fraude
Neste capítulo, você vai trabalhar com creditcard_sampledata.csv, um conjunto de dados contendo transações com cartão de crédito. Felizmente, as ocorrências de fraude são uma minoria extrema nessas transações.
No entanto, algoritmos de Machine Learning geralmente funcionam melhor quando as diferentes classes presentes no conjunto de dados estão mais ou menos igualmente representadas. Se há poucos casos de fraude, existe pouco dado para aprender a identificá-los. Isso é conhecido como desbalanceamento de classes e é um dos principais desafios na detecção de fraudes.
Vamos explorar esse conjunto de dados e observar esse problema de desbalanceamento de classes.
Este exercício faz parte do curso
Detecção de Fraudes em Python
Instruções do exercício
- Importe
pandascomopd, leia os dados do cartão de crédito e atribua adf. Isso já foi feito para você. - Use
.info()para imprimir informações sobredf. - Use
.value_counts()para obter a contagem de transações fraudulentas e não fraudulentas na coluna'Class'. Atribua o resultado aocc. - Calcule a proporção de transações fraudulentas sobre o número total de transações no conjunto de dados.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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 / ____)