ian*_*ian 3 python performance mean-square-error
我想计算两个非常大的二维数组之间的 mse。
x1 = [1,2,3]
x2 = [1,3,5]
x3 = [1,5,9]
x = [x1,x2,x3]
y1 = [2,3,4]
y2 = [3,4,5]
y3 = [4,5,6]
y = [y1,y2,y3]
Run Code Online (Sandbox Code Playgroud)
预期结果是大小为 3 的向量:
[mse(x1,y1), mse(x2,y2), mse(x3,y3)]
Run Code Online (Sandbox Code Playgroud)
至于现在,我正在使用 sklearn.metrics.mean_squared_error :
mses = list(map(mean_squared_error, x, y))
Run Code Online (Sandbox Code Playgroud)
这需要很长时间,因为 xi 和 yi 的实际长度是 115 并且我在 x/y 中有超过一百万个向量。
您可以使用 numpy。
a = np.array(x) # your x
b = np.array(y) # your y
mses = ((a-b)**2).mean(axis=1)
Run Code Online (Sandbox Code Playgroud)
如果你想使用你的x和y.
a = np.random.normal(size=(1000000,100))
b = np.random.normal(size=(1000000,100))
mses = ((a-b)**2).mean(axis=1)
Run Code Online (Sandbox Code Playgroud)
使用您指定的矩阵大小 (1 000 000 x 100),这在我的机器上只需不到一秒钟。
| 归档时间: |
|
| 查看次数: |
4518 次 |
| 最近记录: |