python-2.7 - 如何在 3D 数组上应用 mean_squared_error
问题描述
我正在构建一个带有 2 个参数 $\lambda$ 和 $\alpha$ 的惩罚回归模型。我试图找到这些参数的最佳值,所以我考虑了一个不同值的网格。假设我考虑n_lambda
不同的 $\lambda$ 值和n_alpha
不同的 $\alpha$ 值。为了测试模型的性能,我考虑 $n$ 数据观察,我有我的响应变量的真实值,我计算每个参数对的这些观察的预测。
我将我的预测存储到一个维度为 的 3D 数组矩阵中(n_lambda, n_alpha, n_observations)
。这意味着[0, 0, :]
该矩阵的元素包含对 $\lambda$ 的第一个值和 $\alpha$ 的第一个值的 n 个观测值的预测。
现在我想为我的每个预测计算均方误差。我知道我可以使用嵌套的 for 循环来做到这一点,例如:
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, :])
这会起作用,但嵌套 for 循环并不是真正的最佳选择。我想一定有更好的方法来得到我想要的。实际上我已经尝试过使用map
函数,但它不起作用,所以我会很感激任何建议。
解决方案
推荐阅读
- python - 使用 numpy 查找 2 个列表列表之间的交集
- realm - 如何在多租户应用程序中使用 keyclaok
- ruby-on-rails - Rails 对必填字段的自定义验证
- c# - C# Azure Functions 和 Application Insights - LogError 未显示异常
- c# - 如何从在 asp.net core C# 中调用的线程调用公共异步任务方法()?
- python - jsonb 连接在 sqlalchemy 中无法正常工作
- sql-server - 如何将逻辑 OR 应用于 BINARY 列,以便结果是所有正确的值?
- google-sheets - 获取 A 和 B 之间的数字数组?
- python - 有 NaN 时进行分组的最佳方式
- node.js - “mongo -version”和“mongod --version”命令无法从超级终端成功运行