R_Studio(关联)使用apriori函数简单查看数据存在多少条关联规则,并按支持度降序排序输出
2018-11-01 21:41
519 查看
查看数据menu_orders.txt文件存在多少条关联规则,并按支持度降序排序输出
read.transactions(file, format =c("basket", "single"), sep = NULL, cols = NULL, rm.duplicates =FALSE, encoding = "unknown") file:文件名,对应click_detail中的“click_detail.txt” format:文件格式,可以有两种,分别为“basket”,“single”,click_detail.txt中用的是basket。basket: basket就是篮子,一个顾客买的东西都放到同一个篮子,所有顾客的transactions就是一个个篮子的组合 结果。如下形式,每条交易都是独立的。single: single的意思,顾名思义,就是单独的交易,简单说,交易记录为:顾客1买了产品1, 顾客1买了产品2,顾客2买了产品3……(产品1,产品2,产品3中可以是单个产品,也可以是多个产品) sep:文件中数据是怎么被分隔的,默认为空格,click_detail里面用逗号分隔 cols:对basket, col=1,表示第一列是数据的transaction ids(交易号),如果col=NULL,则表示数据里面没有交易号这一列;对single,col=c(1,2)表示第一列是transaction ids,第二列是item ids rm.duplicates:是否移除重复项,默认为FALSE encoding:写到这里研究了encoding是什么意思,发现前面txt可以不是”ANSI”类型,如果TXT是“UTF-8”,写encoding=”UTF-8”。read.transactions函数
实现过程
读取数据并展示
> setwd('D:\\data') > Gary<- read.transactions("menu_orders.txt", format = "basket", sep=",") > summary(Gary)
transactions as itemMatrix in sparse format with 10 rows (elements/itemsets/transactions) #10行(元素/项集/事务) 5 columns (items) and a density of 0.54 #5列(项)和0.54的密度 most frequent items: b a c e d (Other) 8 7 7 3 2 0 element (itemset/transaction) length distribution: #元素(项集/事务)长度分布 sizes 2 3 4 5 3 2 Min. 1st Qu. Median Mean 3rd Qu. Max. 2.0 2.0 2.5 2.7 3.0 4.0 includes extended item information - examples: labels 1 a 2 b 3 c
查看部分规则
> inspect(Gary) items [1] {a,c,e} [2] {b,d} [3] {b,c} [4] {a,b,c,d} [5] {a,b} [6] {b,c} [7] {a,b} [8] {a,b,c,e} [9] {a,b,c} [10] {a,c,e}
支持度0.2,置信度0.5
> rules0=apriori(Gary,parameter=list(support=0.2,confidence=0.5)) Apriori Parameter specification: confidence minval smax arem aval originalSupport maxtime support minlen maxlen target ext 0.5 0.1 1 none FALSE TRUE 5 0.2 1 10 rules FALSE Algorithmic control: #算法控制: filter tree heap memopt load sort verbose #过滤树堆 0.1 TRUE TRUE FALSE TRUE 2 TRUE Absolute minimum support count: 2 #绝对最小支持计数:2 set item appearances ...[0 item(s)] done [0.00s]. set transactions ...[5 item(s), 10 transaction(s)] done [0.00s]. sorting and recoding items ... [5 item(s)] done [0.00s]. creating transaction tree ... done [0.00s]. checking subsets of size 1 2 3 done [0.00s]. writing ... [18 rule(s)] done [0.00s]. creating S4 object ... done [0.00s].
按支持度降序排序输出
> rules0.sorted_sup = sort(rules0, by="support") > rules0 set of 18 rules
#根据支持度对求得的关联规则子集进行查看 > inspect(rules0) lhs rhs support confidence lift count [1] {} => {c} 0.7 0.7000000 1.0000000 7 [2] {} => {b} 0.8 0.8000000 1.0000000 8 [3] {} => {a} 0.7 0.7000000 1.0000000 7 [4] {d} => {b} 0.2 1.0000000 1.2500000 2 [5] {e} => {c} 0.3 1.0000000 1.4285714 3 [6] {e} => {a} 0.3 1.0000000 1.4285714 3 [7] {c} => {b} 0.5 0.7142857 0.8928571 5 [8] {b} => {c} 0.5 0.6250000 0.8928571 5 [9] {c} => {a} 0.5 0.7142857 1.0204082 5 [10] {a} => {c} 0.5 0.7142857 1.0204082 5 [11] {b} => {a} 0.5 0.6250000 0.8928571 5 [12] {a} => {b} 0.5 0.7142857 0.8928571 5 [13] {c,e} => {a} 0.3 1.0000000 1.4285714 3 [14] {a,e} => {c} 0.3 1.0000000 1.4285714 3 [15] {a,c} => {e} 0.3 0.6000000 2.0000000 3 [16] {b,c} => {a} 0.3 0.6000000 0.8571429 3 [17] {a,c} => {b} 0.3 0.6000000 0.7500000 3 [18] {a,b} => {c} 0.3 0.6000000 0.8571429 3
相关文章推荐
- 使用Orange进行数据挖掘之关联------Apriori
- 使用sql server management studio 2008 连接数据库,无法查看数据库,提示 无法为该请求检索数据 错误916
- Oracle SQL Lesson (5) - 使用组函数输出聚合数据
- 利用copy函数简单快速输出/保存vector向量容器中的数据
- 使用dumpbin命令查看dll导出函数及重定向输出到文件
- 使用sql server management studio 2008 无法查看数据库,提示 无法为该请求检索数据 错误916解决方法
- 使用dumpbin命令查看dll导出函数及重定向输出到文件
- 使用js函数对select中的option排序后输出
- 简单说明一下JS中的函数声明存在的“先使用,后定义”
- 使用BBED查看数据文件头(block# 1)的简单使用及查询DBID/DB_NAME等信息
- 使用dumpbin命令查看dll导出函数及重定向输出到文件(VS自带)
- 使用sql server management studio 2008 连接数据库,无法查看数据库,提示 无法为该请求检索数据 错误916
- 使用JMX查看一个简单的main方法运行有多少个线程参与
- [SQL]远程使用PostgreSQL Studio可视化查看PostgreSQL数据库
- 利用copy函数简单快速输出/保存vector向量容器中的数据
- oracle 使用instr()函数对in查询出的记录按照in中的数据进行排序
- JSP基础语法之一:Scriptlet使用、简单的JSP获取表单数据再输出表格
- 一月十日练习习题,1数组数据存入字典并输出2降序 和倒叙 输出数组中内容3对字符串当中信息进行查找是否存在4 把数组当中信息按照中文排序
- printf函数使用—针对不同数据类型的输出结果详解
- 使用fwrite()函数和fprintf()函数输出数据到文件时的区别