3.10.8 ML_SCORE

ML_SCORE 通过使用标记数据集中的特征列作为输入生成预测并将预测与标记数据集的目标列中的真实值进行比较来对模型进行评分。使用的数据集 ML_SCORE 应与用于训练模型的数据集具有相同的特征列,但数据应该不同;例如,您可能会保留 20% 到 30% 的标记训练数据用于评分。

ML_SCORE 返回指示模型质量的计算指标。

ML_SCORE 语法

CALL sys.ML_SCORE(table_name, target_column_name, model_handle, metric, score);

ML_SCORE 参数:

  • table_name:指定用于计算模型质量的表的完全限定名称 ( schema_name.table_name)。该表必须包含与训练数据集相同的列。

  • target_column_name:指定包含参考标准值的目标列的名称。

  • model_handle:指定模型句柄或包含模型句柄的会话变量。

  • metric:指定 classificationregressionforecasting类型指标的名称。常用的classification指标有 accuracybalanced_accuracyprecisionrecall。常用的 regression指标有 neg_mean_squared_errorneg_absolute_squared_errorr2。有关评分指标的更多信息,请参阅 scikit-learn.org。有关预测指标的更多信息,请参阅 sktime.org statsmodels.org

    • classification指标:

      • accuracy:计算模型正确预测的标签分数

      • balanced_accuracy:计算不平衡数据集的平衡精度

      • precision:计算精度

      • recall:计算召回

      • f1: 计​​算 F1 分数

      • f1_micro:计算 F1 分数(微平均)

      • f1_macro:计算 F1 分数(宏观平均)

      • f1_weighted:计算 F1 分数(加权)

      • f1_samples:计算 F1 分数(通过多标签样本)

      • recall_micro:计算召回率(微平均)

      • recall_macro:计算召回率(宏观平均)

      • recall_weighted:计算召回率(加权)

      • recall_samples:计算召回率(通过多标签样本)

      • precision_micro:计算精度(微平均)

      • precision_macro:计算精度(宏平均)

      • precision_weighted:计算精度(加权)

      • precision_samples:计算精度(通过多标签样本)

    • regression指标:

      • neg_mean_squared_error:计算均方误差回归损失。

      • neg_mean_absolute_error:计算平均绝对误差回归损失。

      • r2:计算 R 2(决定系数)回归得分函数。

      • neg_mean_squared_log_error:计算均方对数误差回归损失。

      • neg_median_absolute_error:计算中值绝对误差回归损失。

    • forecasting指标:

      • neg_sym_mean_abs_percent_error:计算对称平均绝对百分比误差 (sMAPE) 损失。

      • neg_root_mean_squared_percent_error:计算均方根百分比误差 (RMSPE) 损失。

      • neg_mean_abs_scaled_error:计算平均绝对标度误差 (MASE) 损失。

      • neg_root_mean_squared_error:计算均方根误差 (RMSE) 损失。

      • neg_mean_squared_error:计算均方误差 (MSE) 损失。

      • neg_max_absolute_error:计算最大绝对误差损失。

      • neg_mean_absolute_error:计算平均绝对误差 (MAE) 损失。

  • score:指定计算分数的用户定义变量名称。ML_SCORE 例程填充变量。 用户变量写为 . 本指南中的示例 用作变量名称。允许用户定义变量的任何有效名称(例如, )。 @var_name@score@my_score

语法示例

以下示例 ML_SCOREml_data.iris_train表上运行以确定模型质量:

mysql> CALL sys.ML_SCORE('ml_data.iris_validate', 'class', @iris_model, 
'balanced_accuracy', @score);

mysql> SELECT @score;
+--------------------+
| @score             |
+--------------------+
| 0.9583333134651184 |
+--------------------+