1.下载Matrix和arules包

install.packages(c("Matrix","arules"))

2.载入引入Matrix和arules包

# 引入Matrix和arules包
library(Matrix)
library(arules)

3.读取数据

# 读入数据
dataset <- mysql_find(sql)

4.数据转换

# 将数据框转为矩阵
dataset2 <- as.matrix(dataset)
# 转换为交易流数据transactions
dataset2.class<-as(dataset2,"transactions")

5.调用apriori算法

rules<-apriori(dataset2.class,parameter=list(supp=0.7,conf=0.8,target="rules"))
# 指定前导为item1
rules<-apriori(dataset2.class,parameter=list(supp=supp,conf=conf,target="rules"),appearance= list(rhs="item1",default="lhs"))

6.将结果保存

# 写入
write.table(inspect(rules), file = paste("app/save/aprio/",filename,".txt",sep =""), col.names = F, row.names = F, quote=F)

封装AprioriHelper.R类

# 引入Matrix和arules库
library(Matrix)
library(arules) # 引入脚本文件
source('Helper/mysql_helper.R', encoding = 'UTF-8') # 构建aprio函数
aprio <- function(sql,supp,conf,filename){ # 读入数据
dataset <- mysql_find(sql)[,:] # 修改列名
names(dataset) <- c("item1", "item2", "item3", "item4", "item5", "item6", "item7", "item8", "item9", "item10", "item11", "item12", "item13", "item14", "item15") # 将数据框转为矩阵
dataset2 <- as.matrix(dataset) # 转换为交易流数据transactions
dataset2.class<-as(dataset2,"transactions") # 调用apriori算法
if(filename=="all"){
rules<-apriori(dataset2.class,parameter=list(supp=supp,conf=conf,target="rules"))
}else{
rules<-apriori(dataset2.class,parameter=list(supp=supp,conf=conf,target="rules"),appearance= list(rhs="item1",default="lhs"))
} # 写入
write.table(inspect(rules), file = paste("app/save/aprio/",filename,".txt",sep =""), col.names = F, row.names = F, quote=F) }

R语言中的Apriori关联规则的使用的更多相关文章

  1. 掌握R语言中的apply函数族(转)

    转自:http://blog.fens.me/r-apply/ 前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是 ...

  2. R语言中的factor

    对于初学者来说,R语言中的factor有些难以理解.如果直译factor为“因子”,使得其更加难以理解.我倾向于不要翻译,就称其为factor,然后从几个例子中理解: <span style=& ...

  3. R语言中apply函数

    前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是为什么呢?原因在于R的循环操作for和while,都是基于R语言 ...

  4. R语言中的MySQL操作

    R语言中,针对MySQL数据库的操作执行其实也有很多中方式.本人觉得,熟练掌握一种便可,下面主要就个人的学习使用情况,总结其中一种情况-----使用RMySQL操作数据库. 1.下载DBI和RMySQ ...

  5. R语言中 fitted()和predict()的区别

    fitted是拟合值,predict是预测值.模型是基于给定样本的值建立的,在这些给定样本上做预测就是拟合.在新样本上做预测就是预测. 你可以找一组数据试试,结果如何. fit<-lm(weig ...

  6. R语言中Fisher判别的使用方法

    最近编写了Fisher判别的相关代码时,需要与已有软件比照结果以确定自己代码的正确性,于是找到了安装方便且免费的R.这里把R中进行Fisher判别的方法记录下来. 1. 判别分析与Fisher判别 不 ...

  7. R 语言中 data table 的相关,内存高效的 增量式 data frame

    面对的是这样一个问题,不断读入一行一行数据,append到data frame上,如果用dataframe,  rbind() ,可以发现数据大的时候效率明显变低. 原因是 每次bind 都是一次重新 ...

  8. rugarch包与R语言中的garch族模型

    来源:http://www.dataguru.cn/article-794-1.html rugarch包是R中用来拟合和检验garch模型的一个包.该包最早在http://rgarch.r-forg ...

  9. 关于R语言中set.seed()

    在r中取sample时候,经常会有set.seed(某数),经常看见取值很大,其实这里无论括号里取值是多少,想要上下两次取值一样,都需要在每次取值前输入同样的set.seed(某数),才能保证两次取值 ...

随机推荐

  1. 让低版本IE也能正常运行HTML5+CSS3网站的3种解决方案

    现在我们可以选择浏览器非常多,所以浏览器的环境也是种类繁多,同一个浏览器也是包含各种不同的版本,不同的版本之间的渲染方法也存在差异,,它们支持的 HTML5.CSS3 特性恐怕也不尽相同.这种情况于是 ...

  2. Hystrix的原理与使用

    转载自:https://segmentfault.com/a/1190000005988895              http://blog.csdn.net/xiaoyu411502/artic ...

  3. [转] C#与Java的比较

    [转] C#与Java的比较 转自:C#与Java的比较 2015-06-26 目录 一.C#.C++和Java二.语言规范的比较  2.1.简单数据类型  2.2.常量  2.3.公用类的入口点  ...

  4. Flume线上日志采集【模板】

    Flume线上日志采集[模板] 预装软件 Java HDFS Lzo/Lzop 系统版本 Flume 1.5.0-cdh5.4.0 系统流程图 flume-env.sh配置文件 export JAVA ...

  5. 使用【单独】的一个<script>进行js文件的引用

    刚才用jQuery的时候,总是发现js代码不被执行...后来发现我的代码是这么写的: <script type="text/javascript" src="htt ...

  6. 同一个String在使用不同的charset编码的时候equals仍然是返回true吗

    1.对于ASCII字符,是的(只要该charset涵盖了ASCII编码),使用任何charset编码都不会影响equals的判断 2.对于非ASCII字符,不一定.例如同中文字符串"你好&q ...

  7. oracle 命令 登录

    1.打开终端,输入命令:sqlplus /nolog 2.连接数据库:conn user_name/passwd@db_name

  8. modSecurity和Naxsi哪个更适合Nginx搭建WAF

    nginx增加modsecurity模块 modsecurity原本是Apache上的一款开源waf,可以有效的增强web安全性,目前已经支持nginx和IIS,配合nginx的灵活和高效,可以打造成 ...

  9. 基于zookeeper、连接池、Failover/LoadBalance等改造Thrift 服务化

    对于Thrift服务化的改造,主要是客户端,可以从如下几个方面进行: 1.服务端的服务注册,客户端自动发现,无需手工修改配置,这里我们使用zookeeper,但由于zookeeper本身提供的客户端使 ...

  10. redis-stat 安装

    apt-get install ruby     apt-get install rubygems redis-stat安装: cd/root git clone https://github.com ...