• R语言中的Apriori关联规则的使用


    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)[,3:17] 
      
      # 修改列名
      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)
      
    }
  • 相关阅读:
    一个apache安装后无法启动的原因分析
    数字的一点考虑
    [转]bat方式上删除注册表键,项
    题解 P2016 【战略游戏】
    题解 P1403 【[AHOI2005]约数研究】
    题解 P1317 【低洼地】
    2020面向对象程序设计寒假作业3 设计思想
    题解 P1829 【[国家集训队]Crash的数字表格 / JZPTAB】
    题解 P1082 【同余方程】
    Unity3D读取外部Text
  • 原文地址:https://www.cnblogs.com/xiaomingzaixian/p/9268628.html
Copyright © 2020-2023  润新知