Taxa de acerto natural
Neste exercício, você vai usar novamente dados de transações de cartão de crédito. As features e os rótulos são semelhantes aos do capítulo anterior, e os dados são altamente desbalanceados. Já fornecemos as features X e os rótulos y para você trabalhar, ambos como arrays do NumPy.
Primeiro, você precisa explorar quão prevalente é a fraude no conjunto de dados para entender qual é a "acurácia natural", caso prevíssemos tudo como não fraude. É importante entender qual nível de "acurácia" você precisa superar para obter uma previsão melhor do que não fazer nada. Nos exercícios a seguir, você vai criar nosso primeiro classificador de random forest para detecção de fraude. Ele servirá como o modelo de "baseline" que você tentará aprimorar nos próximos exercícios.
Este exercício faz parte do curso
Detecção de Fraudes em Python
Instruções do exercício
- Conte o número total de observações tomando o comprimento dos rótulos
y. - Conte os casos de não fraude em nossos dados usando list comprehension em
y; lembre-se de queyé um array do NumPy, então.value_counts()não pode ser usado neste caso. - Calcule a acurácia natural dividindo os casos de não fraude pelo total de observações.
- Imprima a porcentagem.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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
____(____)