文档章节

R语言 运行apriori算法,用gephi画品牌社区图

一只小桃子
 一只小桃子
发布于 2014/06/15 20:24
字数 420
阅读 5047
收藏 3
点赞 1
评论 8

有购物篮数据,每行表示一个篮子,篮子里用逗号分隔出一个个品牌。 现在采用频繁模式挖掘出品牌关联,主要是频繁二项集。将关联看成一条边,出现次数看作边的权重,这样就得到了一张图,对图进行社区发现,可以看到品牌间是否有关联。

原始数据下载:http://pan.baidu.com/s/1jGHr8iy

R 代码如下:

library(arules)
x <- readLines("D:\\baiduyundownload\\user2items.csv")
data <- list()
for(n in 1:length(x)){data[n]<- strsplit(x[n],",")}
trans <- as(data,"transactions")
frequentsets <- eclat(trans,parameter=list(support=0.004,maxlen=10))
inspect(frequentsets[1:10])#查看频繁项集
#这里如果支持度选的比较大,也许没有10这么多,这里就不能写[1:10].
inspect(sort(frequentsets,by="support")[1:10])#排序后查看
#多选几次支持度阈值,更好的发现频繁模式。

#求关联规则
rules <- apriori(trans,parameter=list(support=0.004,confidence=0.001))
summary(rules)
inspect(rules)
#可以使用sink(file="")将inspect结果导入到文件

里用R挖掘出的频繁二项集(好吧,其实我自己写代码挖的,用R太蛋疼了),导出为文件 格式如下:

source    target    weight
10999    11679    2
10999    16110    2
10999    16540    2
xxx    xxx    xxx

打开gephi,新建一个项目,切换到数据窗口,选择输入表格,选中文件,选择分隔符,导入的是边。导入完成后,运行社区发现算法,看到模块度是0.75,打开分割窗口,对运行后的结果按模块着色得到下面的社区关系图,可以看出品牌之间确实是有关联的。

© 著作权归作者所有

共有 人打赏支持
一只小桃子

一只小桃子

粉丝 205
博文 108
码字总数 115987
作品 0
武汉
程序员
加载中

评论(8)

Chocolate11_1
Chocolate11_1

引用来自“Chocolate11_1”的评论

麻烦楼主帮我做个apriori算法的注释可以么83跪求!

引用来自“孤独小桃子”的评论

神马东西,我博客里有java源码

引用来自“Chocolate11_1”的评论

不是 就是给apriori做个注释,每行代码大概是什么意思的那种,比如“mydata<-read.table("C:/regdata3.csv",header=TRUE,sep=",")#导入数据文件”,或者“sum(is.na(mydata))#获取缺失值信息”,就是#号后面的文字,可以不用详细到每一句

引用来自“孤独小桃子”的评论

发给我看看
http://www.oschina.net/question/2294772_217926 要不你还是在这儿看吧,我刚提问了,这样比较清晰,在回复里有点儿乱
Chocolate11_1
Chocolate11_1

引用来自“Chocolate11_1”的评论

麻烦楼主帮我做个apriori算法的注释可以么83跪求!

引用来自“孤独小桃子”的评论

神马东西,我博客里有java源码

引用来自“Chocolate11_1”的评论

不是 就是给apriori做个注释,每行代码大概是什么意思的那种,比如“mydata<-read.table("C:/regdata3.csv",header=TRUE,sep=",")#导入数据文件”,或者“sum(is.na(mydata))#获取缺失值信息”,就是#号后面的文字,可以不用详细到每一句

引用来自“孤独小桃子”的评论

