2016-12-26 251 views
1

需要一个使用Pandas DataFrame计算RMSE的简单示例。提供有功能,在循环真正的返回和预测值:Python Pandas:从数据帧计算RMSE的简单示例

def fun (data): 
    ... 
    return trueVal, predVal 

for data in set: 
    fun(data) 

然后一些代码,使这些结果在下面的数据帧中x是一个真正的价值和p是一个预测值:

In [20]: d 
Out[20]: {'p': [1, 10, 4, 5, 5], 'x': [1, 2, 3, 4, 5]} 

In [21]: df = pd.DataFrame(d) 

In [22]: df 
Out[22]: 
    p x 
0 1 1 
1 10 2 
2 4 3 
3 5 4 
4 5 5 

问题:

1)如何把结果从fun功能df数据框?

2)如何使用df数据框计算RMSE?

+1

检查:http://stackoverflow.com/questions/17197492/root-mean- python中的平方误差 – MYGz

+0

可能的重复[均方根误差i ((df.p - df.x)** 2)。(https://stackoverflow.com/questions/17197492/root-mean-square-error-in-python) –

回答

3

问题1
这取决于数据格式。而且我希望你已经有了真正的价值,所以这个功能只是通过。

问题2

随着pandas
((df.p - df.x) ** 2).mean() ** .5

随着numpy
(np.diff(df.values) ** 2).mean() ** .5

+1

不应该是'((df.p - df.x)** 2)。 mean()** .5' for pandas,as it's root ** mean ** squared error? –

+0

@张天宝你说得对 – piRSquared