ComeçarComece de graça

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

Ver curso

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 que y é 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
____(____)
Editar e executar o código