使用apriori算法进行推荐
a 最近的问题让我意识到很酷 Wikipedia文章完成: 第二个问题是生成 那些大型的关联规则 具有约束的项目集 最小的信心.假设其中一个 大型项目集为lk,lk = {i1,i2,… ,IK},关联与此规则 项目集是在 以下方式:第一个规则是{i1, i2,…,ik-1}⇒{ik},通过检查 信心可以确定这个规则 是否有趣与否.然后其他规则 通过删除最后一个 先例中的项目和插入 随之而来的是 新规则的信心是 检查以确定 他们的兴趣.那些 进行迭代,直到 先例变为空 我不确定协会规则集如何有助于确定最佳建议集.也许我错过了这一点,而Apriori并不是要用于此用途?在这种情况下,它是为了?是什么? 解决方案 因此,Apriori算法不再是市场篮分析的最新状态(aka 关联规则挖掘 ).这些技术已经改善,尽管APRIORI原理(子集上限的支撑套件的支撑)仍然是一种驱动力. 在任何情况下,关联规则的生成建议的方式是,鉴于某些历史记录项目集,我们可以检查每个规则的前
0 2024-01-23
编程技术问答社区
Apriori算法
我以前几次听说过Apriori算法,但从来没有时间或挖掘它的机会,有人可以简单地向我解释该算法的工作吗?另外,一个基本示例将使我更容易理解. 解决方案 好吧,我假设您已经阅读了Wikipedia条目,但是您说:"一个基本的例子会让我更容易理解". Wikipedia只有它,所以我假设您还没有阅读并建议您这样做. 阅读 wikipedia 文章. 其他解决方案 Apriori算法 这是一种用于数据集中频繁模式挖掘的候选生成和测试方法.您必须记住两件事. apriori修剪原理 - 如果任何项目集很少见,则不应生成/测试其超集. apriori属性 - 给定的(k+1)-itemset是候选人(k+1)-itemset,仅当每个人的k-itemset子集都经常使用时. 现在,这是4个步骤的Apriori算法. 最初,一次扫描数据库/数据集以获取频繁的1-itemset. 生成长度k+1 候选人长度k频繁的项目集. 测试针对数据库/数据集
6 2024-01-23
编程技术问答社区
如何在不考虑属性名称的情况下找到频繁项集?
我有一个数据集(CSV文件),可以使用Apriori算法找到频繁的项目集. col1, col2, col3 bread, butter,? coke, bread, butter 我将WEKA用于此目的. Ouput采用以下格式: ... Large Itemsets L(2): col1=bread col2= butter 1 col1=coke col2= bread 1 col1=coke col3= butter 1 col2= bread col3= butter 1 ... 但是我想要的输出是: bread, butter 2 基本上,上述输出与它们所属的col无关.我该如何实现这种输出? 解决方案 对数据的格式格式不同. weka期望列是相同的产品,值为t/f(对于true,false).然后,您将获得类型的牛奶= t-> butter = t. 请参阅WEKA中包含的.arff示例. 我认为我使用您的输入
10 2023-12-03
编程技术问答社区
如何在Weka的Apriori中施加句法限制
有一种方法可以在WEKA算法中插入句法约束? 例如,我只对具有特定项目的规则 i(x)出现在随之而来的规则或具有特定项目的规则 i(y)出现在上述约束的先例或组合中. 解决方案 您可以使用特定项目" i"(i(x)在您的符号中含义?)挖掘规则.为此,您需要将相应的列" i"为"类变量"设置,即使其成为最后一列(使用WEKA API).然后在" Apriori"参数中将" Car"设置为true(请参见下图),并且可能不要忘记降低" Minmetric",以便您拥有非零数量的规则
0 2023-12-03
编程技术问答社区
元组是另一个元组的子集-Apriori算法m
我正在尝试实现Apriori算法.在最后一步中,我有两个从产品列表中生成的两个元组. >>> arr1 = array([(2421,), (35682,), (30690,), ..., (18622,), (18285,), (31269,)], dtype=object) >>> arr2 = array([(2421, 35682), (2421, 30690), (2421, 24852), ..., (18622, 18285), (18622, 31269), (18285, 31269)], dtype=object)) 认为我需要检查arr1的哪个是arr2的suptples,即(2421, )是(2421, 30690)的副标. 我尝试了 >>> if (2421,) in (2421, 1231): ... print('Yes') ... else: ... print('No') 我得到No.我也尝试使用.iss
22 2023-10-05
编程技术问答社区
在RStudio中使用RWeka导入ARFF数据集(depencendy error: rJava)。
我目前正在使用 r用于Windows Verison 3.5.3和 rstudio 版本1.2.1335. 我的目标是使用 rweka 软件包导入ARFF dataset ,以便更具体地进行一些关联分析,以应用Apriori算法. 我想在r中分析一个数据集(.arff),并且由于便利,我正在使用RWEKA软件包,因为我的目标是应用Apriori算法,这是该软件包上可用的一位协会. 该软件包需要一些依赖项(rwekajars e rjava),它们已成功安装. 但是,当我尝试运行脚本时(我将离开脚本bellow),我总是会遇到与依赖项之一有关的错误(onLoad failed in loadNamespace() for 'rJava'). 任何指导都将不胜感激. 脚本 library(rJava) library(RWeka) x
12 2023-08-14
编程技术问答社区
R-关联规则-先验
我正在运行这样的Apriori算法: rules head(dt) Cus T C B 1: C1 0 1 1 2: C2 0 1 0 3: C3 0 1 0 4: C4 0 1 0 5: C5 0 1 0 6: C6 0 1 1 数据集的想法是捕获客户,以及他是否在特定购买时购买了三个不同的物品(T,C和B).例如,根据上面的信息,我们可以看到C1购买了C和B;客户C2至C5仅购买C,客户C6仅购买C和B. 输出如下: lhs rhs support confidence lift 1 {} => {T=0} 0.90 0.9000000 1.0000000 2 {} => {C=1} 0.91 0.9100000 1.0000000 3 {B=0} => {T=0}
10 2023-07-28
编程技术问答社区
我如何为数据挖掘程序对数据进行分类?
我使用apriori函数正在执行数据挖掘过程.此函数仅适用于无值但只有文本的分类数据.我的数据集满足了这些要求,因为我有五个类别变量,没有数值值,但只有文本(因此变量"性"分为"女性"和"男性") 如果我现在尝试apriori()函数,我会收到以下错误: apriori(data) asMethod(object)中的错误: column(s) 1, 2, 3, 4, 5 not logical or a factor. Use as.factor or categorize first. 尽管我的数据看起来是分类的,但R并未得到它.我如何使用as.factor函数正确分类我的数据,以使Apriori函数有效? 解决方案 您可以将所有列转换为一个因素: data
10 2023-07-21
编程技术问答社区
Apyori 相关性测量
我正在使用 rules = apriori(trs, min_support = 0.02, min_confidence = 0.1, min_lift = 3) rules是一个发电机,可以转换为res=list(rules)的列表.对于大型数据集,list(rules)似乎需要很长时间. 您能帮我了解规则是否在某些标准中进行排序,以便我只能检索最重要的最相关规则?或者,例如,用lift排序rules的最有效方法是什么. 这是典型输出的样子(即列表中的元素): RelationRecord(items=frozenset({'chicken', 'light cream'}), > support=0.004532728969470737, > ordered_statistics=[OrderedStatistic(items_base=frozenset({'light cream'}), > items_add=frozenset({'chicke
6 2023-07-21
编程技术问答社区
编写由Apriori生成的规则
我正在使用一些大型交易数据.我一直在使用Read.Transactions和Apriori(Arules套件的一部分)来挖掘经常配对. 我的问题是:生成规则时(使用" Inspect()),我可以轻松地在R控制台中查看它们.现在,我将结果手动复制到文本文件中,然后在Excel中保存并打开.我想仅使用write.csv或类似的内容保存生成的规则,但是当我尝试时,我会收到一个错误,该错误无法将数据胁迫. . 有人在R? 中成功地做到这一点 解决方案 我知道我正在回答自己的问题,但是我发现解决方案是使用AS()将规则转换为数据框架. [我是R的新手,所以我第一次搜索解决方案. P> > mba = read.transactions(file="Book2.csv",rm.duplicates=FALSE, format="single", sep=",",cols=c(1,2)); > rules_1
44 2023-07-20
编程技术问答社区
用data()加载一个数据集到R,用一个变量代替数据集的名称
我试图使用数据()函数将数据集加载到R中.当我使用数据集名称(例如data(Titanic)或data("Titanic"))时,它可以正常工作.对我不起作用的是使用变量而不是其名称加载数据集.例如: # This works fine: > data(Titanic) # This works fine as well: > data("Titanic") # This doesn't work: > myvar data(myvar) **Warning message: In data(myvar) : data set ‘myvar’ not found** 为什么r寻找名为" myvar"的数据集,因为没有引用它? 而且由于这是默认行为,所以没有一种方法可以加载存储在变量中的数据集吗? 在记录中,我要做的是创建使用" Arules"软件包和使用Apriori的" Arules"软件包和矿山协会规则的函数.因此,我需要将数据集作为参数
14 2023-07-19
编程技术问答社区
使用Apriori算法和Pandas进行顺序规则挖掘
我正在使用Apriori算法和FPA执行顺序规则挖掘,我想知道,我想知道,我应该知道,我应该如何将数据加载到pandas dataframe中,我使用的是以下是以下read_excel命令,但是数据包含 - - - >在单一列中,如下所示. . 我应该如何加载和执行模式开采. 解决方案 message是字符串类型,elif "what is" in message:在语法中似乎是正确的. 您是否检查了缩进是否正确?有时该错误可能是非常简单的事情.
14 2023-07-11
编程技术问答社区
在一个列表中找到2^n-2个元素的组合
我有以下列表: list1 = ['g1','g2','g3','g4'] 我想找到2^n-2组合,其中n是列表中的项目总数.对于n = 4,结果应为2^4 -2 = 14,即14个组合. 组合是: [[['g1'],['g2','g3','g4']],[['g2'],['g1','g3','g4']], [['g3'],['g1','g2','g4']],['g4'],['g1','g2','g3']],[['g1','g2'],['g3','g4']],[['g1','g3'],['g2','g4']],[['g1','g4'],['g3','g4']],[['g2','g3'],['g1','g4']], [['g2','g4'],['g1','g3']],[['g3','g4'],['g1','g2']],[['g1','g2','g3'],['g4']],[['g2','g3','g4'],['g1']],[['g3','g4','g1'],['g2']]
12 2023-07-09
编程技术问答社区
在数据集上应用交易编码器
我想将Apriori算法应用于零售数据集(零售商店的市场篮数据).它具有形式的数据: - 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 38 39 47 48 38 39 48 49 50 51 52 53 54 55 56 57 58 32 41 59 60 61 62 3 39 48 因此,为了使用Apriori算法,我需要以: - 的形式将列表列表列表的形式形式为: - Column Names as 0 1 2 3 4 5 6 7 8 9 10........ 数据集为: 0 1 2 3 4 5 6 7 8 9 10 .........30 31 32 33 34 35.... 1 1 1 1 1 1 1 1 1 1 1..
26 2023-06-29
编程技术问答社区
是否可以在mysql语句中运行apriori关联规则?
数据库: Transacation# Items List T1 butter T1 jam T2 butter T3 bread T3 ice cream T4 butter T4 jam 在上表中, 是否可以在MySQL语句中运行Apriori关联规则? 例如,buys的支持(t,butt) - > buys(t,jam)= 50% 因为有4个交易和T1,T4满足"支持"规则. 我可以只使用SQL语句找出此类结果吗? 解决方案 是的,您可以使用SQL来找到单个项目的支持.但是,如果您想找到包含多个项目的项目集,那将是困难的. 例如,如果您有包含多个项目的交易,并且想一起出现"牛奶"和"面包"的"果酱"的支持,那么最好使用像Apriori这样的算法或更快的算法像
24 2023-06-25
编程技术问答社区
在Pandas中从n种可能性中有效地选择r种结果
我有50年的数据.我需要选择30年的组合,以使与它们相对应的值达到特定的阈值值,但是50C30的可能组合数为47129212243960. 如何有效地计算它? Prs_100 Yrs 2012 425.189729 2013 256.382494 2014 363.309507 2015 578.728535 2016 309.311562 2017 476.388839 2018 441.479570 2019 342.267756 2020 388.133403 2021 405.007245 2022 316.108551 2023 392.193322 2024 296.545395 2025 467.388
10 2023-05-18
编程技术问答社区
从2-项目集创建k-项目集
我编写了以下代码,以生成2个元素集中的K元素项.这两个元素集以Clist1和clist2的形式传递给cantiateMetengen. public static void candidateItemsetGen(ArrayList clist1, ArrayList clist2) { for(int i = 0; i
36 2023-01-04
编程技术问答社区
用于Apriori算法的超市数据集
'我必须开发一个用于"未来商店"超市业务分析师的软件,该软件在超市销售交易的给定过渡数据上执行协会规则挖掘,并通过准备组合来准备折扣政策. 该软件利用数据挖掘算法(即Apriori算法).协会规则将以用户友好的方式显示以生成折扣 基于积极关联规则的政策. 从哪里可以获取超市数据集来检查我已编码的APRIORI算法? 解决方案 要获取市场数据集,您可以转到这里:fimi.ua.ac.be/data/并下载零售 dataset. 这是比利时商店的匿名交易数据集. 它非常适合测试APRIORI或其他频繁的项目集挖掘和关联规则挖掘算法. 其他解决方案 您应该为每个单元测试设计一个小的,特定的数据集,而不是寻找现实世界中的数据集.数据集应提供最小的必要前提,以验证系统的单个功能.这将使检测错误,随着时间的推移进行测试并向其他开发人员展示系统的功能和使用模式变得更加容易. 来自其他域的一个示例将是对用户子系统的测试,该子系统创建并验证了网站的登录. ad
138 2022-11-28
编程技术问答社区