利用orange进行关联规则挖掘
转自:http://www.fuchaoqun.com/2008/08/data-mining-with-python-orange-association_rule/
最近,趁着项目的间隙,折腾了一阵数据挖掘,在同事的帮助下,对新浪音乐用户的听歌记录进行了一个简易挖掘,希望能根据用户以往的听歌记录,推荐出用户可能感兴趣的其他歌曲。
Orange :
一个模块化的C++数据挖掘包,提供python接口(好像也只提供了python接口),网址是http://www.ailab.si/orange/
关联分析 :
我这里用的是类似购物篮分析,每个用户的听歌id是一个事务,不熟悉关联分析的同学可以去搜一些相关方面的资料。
数据准备 :
简单清洗掉一些“脏”数据(逻辑上有问题的数据,比如某个用户在5s听了200首歌),得到类似下面的数据
15615,355029,750367,762147,803787,805014,999712,999712,999712,1013641,1024215,1028429
871029,952779,962769
1023040,1024077,1024215,1025600
757946,873801,873801,873801
862257,873479
286056,286056,286056,286056,286056,286056,286056,286056,286056,286056
873801,873801,873801,873801,873801,947750,947750
473221,473537,504206,504206,504206,504206,504206,504206
947750,1005430,1005430
974748,1024215
873479,873479,873801,873801,947750,965748,999721,1024215,1024215,1024215,1024215,1024215
873801,873801,873801
每一行是一个用户的听歌记录,没有做去重处理(orange示例中也没有,是不是可能会增加歌曲的权重?不清楚,没有去阅读orange代码),注意文件名一定要以.basket 为扩展名,程序中文件地址是d:/datamining/sample.basket。
程序 :
Python代码
- # 导入orange包
- import orange
- # 导入数据,注意不需要后缀
- data = orange.ExampleTable("d:/datamining/sample")
- # 挖掘关联规则,输入最低支持度、最低置信度、最大项集数
- rules = orange.AssociationRulesSparseInducer(data, support = 0.5, confidence = 0.6, maxItemSets = 1000000)
- # 打印出规则来
- for r in rules:
- print "%5.3f %5.3f %s" % (r.support, r.confidence, r)
是不是非常的简单?Orange实现的是Apriori算法 ,由于Apriori算法的问题,一旦数据量非常大,你就等着你的内存消耗光吧,反正我这边要是把所有数据都导入进去的话,笔记本1.5G的的内存根本不够用,可以试试FP-tree算法 ,我这边参考文章利用sql改良构建fp-tree之技术 ,已经把fp-tree的前缀路径都找出来了,需要的朋友可以私下找我要,由fp前缀路径挖频繁集需要用到递归,用sql去处理就非常费劲了,所以后面的算法还需要自己去探索。
居于关联规则的挖掘就告一段落,因为算法的计算复杂度非常高,效果倒不是太好(因为对于音乐,用户可能听多遍,这样打分就不一样,可能用关联规则去挖电影类的数据比较好,因为电影一般最多就看一遍),现在研究的是协同过滤 ,如果不出意外的话,一个改良版的PHP+Mysql实现slope one 算法过几天就要出来了,到时候我会开源出来的。
利用orange进行关联规则挖掘相关推荐
- 利用weka进行数据挖掘——基于Apriori算法的关联规则挖掘实例
文章目录 1. weka安装 2. 先分析一个Apriori算法的关联规则挖掘实例 3. 利用weka进行数据挖掘 3.1 将数据转为ARFF格式 3.2 利用weka进行分析 4. 参考文章 首先, ...
- 关联规则挖掘算法_#数据挖掘初体验 使用weka做关联规则
这学期选了数据挖掘课,前两节课刚好都没有去上课.照着教程练习一下课程内容... prepare 下载软件weka,根据系统选择版本,个人使用版本"a disk image for OS X ...
- 详解python实现FP-TREE进行关联规则挖掘(带有FP树显示功能)附源代码下载(3)
详解python实现FP-TREE进行关联规则挖掘(带有FP树显示功能)附源代码下载(3) 上一节简单讲了下FP树的生成,在这一节我将描述FP树的挖掘过程. 首先我们回顾一下要挖掘的特征项及样本空间: ...
- 数据分析与挖掘实战-中医证型关联规则挖掘
中医证型关联规则挖掘 背景 显然,如今的中医治疗再度火了起来,归根到底的原因还是中医在某些疾病处理上具有天然优势. 而且,中医治疗没有西医治疗的很多毒副作用. "先证而治". 挖掘 ...
- 机器学习(十八)——关联规则挖掘
关联规则挖掘 基本概念(续) 定义一:设I={i1,i2,-,im}I=\{i_1,i_2,\dots,i_m\},是m个不同的项目的集合,每个iki_k称为一个项目.项目的集合I称为项集.其元素的个 ...
- 数据挖掘算法之-关联规则挖掘(Association Rule)(购物篮分析)
在各种数据挖掘算法中,关联规则挖掘算是比较重要的一种,尤其是受购物篮分析的影响,关联规则被应用到很多实际业务中,本文对关联规则挖掘做一个小的总结. 首先,和聚类算法一样,关联规则挖掘属于无监督学习方法 ...
- 【Python数据挖掘课程笔记】八.关联规则挖掘及Apriori实现购物推荐
#2018-03-23 10:48:40 March Friday the 12 week, the 082 day SZ SSMR[Python数据挖掘课程笔记]八.关联规则挖掘及Apriori实现 ...
- sql server 关联_SQL Server中的关联规则挖掘
sql server 关联 Association Rule Mining in SQL Server is the next article in our data mining article s ...
- 关联规则挖掘算法_关联规则的挖掘与应用——Apriori和CBA算法
文|光大科技大数据部 魏乐 卢格润 1 关联规则 1.1 关联规则基本概念 1.2 Apriori算法基本思路 2 关联分类 2.1 CBA关联分类算法思路 2.2 CBA算法实现 总结 关 ...
最新文章
- 前后端分离的探索(一)
- SDUT_2118 数据结构实验之链表三:链表的逆置
- Linux 永久修改主机名hostname
- 什么是软件危机?产生原因?如何解决?
- 晚上不睡觉,搞的一个例子《JS实现动画》
- 作者:刘新海(1976-),男,中国人民银行征信中心副研究员
- Java基础常见的面试题
- 郎朗和机器人合奏_从世界机器人大会看新中国70年科技发展成就
- 解决ubuntu中出现:dpkg: error processing package install-info
- php中%3c w() %3e,DedeCMS V5.7 SP2后台存在代码执行漏洞
- 精通版本之Subversion
- 《流畅的Python》读书笔记——Python文本和字节序列
- 软件的生命周期分为哪几个阶段
- Java实现数学概率C ( a , b )
- 写在微信小程序一周年
- Unity3D项目升级URP
- 牛客IOI周赛27-普及组
- collections库
- sanity测试_使用Sanity CLI可以做的5件事
- 数字电路基础知识——组合逻辑电路(奇偶校验电路、数据比较器的设计)