You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在OCI OML中使用关联规则训练模型时遇ORA-40104错误求助

ORA-40104 关联规则模型训练错误解决办法

ORA-40104属于训练数据不符合模型构建要求的错误,针对OCI机器学习(OML)关联规则模型的场景,可从以下方向排查解决:

  • 检查训练数据格式与有效性
    关联规则模型要求输入为事务型数据,每个CUST_ID(case_id)需对应多条PRODUCT_NAME(物品)记录,需验证:

    • 无空值:确保CUST_ID和PRODUCT_NAME字段无NULL值,执行SQL验证:
      SELECT COUNT(*) FROM SALES_TRANS_CUST WHERE CUST_ID IS NULL OR PRODUCT_NAME IS NULL;
      
      若结果大于0,需清理空值数据。
    • 事务完整性:每个CUST_ID至少对应2个不同PRODUCT_NAME,否则无法生成关联规则,执行SQL验证:
      SELECT CUST_ID, COUNT(DISTINCT PRODUCT_NAME) AS item_count 
      FROM SALES_TRANS_CUST 
      GROUP BY CUST_ID 
      HAVING COUNT(DISTINCT PRODUCT_NAME) < 2;
      
      若有结果,需过滤这些无效事务或补充对应数据。
  • 验证配置参数合理性
    当前设置的ASSO_MIN_SUPPORT='0.04'(4%支持度)可能过高,导致无符合条件的物品组合:

    • 先统计单个物品的支持度,确认是否有物品满足最低要求:
      SELECT PRODUCT_NAME, COUNT(DISTINCT CUST_ID)/ (SELECT COUNT(DISTINCT CUST_ID) FROM SALES_TRANS_CUST) AS support
      FROM SALES_TRANS_CUST
      GROUP BY PRODUCT_NAME
      HAVING support >= 0.04;
      
      若结果为空,需降低ASSO_MIN_SUPPORT(如设为0.01)或扩大数据集。
  • 确认OML数据对象正确性

    • 若SALES_TRANS_CUST是OML DataFrame,通过SALES_TRANS_CUST.head()查看数据结构是否符合预期;
    • 若为数据库表,确认表名正确且当前OML用户拥有读取权限。
  • 简化配置测试
    先使用更低的参数阈值尝试训练,验证模型能否正常运行:

    setting = {'ASSO_MIN_SUPPORT':'0.01',
               'ASSO_MIN_CONFIDENCE':'0.05',
               'ASSO_MAX_RULE_LENGTH': '2',
               'ODMS_ITEM_ID_COLUMN_NAME':'PRODUCT_NAME'}
    ar_mod = oml.ar(**setting)
    ar_mod = ar_mod.fit(SALES_TRANS_CUST, case_id = 'CUST_ID')
    

    若成功训练,再逐步调高参数至业务需求范围。

内容的提问来源于stack exchange,提问作者Radheya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 18:52:11