首页 > 解决方案 > Apriori 算法:我在交易中做错了什么

问题描述

我正在尝试在我拥有的数据集上运行 Apriori 算法

这是我正在运行的代码

data <- opp %>%
 left_join(products, by = "product_id") %>%
 left_join(aisles, by ="aisle_id") %>%
 group_by(order_id) %>%
 summarise(basket = as.vector(list(aisle)))

 transaction_prior<-as(data,"transactions")
 aisle_basket_rules <- apriori(transaction_prior, parameter = list(support=0.1, confidence = 0.6, minlen=3,maxlen=10,target = "rules"))
 aisle_basket_rules

当我尝试创建transaction对象变量名称时:transaction_prior 我收到以下错误:

  Error in asMethod(object) : 
   column(s) 1, 2 not logical or a factor. Discretize the columns first.

我也尝试discretize了方法,而不是使用summarise来自 dplyr 的方法,但是我的先验不会给出任何结果,要么需要很长时间,要么返回 0 规则。

谁能向我解释我哪里出错了?

这是data变量中存在的数据:

kable(头(数据,25))

   order_id basket
   2    c(42, 54, 123, 90, 7, 54, 40, 125, 99)
   3    c(134, 120, 99, 99, 120, 54, 105, 12)
   4    c(13, 30, 43, 14, 14, 14, 14, 26, 129, 33, 111, 44, 44)
   5    c(51, 113, 107, 99, 84, 100, 132, 78, 96, 94, 75, 97, 32, 19, 54,125, 100, 32, 11, 94, 100, 51, 41, 51, 51, 33)
   6    c(111, 80, 1)
   7    c(111, 63)
   8    17
   9    c(54, 99, 99, 134, 32, 20, 54, 90, 132, 12, 12, 76, 120, 94, 67)
   10   c(51, 54, 52, 51, 54, 52, 51, 5, 5, 22, 54, 34, 83, 54, 54)
   11   c(60, 50, 22, 26, 90)
   12   c(34, 84, 54, 34, 76, 76, 76, 76, 119, 61, 129, 129, 129, 55, 39)
   13   c(10, 108, 124, 118, 108, 44, 44, 111, 132, 118, 93, 93, 26)
   14   c(29, 84, 57, 55, 94, 25, 134, 56, 2, 63, 51)
   15   c(132, 90, 22, 117, 117)
   16   c(104, 132, 26)
   18   c(100, 54, 15, 99, 84, 132, 51, 99, 5, 51, 54, 18, 2, 63, 22, 5, 5,31, 125, 31, 89, 54, 125, 54, 71, 54, 51, 106)
   19   c(99, 120, 54)
   20   c(32, 57, 54, 134, 44, 51, 51, 26)
   21   c(127, 127, 51, 94, 29)
   22   c(84, 12, 51, 54, 99, 42, 94, 54, 105, 81, 13, 93, 54, 49)
   23   c(99, 54, 54, 54, 51, 41, 64, 127, 51, 54, 93, 113, 19, 91)
   24   c(72, 72, 72)
   25   c(104, 104, 63, 57, 94, 94, 42, 71, 55, 39, 62, 60, 94, 99)
   26   c(120, 51, 51, 96, 42, 99, 63, 51)
   27   c(51, 134, 50, 50, 19, 119, 51, 54, 93, 54, 21, 22, 127, 54, 101, 54, 54, 94, 41, 99, 63, 63, 127, 54, 7, 7, 49)

这是变量的dput转储:data

输入(头(数据,5))

