Mean_squared_error 函数输出包括 dtype 和 '0'
Mean_squared_error output in function includes dtype and '0'
我想在函数中计算 fb 先知预测的测试统计数据,因为我想在使用 fb-prophet cross_validation 得到 df_cv.我创建了一个函数,在按截止点分组后应用于数据框,以便接收每个截止点的度量。然后我计算所有这些值的平均值。
问题是我的函数 returns 不仅是我正在寻找的值,还有一个 0 以及 dtype 的信息。我仍然可以使用返回值进行计算,但是当我以后想要绘制等时,它非常不方便。如何从输出中去除这些不必要的值?
def compute_avg_stats(df_cv,perf_measure):
measures = {'mse':mean_squared_error,'mae':mean_absolute_error,'mape':mean_absolute_percentage_error,'rmse':mean_squared_error}
performance_stats = {}
if perf_measure == 'rmse':
measure = np.sqrt(measures[perf_measure](y_true=df_cv['y'],y_pred=df_cv['yhat']))
else:
measure = measures[perf_measure](y_true=df_cv['yu'],y_pred=df_cv['yhat'])
return measure
df_cv.groupby('cutoff').apply(compute_avg_stats,perf_measure='rmse').to_frame().mean()
我认为.mean()
returns一个系列。试试 .mean()[0]
我想在函数中计算 fb 先知预测的测试统计数据,因为我想在使用 fb-prophet cross_validation 得到 df_cv.我创建了一个函数,在按截止点分组后应用于数据框,以便接收每个截止点的度量。然后我计算所有这些值的平均值。
问题是我的函数 returns 不仅是我正在寻找的值,还有一个 0 以及 dtype 的信息。我仍然可以使用返回值进行计算,但是当我以后想要绘制等时,它非常不方便。如何从输出中去除这些不必要的值?
def compute_avg_stats(df_cv,perf_measure):
measures = {'mse':mean_squared_error,'mae':mean_absolute_error,'mape':mean_absolute_percentage_error,'rmse':mean_squared_error}
performance_stats = {}
if perf_measure == 'rmse':
measure = np.sqrt(measures[perf_measure](y_true=df_cv['y'],y_pred=df_cv['yhat']))
else:
measure = measures[perf_measure](y_true=df_cv['yu'],y_pred=df_cv['yhat'])
return measure
df_cv.groupby('cutoff').apply(compute_avg_stats,perf_measure='rmse').to_frame().mean()
我认为.mean()
returns一个系列。试试 .mean()[0]