Tasa de acierto natural
En este ejercicio volverás a usar datos de transacciones con tarjeta de crédito. Las características y las etiquetas son similares a las del capítulo anterior, y los datos están muy desbalanceados. Ya te damos las características X y las etiquetas y con las que trabajar, ambas como arrays de NumPy.
Primero necesitas explorar cuán prevalente es el fraude en el conjunto de datos para entender cuál es la "exactitud natural" si predijéramos todo como no fraude. Es importante saber qué nivel de "exactitud" tienes que superar para obtener una predicción mejor que no hacer nada. En los siguientes ejercicios, crearás tu primer clasificador de random forest para detección de fraude. Ese será el modelo "baseline" que intentarás mejorar en los próximos ejercicios.
Este ejercicio forma parte del curso
Fraud Detection in Python
Instrucciones del ejercicio
- Cuenta el número total de observaciones tomando la longitud de tus etiquetas
y. - Cuenta los casos de no fraude en nuestros datos usando una list comprehension sobre
y; recuerda queyes un array de NumPy, así que no puedes usar.value_counts()en este caso. - Calcula la exactitud natural dividiendo los casos de no fraude entre el total de observaciones.
- Imprime el porcentaje.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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
____(____)