Ampliación a múltiples puntos de datos

Ya has visto cómo diferentes ponderaciones tendrán diferentes precisiones en una misma predicción. Pero normalmente, querrás medir la precisión del modelo en muchos puntos. Ahora escribirás código para comparar las precisiones del modelo para dos conjuntos diferentes de pesos, que se han almacenado como weights_0 y weights_1.

input_data es una lista de matrices. 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, utilizarás la función mean_squared_error() de sklearn.metrics. Toma como argumentos los valores verdaderos y los valores predichos.

También utilizarás la función precargada predict_with_network(), que toma una matriz de datos como primer argumento, y pesos como segundo argumento.

Este ejercicio forma parte del curso

Introducción al Aprendizaje Profundo en Python

Ver curso

Instrucciones de ejercicio

  • Importa mean_squared_error desde sklearn.metrics.
  • Utilizando un bucle for para iterar sobre cada fila de input_data:
    • Haz predicciones para cada fila con weights_0 utilizando la función predict_with_network() y añádelas a model_output_0.
    • Haz lo mismo para weights_1, añadiendo las predicciones a model_output_1.
  • Calcula el error cuadrático medio de model_output_0 y luego de model_output_1 utilizando la función mean_squared_error(). El primer argumento deben ser los valores reales (target_actuals), y el segundo, los valores previstos (model_output_0 o model_output_1).

Ejercicio interactivo práctico

Pruebe este ejercicio completando este 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)