发给我看看
就是R里arules包带的apriori代码:> apriori function (data, parameter = NULL, appearance = NULL, control = NULL) { data <- as(data, "transactions") items <- data@data if (is(appearance, "list")) appearance <- as(c(appearance, list(labels = itemLabels(data))), "APappearance") appearance <- as(appearance, "APappearance") control <- as(control, "APcontrol") parameter <- as(parameter, "APparameter") if (control@verbose) { cat("\nParameter specification:\n") print(parameter) cat("\nAlgorithmic control:\n") print(control) cat("\n") } abs_supp <- as.integer(parameter@support * length(data)) if (abs_supp < 2) warning(sprintf("You chose a very low absolute support count of %d. You might run out of memory! Increase minimum support.\n", abs_supp), immediate. = TRUE) result <- .Call("rapriori", items@p, items@i, items@Dim, parameter, control, appearance, data@itemInfo, PACKAGE = "arules") call <- match.call() result@info <- list(data = call$data, ntransactions = length(data), support = parameter@support, confidence = parameter@confidence) if (is(result, "rules")) { validObject(result@lhs@data) validObject(result@rhs@data) } else { validObject(result@items@data) } result } 就是这个
一只小桃子
一只小桃子

引用来自“Chocolate11_1”的评论

麻烦楼主帮我做个apriori算法的注释可以么83跪求!

引用来自“孤独小桃子”的评论

神马东西,我博客里有java源码

引用来自“Chocolate11_1”的评论

不是 就是给apriori做个注释,每行代码大概是什么意思的那种,比如“mydata<-read.table("C:/regdata3.csv",header=TRUE,sep=",")#导入数据文件”,或者“sum(is.na(mydata))#获取缺失值信息”,就是#号后面的文字,可以不用详细到每一句
发给我看看
Chocolate11_1
Chocolate11_1

引用来自“Chocolate11_1”的评论

麻烦楼主帮我做个apriori算法的注释可以么83跪求!

引用来自“孤独小桃子”的评论

神马东西,我博客里有java源码
不是 就是给apriori做个注释,每行代码大概是什么意思的那种,比如“mydata<-read.table("C:/regdata3.csv",header=TRUE,sep=",")#导入数据文件”,或者“sum(is.na(mydata))#获取缺失值信息”,就是#号后面的文字,可以不用详细到每一句
一只小桃子
一只小桃子

引用来自“Chocolate11_1”的评论

麻烦楼主帮我做个apriori算法的注释可以么83跪求!
神马东西,我博客里有java源码
Chocolate11_1
Chocolate11_1
麻烦楼主帮我做个apriori算法的注释可以么83跪求!
一只小桃子
一只小桃子

引用来自“猪猪daxia”的评论

楼主用gephi做过关联规则树吗
关联规则树?没有,不知道是啥,这就是随便捣腾捣腾
猪猪daxia
猪猪daxia
楼主用gephi做过关联规则树吗
关联分析(3):Apriori R语言实现

