2017-05-14 141 views

回答

0

澄清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))