Oracle PREDICTION_COST() 函数使用指南

Oracle PREDICTION_COST() 是一个内置机器学习函数,它结合预先关联的成本矩阵(Cost Matrix),计算若将当前记录判定为指定类别时所产生的预期成本(Expected Cost)。

在现实商业场景中,不同类别的预测错误代价往往极度不对称(例如:把欺诈交易误判为正常交易的损失,远大于把正常交易误判为可疑交易后进行二次短信确认的成本)。PREDICTION_COST() 帮助决策系统基于商业代价而非纯粹的概率阈值做出最优决策。

Oracle PREDICTION_COST() 语法

这里是 Oracle PREDICTION_COST() 函数的语法:

PREDICTION_COST(
    model_name
    [, class_value ]
    [ USING { * | expr [ AS alias ] [, ... ] } ]
)

参数

model_name

必需的。包含成本矩阵关联定义的分类机器学习模型名称。

class_value

可选的。指定评估的目标类别。如果省略,则返回模型预测最佳分类时的最小成本。

USING ...

传递给模型的输入特征。

返回值

返回一个 NUMBER 类型数值,代表预期的决策成本分值。分值越低,代表该决策的潜在误判损失越小。

Oracle PREDICTION_COST() 示例

基本用法:筛选出欺诈预期成本最低的决策方案

SELECT 
    txn_id,
    PREDICTION(fraud_detection_model USING *) AS predicted_label,
    PREDICTION_COST(fraud_detection_model USING *) AS min_cost,
    PREDICTION_COST(fraud_detection_model, 'FRAUD' USING *) AS cost_if_fraud
FROM transactions
WHERE txn_id = 99881;

输出:

    TXN_ID PREDICTED_LABEL   MIN_COST COST_IF_FRAUD
---------- --------------- ---------- -------------
     99881 NORMAL                0.12          4.50

结论

  • PREDICTION_COST() 结合了统计概率与商业成本,是金融风控、医疗诊断等敏感场景中最核心的决策支持函数。
  • 需确保模型训练或配置中通过 DBMS_DATA_MINING.ADD_COST_MATRIX 正确绑定了成本矩阵。