转自: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。
程序
:
# 导入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
算法过几天就要出来了,到时候我会开源出来的。
分享到:
相关推荐
根据Orange3包对数据进行关联规则分析,生成“规则”,“项集出现的数目”,“置信度”,“覆盖度”,“力度”,“提升度”,“利用度”记录并返回到excel表中。
Orange3-Associate-1.1.5 是一个针对Linux操作系统的安装包,它包含了Orange数据挖掘和分析工具的“关联规则”组件。这个版本号1.1.5表示这是一个更新和改进过的软件版本,通常会修复已知问题并提供新功能。在Linux...
数据挖掘与可视化工具Orange3是一款开源的数据分析软件,具备机器学习和数据可视化两大核心功能。其以图形化界面著称,让使用者通过简单的拖放操作来构建数据分析的流程,适合初学者和有经验的数据科学家使用。...
在本文档中,我们将详细介绍Orange中的各种算法和技术,包括分类算法、聚类算法、回归算法、降维算法、关联规则挖掘算法、文本挖掘算法等。 分类算法 Orange提供了多种分类算法,包括: * BayesClassifier:基于...
Orange 由斯洛文尼亚大学计算与信息学系的生物信息实验室 BioLab 进行开发,是一款免费开源的数据挖掘软件,可在官网下载,支持 Windows, Linux 和 MacOS。 Orange 由 C++ 和 Python 开发,包含了一系列的可视化...
Orange3-Associate 提供了一个用户友好的图形界面,使得非程序员也能进行关联规则挖掘。它与 Orange3 数据可视化工具紧密结合,可以方便地导入和预处理数据,然后使用关联规则算法。此外,它还支持命令行界面和编程...
关联规则算法Apriori是一种经典的挖掘数据中隐藏的有趣关联关系的方法,主要应用于市场篮子分析、推荐系统等领域。在了解Apriori算法之前,我们需要理解关联规则的基本概念。 关联规则通常表示为“如果...那么...”...
国外开发者用Python实现的、具有GUI的开源数据挖掘和可视化分析平台;其实现算法和库可供研究和使用
Orange3生存分析附加的数据挖掘套件。 安装 通过选项-加载项从Orange加载项安装程序进行安装。 要从源代码运行安装加载项 pip install . 要向Orange注册此附加组件,但将代码保留在开发目录中(请勿将其复制到...
Orange3-Network是数据挖掘软件包的附加组件。 它提供了网络可视化和网络分析工具。 可在以下位置找到文档: : 安装 通过选项-加载项从Orange加载项安装程序进行安装。 要使用pip安装附加组件 pip install ...
Orange3 Text扩展了 (数据挖掘软件包),具有文本挖掘的常用功能。 它提供对公开可用数据的访问,例如《纽约时报》,Twitter,Wikipedia和PubMed。 此外,它还提供了用于预处理,构造向量空间(如单词袋,主题建模...
“Orange3_Associate”这个名字暗示它可能与Orange数据挖掘框架有关,尤其是其关联规则学习部分。Orange是一个开源的数据可视化和分析工具,常用于科学和教育领域。Orange3是其最新版本,而“Associate”可能代表它...
orange中文版
Orange内部实现了流量筛选机制,能够根据不同的规则和条件来选择合适的处理器。流量筛选机制包括以下几个步骤: * Rule:定义不同的规则和条件。 * Selector:选择合适的处理器。 * Plugin:加载和执行插件。 插件...
而“扩展引脚”意味着教程将涵盖如何利用这些引脚进行硬件扩展,如连接额外的电路板或模块。 在学习这个教程时,你将可能学到以下知识点: 1. Orange Pi的硬件架构:了解开发板的GPIO布局、功能和可用资源。 2. ...
MELIS 用户编程手册 Orange 编程指南 @ All winner 平台,是基于 Melis 操作系统之上的一套 GUI 系统,该系统支持多任务和多图层操作, 允许在多个图层上面创建窗口,提供完善的异步和同步窗口消息通讯机制,提供点...
【描述】:“通过编写gboot代码,我们可以利用Orange Pi One的GPIO(通用输入输出)接口来控制LED灯的开关状态。这个过程不仅有助于理解gboot的工作原理,同时也能让你对硬件控制有更深入的理解。” 在Orange Pi ...
Orange3-Timeseries 是一个基于Python的数据分析和可视化库,主要针对时间序列数据。这个库是Orange3的一个扩展,Orange3是一个广泛使用的开源数据分析和可视化的软件。在本例中,我们关注的是版本0.2.2,它以`.tar....
橘郡(Orange County)破产案例是1994年美国金融史上的一大标志性事件,它对全球金融市场产生了深远的影响。这个事件不仅暴露了金融市场的风险,也揭示了公共财政管理中存在的严重问题。 首先,我们来看看橘郡的投资...