-1
我有兩個功能:均方根誤差在Python兩種功能
f(x) = sin(x)
和
g(x) = x - 1/6x^3
我有range(0, 2*PI)
,我要計算這兩個函數RMSE
。我怎樣才能做到這一點?
我有兩個功能:均方根誤差在Python兩種功能
f(x) = sin(x)
和
g(x) = x - 1/6x^3
我有range(0, 2*PI)
,我要計算這兩個函數RMSE
。我怎樣才能做到這一點?
澄清RMSE的可以在這裏找到:
Root mean square error in python
在那裏展示瞭如何從兩個列表(或numpy的陣列)計算RMSE。你需要指定你想要的目標和預測值。
下面是建議的代碼來計算兩個列表,每個列表填充0和2 * PI之間的兩個函數的結果,以0.1爲增量(注意純Python範圍函數不支持浮點類型) 。
import numpy as np
def func1(x):
return np.sin(x)
def func2(x):
return x - (1/6)*(x**3)
l1 = []
l2 = []
for i in np.arange(0,2*np.pi,0.1):
l1.append(func1(i))
l2.append(func2(i))
說您指定一個新的預測列表(L3)的下方,其中取0值到6.2以0.1爲增量,即L3比較L1的RMSE值(L3到L2)分別是:
# Create new list of equal length for your predictions
l3 = np.arange(0,2*np.pi,0.1)
def rmse(predictions, targets):
return np.sqrt(((predictions - targets) ** 2).mean())
print(rmse(l3,l1))
print(rmse(l3,l2))