在循环中的单独数组中迭代计算
Iterativelly Calculate in Separate Array in Loop
我需要数组,一个用于预测,另一个用于真实值。
预测:
array([[ 0.01365575, 0.01523909],
[-0.00044139, 0.00269908],
[ 0.03240077, 0.02496629],
[ 0.03238605, 0.03045709],
[ 0.03226778, 0.02878774],
[ 0.03238199, 0.03221421]])
实际值:
array([[0.01212121, 0.01529052],
[0. , 0.0030581 ],
[0.01818182, 0.01559633],
[0.00757576, 0.007263 ],
[0.00757576, 0.00382263],
[0.00757576, 0.01070336]])
我正在尝试使用以下公式计算 mae 和 rmse 的标准值:
std_error = (1/n * sum(error_i- mean_error)^2)^1/2
到目前为止,我正在尝试逐步创建一个包含 mae 和 rmse 值的数组,但没有成功。我正在实施这个:
for x in range(len(preds)):
mae_std = (preds[:,0] - trues[['t1']])/x
for x in range(len(preds)):
rmse_std = (((trues[['t2']] - preds[:,1])**2)/x)**1/2
这种方式需要很长时间,而且永远不会真正结束,不知道为什么。
我希望结果是一个包含错误增量值的数组,然后我可以尝试在 std_error
公式中使用它们。
我究竟做错了什么?有没有办法更快地实现我描述的目标?
假设您的 2 个数组正在对 (x,y) 坐标进行建模,您可以按如下方式计算 mse / mae:
# compute MSE
mse = np.square(preds - real)
mse = np.sum(mse, axis = 1) / mse.shape[1]
# compute MAE
mae = np.sum(np.abs(preds - real), axis = 1) / mse.shape[1]
您可以调整您的特定公式以匹配这些...
我需要数组,一个用于预测,另一个用于真实值。
预测:
array([[ 0.01365575, 0.01523909],
[-0.00044139, 0.00269908],
[ 0.03240077, 0.02496629],
[ 0.03238605, 0.03045709],
[ 0.03226778, 0.02878774],
[ 0.03238199, 0.03221421]])
实际值:
array([[0.01212121, 0.01529052],
[0. , 0.0030581 ],
[0.01818182, 0.01559633],
[0.00757576, 0.007263 ],
[0.00757576, 0.00382263],
[0.00757576, 0.01070336]])
我正在尝试使用以下公式计算 mae 和 rmse 的标准值:
std_error = (1/n * sum(error_i- mean_error)^2)^1/2
到目前为止,我正在尝试逐步创建一个包含 mae 和 rmse 值的数组,但没有成功。我正在实施这个:
for x in range(len(preds)):
mae_std = (preds[:,0] - trues[['t1']])/x
for x in range(len(preds)):
rmse_std = (((trues[['t2']] - preds[:,1])**2)/x)**1/2
这种方式需要很长时间,而且永远不会真正结束,不知道为什么。
我希望结果是一个包含错误增量值的数组,然后我可以尝试在 std_error
公式中使用它们。
我究竟做错了什么?有没有办法更快地实现我描述的目标?
假设您的 2 个数组正在对 (x,y) 坐标进行建模,您可以按如下方式计算 mse / mae:
# compute MSE
mse = np.square(preds - real)
mse = np.sum(mse, axis = 1) / mse.shape[1]
# compute MAE
mae = np.sum(np.abs(preds - real), axis = 1) / mse.shape[1]
您可以调整您的特定公式以匹配这些...