Evalúa el Decision Tree
Puedes evaluar la calidad de tu modelo comprobando qué tal rinde con los datos de prueba. Como el modelo no se entrenó con estos datos, esto supone una evaluación objetiva del modelo.
Una confusion matrix ofrece un buen desglose de las predicciones frente a los valores conocidos. Tiene cuatro casillas que representan los recuentos de:
- True Negatives (TN): el modelo predice un resultado negativo y el resultado conocido es negativo.
- True Positives (TP): el modelo predice un resultado positivo y el resultado conocido es positivo.
- False Negatives (FN): el modelo predice un resultado negativo pero el resultado conocido es positivo.
- False Positives (FP): el modelo predice un resultado positivo pero el resultado conocido es negativo.
Estos recuentos (TN, TP, FN y FP) deben sumar el número de registros en los datos de prueba, que son solo un subconjunto de los datos de vuelos. Puedes compararlo con el número de registros en los datos de prueba, que es flights_test.count().
Nota: Estas predicciones se han hecho sobre los datos de prueba, así que los recuentos son menores de lo que serían al predecir sobre los datos de entrenamiento.
Este ejercicio forma parte del curso
Machine learning con PySpark
Instrucciones del ejercicio
- Crea una confusion matrix contando las combinaciones de
labelyprediction. Muestra el resultado. - Cuenta el número de True Negatives, True Positives, False Negatives y False Positives.
- Calcula la accuracy.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Create a confusion matrix
prediction.groupBy(____, 'prediction').____().____()
# Calculate the elements of the confusion matrix
TN = prediction.filter('prediction = 0 AND label = prediction').count()
TP = prediction.____('____ AND ____').____()
FN = prediction.____('____ AND ____').____()
FP = prediction.____('____ AND ____').____()
# Accuracy measures the proportion of correct predictions
accuracy = ____
print(accuracy)