accuracy 模块

surprise.accuracy 模块提供了用于计算一组预测结果的准确率指标的工具。

可用的准确率指标

rmse

计算 RMSE (均方根误差)。

mse

计算 MSE (均方误差)。

mae

计算 MAE (平均绝对误差)。

fcp

计算 FCP (一致对分数)。

surprise.accuracy.fcp(predictions, verbose=True)[source]

计算 FCP (一致对分数)。

计算方法如论文 Collaborative Filtering on Ordinal User Feedback by Koren and Sill, section 5.2 所述。

参数:
  • predictions (list of Prediction) – 一个预测结果列表,由 test() 方法返回。

  • verbose – 如果为 True,将打印计算值。默认为 True

返回:

一致对分数。

抛出:

ValueError – 当 predictions 为空时。

surprise.accuracy.mae(predictions, verbose=True)[source]

计算 MAE (平均绝对误差)。

\[\text{MAE} = \frac{1}{|\hat{R}|} \sum_{\hat{r}_{ui} \in \hat{R}}|r_{ui} - \hat{r}_{ui}|\]
参数:
  • predictions (list of Prediction) – 一个预测结果列表,由 test() 方法返回。

  • verbose – 如果为 True,将打印计算值。默认为 True

返回:

预测结果的平均绝对误差。

抛出:

ValueError – 当 predictions 为空时。

surprise.accuracy.mse(predictions, verbose=True)[source]

计算 MSE (均方误差)。

\[\text{MSE} = \frac{1}{|\hat{R}|} \sum_{\hat{r}_{ui} \in \hat{R}}(r_{ui} - \hat{r}_{ui})^2.\]
参数:
  • predictions (list of Prediction) – 一个预测结果列表,由 test() 方法返回。

  • verbose – 如果为 True,将打印计算值。默认为 True

返回:

预测结果的均方误差。

抛出:

ValueError – 当 predictions 为空时。

surprise.accuracy.rmse(predictions, verbose=True)[source]

计算 RMSE (均方根误差)。

\[\text{RMSE} = \sqrt{\frac{1}{|\hat{R}|} \sum_{\hat{r}_{ui} \in \hat{R}}(r_{ui} - \hat{r}_{ui})^2}.\]
参数:
  • predictions (list of Prediction) – 一个预测结果列表,由 test() 方法返回。

  • verbose – 如果为 True,将打印计算值。默认为 True

返回:

预测结果的均方根误差。

抛出:

ValueError – 当 predictions 为空时。