结构(列表(订单 ID = 2:6,篮子 = 列表(结构(c(42L,54L,123L,90L,7L,54L,40L,125L,99L),.Label = c(“空气清新剂蜡烛”,“亚洲食品”、“婴儿配饰”、“婴儿沐浴身体护理”、“婴儿食品配方”、“烘焙甜点”、“烘焙原料”、“烘焙用品装饰”、“美容”、“啤酒冷却器”、“润肤露香皂” ”、“面包”、“早餐面包店”、“早餐棒糕点”、“散装干果蔬菜”、“散装谷物米干货”、“面包卷”、“黄油”、“糖果巧克力”、“罐装水果苹果酱” ", "罐装蔬菜罐头", "罐头豆类", "罐头肉类海鲜", "猫粮护理”、“谷物”、“脆饼干”、“清洁产品”、“可可饮料混合物”、“咖啡”、“感冒过敏”、“调味品”、“饼干蛋糕”、“饼干”、“奶油” ”,“除臭剂”,“尿布湿巾”,“消化”,“餐具清洁剂”,“狗粮护理”,“面团明胶烘焙混合物”,“干意大利面”,“鸡蛋”,“能量燕麦棒”,“能量运动饮料”、“眼耳护理”、“面部护理”、“女性护理”、“急救”、“食物储藏”、“新鲜蘸酱”、“新鲜水果”、“新鲜香草”、“新鲜意大利面” , “新鲜蔬菜”, ”冷冻开胃菜”、“冷冻面包面团”、“冷冻早餐”、“冷冻甜点”、“冷冻果汁”、“冷冻餐”、“冷冻肉类海鲜”、“冷冻比萨”、“冷冻农产品”、“冷冻素食”素食”、“水果蔬菜零食”、“谷物米干”、“格兰诺拉麦片”、“护发”、“蜂蜜糖浆花蜜”、“热麦片煎饼混合物”、“热狗培根香肠”、“冰淇淋冰” ,“冰淇淋配料”,“印度食品”,“速食食品”,“果汁花蜜”,“厨房用品”,“犹太食品”,“拉丁食品”,“洗衣店”,“午餐肉”,“腌肉制品” ",“肉类柜台”,“牛奶”,“薄荷口香糖”,“失踪”,“更多家庭”,“肌肉关节疼痛缓解”,“坚果种子干果”,“油醋”,“口腔卫生”,“其他” ,“其他奶油奶酪”,“包装奶酪”,“包装肉类”,“包装家禽”,“包装农产品”,“包装海鲜”,“包装蔬菜水果”,“纸制品”,“意大利面酱”,“腌制商品橄榄”、“盘子碗杯餐具”、“爆米花干”、“家禽柜台”、“准备好的饭菜”、“准备好的汤沙拉”、“腌制蘸酱”、“蛋白质代餐”、“红酒”、“冷藏”、“冷藏布丁甜点”、“沙拉酱配料”、“海鲜柜台”、“剃须需求”、“皮肤护理”、“肥皂”、“软饮料”、“汤汤”、“无乳糖”、 “特色奶酪”、“特色葡萄酒香槟”、“香料调味料”、“烈酒”、“涂抹酱”、“茶”、“豆腐肉替代品”、“玉米饼扁平面包”、“小道混合小吃组合”、“垃圾袋”衬里”,“维生素补充剂”,“苏打水苏打水”,“白葡萄酒”,“酸奶”),类别 = “因子”),结构(c(134L、120L、99L、99L、120L、54L、105L, 12L), .Label = c("空气清新剂蜡烛",“亚洲食品”、“婴儿配饰”、“婴儿沐浴身体护理”、“婴儿配方奶粉”、“烘焙甜点”、“烘焙原料”、“烘焙用品装饰”、“美容”、“啤酒冷却器”、“身体”乳液肥皂”,“面包”,“早餐面包店”,“早餐棒糕点”,“散装干果蔬菜”,“散装谷物米干货”,“面包卷”,“黄油”,“糖果巧克力”,“罐头水果苹果酱”、“罐装蔬菜罐头”、“豆类罐头”、“海鲜罐头”、“猫粮护理”、“谷物”、“脆饼”、“清洁产品”、“可可饮料混合物”、“咖啡”、“感冒过敏”、“调味品”、“饼干蛋糕”、“饼干”、“奶油”、“除臭剂”、“尿布湿巾”、“消化”、“餐具清洁剂”、 “狗粮护理”,“面团明胶烘焙混合物”,“干意大利面”,“鸡蛋”,“能量燕麦棒”,“能量运动饮料”,“眼耳护理”,“面部护理”,“女性护理”, “急救”、“食品储存”、“新鲜蘸酱”、“新鲜水果”、“新鲜香草”、“新鲜意大利面”、“新鲜蔬菜”、“冷冻开胃菜”、“冷冻面包面团”、“冷冻早餐”、“冷冻甜点”、“冷冻果汁”、“冷冻餐”、“冷冻肉类海鲜”、“冷冻比萨”、“冷冻农产品”、“冷冻素食”、“水果蔬菜零食”、“谷物米干货” 、“格兰诺拉麦片”、“护发”、“蜂蜜糖浆”、“热麦片煎饼混合物”、“热狗培根香肠”、“冰淇淋冰”、“冰淇淋配料”、“印度食品”、“速溶食品” ”,“果汁花蜜”,“厨房用品”,“犹太食品”,“拉丁食品”,“洗衣店”,“午餐肉”,“腌制肉类”,“肉类柜台”,“牛奶”,“薄荷口香糖” ,“失踪”,“更多家庭”,“肌肉关节疼痛缓解”,“坚果种子干果”,“油醋”,“口腔卫生”,“其他”,“其他奶油奶酪”,“包装奶酪”,“包装肉类”、“包装家禽”、“包装农产品”、“包装海鲜”、“包装蔬菜水果”、“纸制品”、“意大利面酱”、“腌制品橄榄”、“盘子碗杯餐具”、“爆米花干” ”、“家禽柜台”、“准备好的饭菜”、“准备好的汤沙拉”、“腌制蘸酱”、“蛋白质代餐”、“红酒”、“冷藏”、“冷冻布丁甜点”、“沙拉酱配料”、“海鲜柜台”、“剃须需求”、“护肤”、“肥皂”、“软饮料”、“汤汤”、“无乳糖”、“特色奶酪” 、“特色葡萄酒香槟”、“香料调味料”、“烈酒”、“涂抹酱”、“茶”、“豆腐肉替代品”、“玉米饼扁平面包”、“小道混合小吃”、“垃圾袋衬垫”、“维生素补充剂”、“苏打水苏打水”、“白葡萄酒”、“酸奶”)、类别 = “因子”)、结构(c(13L、30L、43L、14L、14L、14L、14L、26L、129L、 33L, 111L, 44L, 44L), .Label = c("空气清新剂蜡烛”、“亚洲食品”、“婴儿配饰”、“婴儿沐浴身体护理”、“婴儿食品配方”、“烘焙甜点”、“烘焙原料”、“烘焙用品装饰”、“美容”、“啤酒”冷却器”、“润肤露肥皂”、“面包”、“早餐面包店”、“早餐棒糕点”、“散装干果蔬菜”、“散装谷物米干货”、“面包卷”、“黄油”、“糖果”巧克力”、“水果苹果酱罐头”、“罐装蔬菜罐头”、“豆类罐头”、“海鲜罐头”、“猫粮护理”、“谷物”、“椒盐脆饼”、“清洁产品”、“可可饮料混合物”、“咖啡”、“感冒过敏”、“调味品”、“饼干蛋糕”、“饼干”、“奶油”、“除臭剂”、“尿布湿巾”、“消化”、 “餐具清洁剂”、“狗粮护理”、“面团明胶烘焙混合物”、“干意大利面”、“鸡蛋”、“能量燕麦棒”、“能量运动饮料”、“眼耳护理”、“面部护理”、 “女性护理”、“急救”、“食物储存”、“新鲜蘸酱”、“新鲜水果”、“新鲜香草”、“新鲜意大利面”、“新鲜蔬菜”、“冷冻开胃菜”、“冷冻面包面团”、“冷冻早餐”、“冷冻甜点”、“冷冻果汁”、“冷冻食品”、“冷冻肉类海鲜”、“冷冻比萨”、“冷冻农产品”、“冷冻素食主义者”、“水果蔬菜”零食”、“谷物米干”、“格兰诺拉麦片”、“护发”、“蜂蜜糖浆”、“热麦片煎饼混合物”、“热狗培根香肠”、“冰淇淋冰”、“冰淇淋配料” ,“印度食品”,“速食食品”,“果汁花蜜”,“厨房用品”,“犹太食品”,“拉丁食品”,“洗衣店”,“午餐肉”,“腌制肉类”,“肉类柜台”,“牛奶”,“薄荷口香糖”,“失踪”,“更多家庭”,“肌肉关节疼痛缓解”,“坚果种子干果”,“油醋”,“口腔卫生”,“其他”, “其他奶油奶酪”、“包装奶酪”、“包装肉类”、“包装家禽”、“包装农产品”、“包装海鲜”、“包装蔬菜水果”、“纸制品”、“意大利面酱”、“腌制品”橄榄”、“盘子碗杯餐具”、“爆米花干”、“家禽柜台”、“准备好的饭菜”、“准备好的汤沙拉”、“腌制蘸酱”、“蛋白质代餐”、“红葡萄酒”、“冷藏”、“冷藏布丁甜点”、“沙拉酱配料”、“海鲜柜台”、“剃须需求”、“护肤”、“肥皂”、“软饮料”、“汤汤”、 “大豆无乳糖”、“特色奶酪”、“特色葡萄酒香槟”、“香料调味料”、“烈酒”、“涂抹酱”、“茶”、“豆腐肉替代品”、“玉米饼扁平面包”、“小道混合零食混合” ”、“垃圾袋衬垫”、“维生素补充剂”、“苏打水苏打水”、“白葡萄酒”、“酸奶”)、类别 =“因子”)、结构(c(51L、113L、107L、99L、84L) , 100L, 132L,78L, 96L, 94L, 75L, 97L, 32L, 19L, 54L, 125L, 100L, 32L, 11L, 94L, 100L, 51L, 41L, 51L, 51L, 33L), .Label = c("空气清新剂蜡烛", “亚洲食品”、“婴儿配饰”、“婴儿沐浴身体护理”、“婴儿配方奶粉”、“烘焙甜点”、“烘焙原料”、“烘焙用品装饰”、“美容”、“啤酒冷却器”、“身体”乳液肥皂”,“面包”,“早餐面包店”,“早餐棒糕点”,“散装干果蔬菜”,“散装谷物米干货”,“面包卷”,“黄油”,“糖果巧克力”,“罐头水果苹果酱”、“罐装罐装蔬菜”、“罐装豆类”、“肉类海鲜罐头”、“猫粮护理”、“谷物”、“椒盐脆饼”、“清洁产品”、“可可饮料混合物”、“咖啡”、“感冒过敏”、“调味品”、“饼干蛋糕”、 “饼干”、“奶油”、“除臭剂”、“尿布湿巾”、“消化”、“餐具清洁剂”、“狗粮护理”、“面团明胶烘焙混合物”、“干面食”、“鸡蛋”、“能量”格兰诺拉麦片棒”、“能量运动饮料”、“眼耳护理”、“面部护理”、“女性护理”、“急救”、“食物储存”、“新鲜蘸酱”、“新鲜水果”、“新鲜草药” ", "新鲜意大利面”、“新鲜蔬菜”、“冷冻开胃菜”、“冷冻面包面团”、“冷冻早餐”、“冷冻甜点”、“冷冻果汁”、“冷冻餐”、“冷冻肉类海鲜”、“冷冻披萨” ”、“冷冻农产品”、“冷冻素食”、“水果蔬菜零食”、“谷物米干制品”、“格兰诺拉麦片”、“头发护理”、“蜂蜜糖浆花蜜”、“热谷物煎饼混合物”、“热狗培根香肠”、“冰淇淋冰”、“冰淇淋配料”、“印度食品”、“速溶食品”、“果汁花蜜”、“厨房用品”、“犹太食品”、“拉丁食品”、“洗衣”、“午餐肉”、“腌肉准备”、“肉类柜台”、“牛奶”、“薄荷口香糖”、“失踪”、“更多家庭”、“肌肉关节疼痛缓解”、“坚果种子干果” 、“油醋”、“口腔卫生”、“其他”、“其他奶油奶酪”、“包装奶酪”、“包装肉类”、“包装家禽”、“包装农产品”、“包装海鲜”、“包装蔬菜水果”、“纸制品”、“意大利面酱”、“腌制品橄榄”、“盘子碗杯餐具”、“爆米花干”、“家禽柜台”、“准备好的饭菜”、“准备好的汤沙拉”、“腌制蘸酱”、“蛋白质代餐”、“红酒”、“冷藏”、“冷藏布丁甜点”、“沙拉酱配料”、“海鲜柜台”、“剃须需求”、“护肤”、“肥皂” ”、“软饮料”、“汤汤”、“无乳糖”、“特色奶酪”、“特色葡萄酒香槟”、“香料调味料”、“烈酒”、“涂抹酱”、“茶”、“豆腐肉替代品” ”、“玉米饼扁平面包”、“小道混合零食组合”、“垃圾袋衬垫”、“维生素补充剂”、“苏打水苏打水”、“白葡萄酒”、“酸奶”)、class = "factor"), structure(c(111L, 80L, 1L), .Label = c("空气清新剂蜡烛", "亚洲食品", "婴儿配饰", "婴儿沐浴身体护理", "婴儿食品配方”、“烘焙甜点”、“烘焙原料”、“烘焙用品装饰”、“美容”、“啤酒冷却器”、“润肤露肥皂”、“面包”、“早餐面包店”、“早餐棒糕点”、“散装”蔬菜干”、“大米干货”、“面包卷”、“黄油”、“糖果巧克力”、“水果苹果酱罐头”、“罐装蔬菜罐头”、“罐头豆类”、“罐头肉类海鲜” , "猫粮护理”、“谷物”、“脆饼干”、“清洁产品”、“可可饮料混合物”、“咖啡”、“感冒过敏”、“调味品”、“饼干蛋糕”、“饼干”、“奶油” ”,“除臭剂”,“尿布湿巾”,“消化”,“餐具清洁剂”,“狗粮护理”,“面团明胶烘焙混合物”,“干意大利面”,“鸡蛋”,“能量燕麦棒”,“能量运动饮料”、“眼耳护理”、“面部护理”、“女性护理”、“急救”、“食物储藏”、“新鲜蘸酱”、“新鲜水果”、“新鲜香草”、“新鲜意大利面” , "新鲜蔬菜”、“冷冻开胃菜”、“冷冻面包面团”、“冷冻早餐”、“冷冻甜点”、“冷冻果汁”、“冷冻餐”、“冷冻肉类海鲜”、“冷冻披萨”、“冷冻农产品” ”、“冷冻素食”、“水果蔬菜零食”、“谷物米干货”、“格兰诺拉麦片”、“护发”、“蜂蜜糖浆花蜜”、“热麦片煎饼混合物”、“热狗培根香肠”、 “冰淇淋冰”、“冰淇淋配料”、“印度食品”、“速食食品”、“果汁花蜜”、“厨房用品”、“犹太食品”、“拉丁食品”、“洗衣店”、“午餐肉”、“腌制肉类”、“肉类柜台”、“牛奶”、“薄荷口香糖”、“失踪”、“更多家庭”、“肌肉关节疼痛缓解”、“坚果种子干果”、“油醋汁” ”、“口腔卫生”、“其他”、“其他奶油奶酪”、“包装奶酪”、“包装肉类”、“包装家禽”、“包装农产品”、“包装海鲜”、“包装蔬菜水果”、“纸商品”、“意大利面酱”、“腌制品橄榄”、“盘子碗杯子餐具”、“爆米花干”、“家禽柜台”、“准备好的饭菜”、“准备好的汤沙拉”、“腌制蘸酱”、“蛋白质代餐”、“红酒”、“冷藏”、“冷藏布丁甜点”、“沙拉酱配料”、“海鲜柜台”、“剃须需求”、“护肤”、“肥皂” 、“软饮料”、“汤汤”、“无乳糖”、“特色奶酪”、“特色葡萄酒香槟”、“香料调味品”、“烈酒”、“涂抹酱”、“茶”、“豆腐肉替代品” ,“玉米饼扁平面包”,“trail mix 零食混合物”,“垃圾袋衬里”,“维生素补充剂”,“苏打水苏打水”,“白葡萄酒”,“酸奶”),class = "factor"))), .Names = c("order_id", "basket"), row.names = c(NA, -5L), class = c("tbl_df", "tbl", "data.框架”))

标签: rtransactionsapriorimarket-basket-analysis

解决方案


推荐阅读