计算不同时间间隔的RMSE

2024-04-26 18:40:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要编写一个函数来计算不同时间间隔上的RMSE。 我的数据帧有日期戳,我需要选择每天、每周或每月计算。这是我迄今为止所拥有的功能:

def rmse(dataframe):
    rmse = np.sqrt( mean_squared_error( dataframe['Actual'], dataframe['Predicted'] ) )
    return 'RMSE: %f' % rmse
dataframe.apply(rmse).reset_index()

Tags: 数据函数功能dataframe间隔defnp时间
1条回答
网友
1楼 · 发布于 2024-04-26 18:40:28

如果数据帧看起来像这样。您需要首先创建要应用RMSE的时间片

df = pd.DataFrame({'date': pd.date_range('2020-01-01', freq='D', periods=10), 'actual': np.arange(10)
              , 'predictoni': np.arange(10), 'slice': np.repeat([1,2],5)})
    date    actual  predictoni  slice
0   2020-01-01  0   0   1
1   2020-01-02  1   1   1
2   2020-01-03  2   2   1
3   2020-01-04  3   3   1
4   2020-01-05  4   4   1
5   2020-01-06  5   5   2
6   2020-01-07  6   6   2
7   2020-01-08  7   7   2
8   2020-01-09  8   8   2
9   2020-01-10  9   9   2

然后你可以像这样应用函数

g = df.groupby(['slice'])
g.apply(rmse)

相关问题 更多 >