Я строю модель регрессионного наказания с 2 параметрами $ \ lambda $ и $ \ alpha $.Я пытаюсь найти оптимальные значения для этих параметров, поэтому я рассматриваю сетку различных значений.Допустим, я рассматриваю n_lambda
разные значения $ \ lambda $ и n_alpha
разные значения $ \ alpha $.Чтобы проверить работоспособность модели, я рассматриваю данные наблюдений за $ n $, для которых у меня есть истинное значение моего изменяемого ответа, и вычисляю прогнозы для этих наблюдений для каждой пары параметров.
Iсохранить мои прогнозы в матрице трехмерного массива с размером (n_lambda, n_alpha, n_observations)
.Это означает, что элемент [0, 0, :]
этой матрицы содержит предсказания для n наблюдений для первого значения $ \ lambda $ и первого значения $ \ alpha $.
Теперь я хочу вычислить для каждого измои прогнозы, значит квадратичная ошибка.Я знаю, что могу сделать это, используя вложенные циклы, например:
from sklearn.metrics import mean_squared_error
error_matrix = np.zeros(n_lambda, n_alpha)
for i in range(n_lambda):
for j in range(n_alpha):
error_matrix[i, j] = mean_squared_error(true_value, prediction[i, j, :])
Это будет работать, но вложение для циклов не совсем оптимально.Я думаю, должен быть лучший способ получить то, что я хочу.На самом деле я пытался использовать функцию map
, но она не работает, поэтому я был бы признателен за любые советы.