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

如何将订单数据转换为Orange3关联规则可识别的格式?

解决Orange3关联规则分析无结果及数据格式转换问题

一、用Orange3直接处理(无需手动转换格式)

Orange3的Associate Rules组件原生支持事务型数据(即同一OrderID对应多行ItemName的格式),不用手动转布尔矩阵,按以下步骤操作:

  • 用File组件加载你的Excel数据(仅保留OrderID和ItemName列即可;若有Quantity列,可通过Select Columns组件移除,或用Distinct组件去重OrderID+ItemName的组合,确保同一订单同一商品只留一行)
  • 连接Associate Rules组件,在组件设置中:
    • 将Transaction ID选择为OrderID(指定哪些行属于同一个订单事务)
    • 将Items选择为ItemName(指定要分析的商品项)
  • 降低规则阈值:默认的支持度、置信度阈值可能过高,导致无规则生成。尝试将Minimum support设为0.01(1%)、Minimum confidence设为0.1(10%),根据数据量灵活调整(数据量越小,阈值需越低)

二、用Excel转换为布尔矩阵(无代码)

如果需要手动转成布尔矩阵格式,用Excel内置功能即可完成:

  1. 提取唯一行和列
    • 复制原表的OrderID列到新工作表,选中列后点击数据>删除重复值,得到所有唯一订单ID,作为矩阵的行
    • 复制原表的ItemName列到新工作表,同样用删除重复值得到所有唯一商品,作为矩阵的列
  2. 生成布尔值
    • 在矩阵的第一个交叉单元格(对应第一个订单和第一个商品)输入公式:
      =IF(COUNTIFS(原表!$A:$A,$A2,原表!$B:$B,B$1)>=1,1,0)
      
      (说明:原表!$A:$A是原数据的OrderID列,原表!$B:$B是ItemName列,$A2是当前行的订单ID,B$1是当前列的商品名)
    • 选中该单元格,拖动填充柄覆盖所有行和列,即可生成1/0格式的布尔矩阵
  3. 将生成的布尔矩阵导入Orange3,直接连接Associate Rules组件即可(无需指定Transaction ID,每行即为一个事务)

三、排查之前的问题

  • 用Excel合并同一OrderID的商品为一行列表(如逗号分隔):这种格式Orange3无法识别为事务内的多个项,所以无法生成关联规则
  • 导入含Quantity的数据时出现频繁项单独识别:这是因为未正确指定Transaction ID,组件将每一行(单个商品)当成了独立事务,需确保在Associate Rules中设置Transaction ID为OrderID,让组件识别同一订单下的所有商品属于同一个事务

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 09:23:30