Масштабирование на несколько точек данных
Вы уже видели, как разные веса дают разную точность на одном предсказании. Однако на практике точность модели оценивают на множестве точек. В этом упражнении вы напишете код для сравнения точности двух наборов весов, сохранённых как weights_0 и weights_1.
input_data — это список массивов. Каждый элемент списка содержит данные для одного предсказания.
target_actuals — это список чисел. Каждый элемент списка — фактическое значение, которое требуется предсказать.
В этом упражнении вы будете использовать функцию mean_squared_error() из библиотеки sklearn.metrics. Она принимает истинные значения и предсказанные значения в качестве аргументов.
Также вам понадобится предзагруженная функция predict_with_network(), которая принимает массив данных первым аргументом, а веса — вторым.
Это упражнение является частью курса
Введение в глубокое обучение на Python
Инструкции к упражнению
- Импортируйте
mean_squared_errorизsklearn.metrics. - С помощью цикла
forпереберите каждую строку изinput_data:- Получите предсказания для каждой строки с
weights_0, используя функциюpredict_with_network(), и добавьте результат вmodel_output_0. - Сделайте то же самое для
weights_1, добавляя предсказания вmodel_output_1.
- Получите предсказания для каждой строки с
- Вычислите среднеквадратическую ошибку для
model_output_0, а затем дляmodel_output_1с помощью функцииmean_squared_error(). Первым аргументом должны быть фактические значения (target_actuals), вторым — предсказанные (model_output_0илиmodel_output_1).
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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)