ML_SCORE
通过使用标记数据集中的特征列作为输入生成预测并将预测与标记数据集的目标列中的真实值进行比较来对模型进行评分。使用的数据集
ML_SCORE
应与用于训练模型的数据集具有相同的特征列,但数据应该不同;例如,您可能会保留 20% 到 30% 的标记训练数据用于评分。
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
:指定classification
、regression
或forecasting
类型指标的名称。常用的classification
指标有accuracy
、balanced_accuracy
、precision
和recall
。常用的regression
指标有neg_mean_squared_error
、neg_absolute_squared_error
和r2
。有关评分指标的更多信息,请参阅 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_SCORE
在ml_data.iris_train
表上运行以确定模型质量:
mysql> CALL sys.ML_SCORE('ml_data.iris_validate', 'class', @iris_model,
'balanced_accuracy', @score);
mysql> SELECT @score;
+--------------------+
| @score |
+--------------------+
| 0.9583333134651184 |
+--------------------+