Análisis de costes en un caso real
Vas a seguir trabajando con el conjunto de datos de crédito en este ejercicio. Recuerda que un "positivo" en este conjunto significa "mal crédito", es decir, un cliente que incumplió el pago de su préstamo; y un "negativo" significa un cliente que siguió pagando sin problemas. La persona responsable del banco te informó de que el banco gana de media 10K de beneficio por cada cliente "de buen riesgo", pero pierde 150K por cada cliente "de mal riesgo". Tu algoritmo se usará para filtrar solicitudes, de modo que a quienes se etiquete como "negativo" se les concederá un préstamo y a los "positivos" se les rechazará. ¿Cuál es el coste total de tu clasificador? Los datos están disponibles como X_train, X_test, y_train y y_test. Están disponibles las funciones confusion_matrix(), f1_score(), precision_score() y RandomForestClassifier().
Este ejercicio forma parte del curso
Diseño de flujos de trabajo de Machine Learning en Python
Instrucciones del ejercicio
- Ajusta un clasificador de random forest con los datos de entrenamiento.
- Úsalo para etiquetar los datos de prueba.
- Extrae los falsos negativos y los falsos positivos de
confusion_matrix(). Tendrás que aplanar la matriz. - Clasificar por error a un cliente "bueno" como "malo" implica que el banco perdería la oportunidad de ganar 10K de beneficio. Clasificar por error a un cliente "malo" como "bueno" implica que el banco perdería 150K debido al impago del préstamo.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Fit a random forest classifier to the training data
clf = ____(random_state=2).fit(____, ____)
# Label the test data
preds = clf.____(____)
# Get false positives/negatives from the confusion matrix
tn, ____, ____, tp = confusion_matrix(y_test, preds).____()
# Now compute the cost using the manager's advice
cost = fp*____ + fn*____