Escalar a múltiples puntos de datos
Ya has visto que distintos pesos dan lugar a precisiones diferentes en una sola predicción. Pero normalmente querrás medir la precisión del modelo en muchos puntos. Ahora vas a escribir código para comparar la precisión del modelo para dos conjuntos de pesos distintos, almacenados como weights_0 y weights_1.
input_data es una lista de arrays. Cada elemento de esa lista contiene los datos para hacer una única predicción.
target_actuals es una lista de números. Cada elemento de esa lista es el valor real que intentamos predecir.
En este ejercicio, usarás la función mean_squared_error() de sklearn.metrics. Recibe como argumentos los valores reales y los valores predichos.
También usarás la función precargada predict_with_network(), que recibe un array de datos como primer argumento y los pesos como segundo argumento.
Este ejercicio forma parte del curso
Introducción al Deep Learning en Python
Instrucciones del ejercicio
- Importa
mean_squared_errordesdesklearn.metrics. - Usando un bucle
forpara iterar por cada fila deinput_data:- Haz predicciones para cada fila con
weights_0usando la funciónpredict_with_network()y añádelas amodel_output_0. - Haz lo mismo con
weights_1, añadiendo las predicciones amodel_output_1.
- Haz predicciones para cada fila con
- Calcula el error cuadrático medio de
model_output_0y luego demodel_output_1usando la funciónmean_squared_error(). El primer argumento deben ser los valores reales (target_actuals) y el segundo las predicciones (model_output_0omodel_output_1).
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
from sklearn.metrics import mean_squared_error
# Create model_output_0
model_output_0 = []
# Create model_output_1
model_output_1 = []
# Loop over input_data
for row in input_data:
# Append prediction to model_output_0
model_output_0.append(____)
# Append prediction to model_output_1
model_output_1.append(____)
# Calculate the mean squared error for model_output_0: mse_0
mse_0 = ____
# Calculate the mean squared error for model_output_1: mse_1
mse_1 = ____
# Print mse_0 and mse_1
print("Mean squared error with weights_0: %f" %mse_0)
print("Mean squared error with weights_1: %f" %mse_1)