功能介绍

回归评估是对回归算法的预测结果进行效果评估,支持下列评估指标。

SST 总平方和(Sum of Squared for Total)

回归评估(batch) - 图1

SSE 误差平方和(Sum of Squares for Error)

回归评估(batch) - 图2

SSR 回归平方和(Sum of Squares for Regression)

回归评估(batch) - 图3

R^2 判定系数(Coefficient of Determination)

回归评估(batch) - 图4

R 多重相关系数(Multiple Correlation Coeffient)

回归评估(batch) - 图5

MSE 均方误差(Mean Squared Error)

回归评估(batch) - 图6

RMSE 均方根误差(Root Mean Squared Error)

回归评估(batch) - 图7

SAE/SAD 绝对误差(Sum of Absolute Error/Difference)

回归评估(batch) - 图8

MAE/MAD 平均绝对误差(Mean Absolute Error/Difference)

回归评估(batch) - 图9

MAPE 平均绝对百分误差(Mean Absolute Percentage Error)

回归评估(batch) - 图10

count 行数

explained variance 解释方差

回归评估(batch) - 图11

参数说明

名称 中文名称 描述 类型 是否必须? 默认值
labelCol 标签列名 输入表中的标签列名 String
predictionCol 预测结果列名 预测结果列名 String

脚本示例

脚本代码

  1. import numpy as np
  2. import pandas as pd
  3. data = np.array([
  4. [0, 0],
  5. [8, 8],
  6. [1, 2],
  7. [9, 10],
  8. [3, 1],
  9. [10, 7]
  10. ])
  11. df = pd.DataFrame({"pred": data[:, 0], "label": data[:, 1]})
  12. inOp = BatchOperator.fromDataframe(df, schemaStr='pred int, label int')
  13. metrics = EvalRegressionBatchOp().setPredictionCol("pred").setLabelCol("label").linkFrom(inOp).collectMetrics()
  14. print("Total Samples Number:", metrics.getCount())
  15. print("SSE:", metrics.getSse())
  16. print("SAE:", metrics.getSae())
  17. print("RMSE:", metrics.getRmse())
  18. print("R2:", metrics.getR2())

脚本运行结果

  1. Total Samples Number: 6.0
  2. SSE: 15.0
  3. SAE: 7.0
  4. RMSE: 1.5811388300841898
  5. R2: 0.8282442748091603