原文链接:关联分析(3):Apriori R语言实现 微信公众号:机器学习养成记 搜索添加微信公众号:chenchenwings 在关联分析(1):概念及应用中我们介绍了关联分析的基本概念及应用场景,关联分析(...

小沁_3ca9
06/21
0
0
R语言入门 – 什么是R语言,为什么选择R语言用于机器学习或数据挖掘

  R语言最近在TIOBE排名上取得了不小的进步,上升到了第13名。因为机器学习的火爆的程度和R语言特殊的语法,使得它的关注度越来越高。好多人对于R语言的特性和语法不太了解,而因我在上学的...

全栈开发
03/06
0
0
传说中的马尔科夫链到底是个什么鬼?

话说自从接触数据分析以来,就不断在各种文献和大牛的文章里看到马尔科夫链这种东西。对于像小编这种经管出身、半路出家的数据爱好者而言,老是让这种一头雾水的名词出现在自己眼前又无可奈何...

R语言中文社区
02/27
0
0
R语言可视化学习笔记之相关矩阵可视化包ggcorrplot

基于ggplot2包以及corrplot包的相关矩阵可视化包ggcorrplot,ggcorrplot包提供对相关矩阵重排序以及在相关图中展示显著性水平的方法,同时也能计算相关性p-value 安装方法就不提了,不懂的可...

R语言中文社区
01/25
0
0
R语言学习笔记之聚类分析

使用k-means聚类所需的包: factoextra cluster #加载包 library(factoextra) library(cluster)l #数据准备 使用内置的R数据集USArrests #load the dataset data("USArrests") #remove any m......

R语言中文社区
01/16
0
0
Rserve的R语言客户端RSclient

R语言作为统计学一门语言,一直在小众领域闪耀着光芒。直到大数据的爆发,R语言变成了一门炙手可热的数据分析的利器。随着越来越多的工程背景的人的加入,R语言的社区在迅速扩大成长。现在已...

zh119893
2014/05/04
0
0
算法|决策树算法究竟说的是什么?

作者简介 浩彬老撕,R语言中文社区特邀作者。 个人公众号:探数寻理 决策树算法概述

kmd8d5r
05/10
0
0
ggplot2学习笔记系列之利用ggplot2绘制误差棒及显著性标记

绘制带有误差棒的条形图 library(ggplot2) #创建数据集 df <- data.frame(treatment = factor(c(1, 1, 1, 2, 2, 2, 3, 3, 3)), response = c(2, 5, 4, 6, 9, 7, 3, 5, 8), group = factor(c......

R语言中文社区
02/12
0
0
【R图秀-3】——“全球和平指数”可视化

作者简介Introduction 傅兴:个人公众号:Rapp 往期回顾 今天在Tableau Public的网站上看到一个很有意思的可视化作品。(注:Tableau是一个商业版的数据可视化工具) https://public.tableau...

R语言中文社区
02/02
0
0
R语言之高级数据分析「聚类分析」

作者简介Introduction 姚某某 知乎专栏:https://zhuanlan.zhihu.com/mydata 这一节主要总结数据分析中聚类分析的思想。 聚类分析仅根据在数据中发现的描述对象及其关系的信息,将数据对象分...

R语言中文社区
04/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

打印斐波那契数

package com.jerry.ch04;public class PrintFibonacci {public static void main(String[] args) {for (int i=0; i<10; i++) {System.out.print(fib(i) + " ");}......

JerryNing
5分钟前
0
0
shell编程

一、shell脚本介绍

人在艹木中
5分钟前
0
0
istio 0.8 遥测 案例

==============遥测===================================== 演示如何从网格中收集遥测信息。 分布式跟踪。如何配置代理以向Zipkin或Jaeger发送跟踪请求 收集度量标准和日志。此任务说明如何配...

xiaomin0322
7分钟前
0
0
ND4J求多元线性回归以及GPU和CPU计算性能对比

上一篇博客《梯度下降法求多元线性回归及Java实现》简单了介绍了梯度下降法,并用Java实现了一个梯度下降法求回归的例子。本篇博客,尝试用dl4j的张量运算库nd4j来实现梯度下降法求多元线性回...

冷血狂魔
8分钟前
0
0
springboot常用注解

@SpringBootApplication: 包含@Configuration、@EnableAutoConfiguration、@ComponentScan 通常用在主类上。 @Service: 用于标注业务层组件。 @RestController: 用于标注控制层组件(如strut...

GoldenVein
14分钟前
1
0
如何进行大数据的入门级学习?

不知道你是计算机专业应届生还是已经从业者。总之,有java基础的学生学习大数据会轻松很多,零基础的小白都需要从java和linux学起。 如果你是一个学习能力特别强,而且自律性也很强的人的话可...

董黎明
28分钟前
0
0
使用Parcelable传递复杂参数

最近做AIDL传递对象,对象必须实现Parcelable的方法才可以被传递。 @Override    public int describeContents() {//这个 默认返回0就行了。        return 0;    }    ...

火云
29分钟前
0
0
十大Intellij IDEA快捷键

Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论。每个人都有自己的最爱,想排出个理想的榜单还真是困难。以前也整理过Intellij的快捷键,这次就按照我日常开发...

HJCui
39分钟前
0
0
word 使用mathtype 编写 数学公式

下载安装,这个链接命名。。。。 http://www.mathtype.cn/xiazai.html 安装之后会多出一个选项 使用内联方式插入图表 编写公式的界面 设置支持latex 语法 输入公式回车就可以看到结果...

阿豪boy
57分钟前
0
0
Promise

定义 Promise是异步编程的一种解决方案,所谓Promise就是一个容器,里面保存着某个未来才会结束的事件(通常是一个一步操作)的结果。 特点: 2.1 对象的状态不受外界影响,三种状态pending...

litCabbage
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部