`
lxneng
  • 浏览: 191455 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

利用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。

程序

# 导入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 算法过几天就要出来了,到时候我会开源出来的。

分享到:
评论

相关推荐

    关联规则分析-python

    根据Orange3包对数据进行关联规则分析,生成“规则”,“项集出现的数目”,“置信度”,“覆盖度”,“力度”,“提升度”,“利用度”记录并返回到excel表中。

    Linux Orange3-Associate-1.1.5.tar 安装包

    Orange3-Associate-1.1.5 是一个针对Linux操作系统的安装包,它包含了Orange数据挖掘和分析工具的“关联规则”组件。这个版本号1.1.5表示这是一个更新和改进过的软件版本,通常会修复已知问题并提供新功能。在Linux...

    【数据挖掘与可视化工具】Orange3-3.36.2-zh-v2.zip 简体中文免安装版

    数据挖掘与可视化工具Orange3是一款开源的数据分析软件,具备机器学习和数据可视化两大核心功能。其以图形化界面著称,让使用者通过简单的拖放操作来构建数据分析的流程,适合初学者和有经验的数据科学家使用。...

    orange算法大全

    在本文档中,我们将详细介绍Orange中的各种算法和技术,包括分类算法、聚类算法、回归算法、降维算法、关联规则挖掘算法、文本挖掘算法等。 分类算法 Orange提供了多种分类算法,包括: * BayesClassifier:基于...

    Orange_0.0.5数据挖掘软件下载

    Orange 由斯洛文尼亚大学计算与信息学系的生物信息实验室 BioLab 进行开发,是一款免费开源的数据挖掘软件,可在官网下载,支持 Windows, Linux 和 MacOS。 Orange 由 C++ 和 Python 开发,包含了一系列的可视化...

    PyPI 官网下载 | Orange3-Associate-1.0.0.tar.gz

    Orange3-Associate 提供了一个用户友好的图形界面,使得非程序员也能进行关联规则挖掘。它与 Orange3 数据可视化工具紧密结合,可以方便地导入和预处理数据,然后使用关联规则算法。此外,它还支持命令行界面和编程...

    关联规则算法Apriori的学习及实现.doc

    关联规则算法Apriori是一种经典的挖掘数据中隐藏的有趣关联关系的方法,主要应用于市场篮子分析、推荐系统等领域。在了解Apriori算法之前,我们需要理解关联规则的基本概念。 关联规则通常表示为“如果...那么...”...

    Python实现的数据挖掘分析系统Orange

    国外开发者用Python实现的、具有GUI的开源数据挖掘和可视化分析平台;其实现算法和库可供研究和使用

    orange3-survival-analysis:Orange用于Orange3数据挖掘套件的生存分析附加组件

    Orange3生存分析附加的数据挖掘套件。 安装 通过选项-加载项从Orange加载项安装程序进行安装。 要从源代码运行安装加载项 pip install . 要向Orange注册此附加组件,但将代码保留在开发目录中(请勿将其复制到...

    orange3-network:Orange Orange橙色数据挖掘套件的网络分析附加组件

    Orange3-Network是数据挖掘软件包的附加组件。 它提供了网络可视化和网络分析工具。 可在以下位置找到文档: : 安装 通过选项-加载项从Orange加载项安装程序进行安装。 要使用pip安装附加组件 pip install ...

    orange3文本:Orange Orange3的文本挖掘附加组件

    Orange3 Text扩展了 (数据挖掘软件包),具有文本挖掘的常用功能。 它提供对公开可用数据的访问,例如《纽约时报》,Twitter,Wikipedia和PubMed。 此外,它还提供了用于预处理,构造向量空间(如单词袋,主题建模...

    PyPI 官网下载 | Orange3_Associate_zh-1.1.5-py3-none-any.whl

    “Orange3_Associate”这个名字暗示它可能与Orange数据挖掘框架有关,尤其是其关联规则学习部分。Orange是一个开源的数据可视化和分析工具,常用于科学和教育领域。Orange3是其最新版本,而“Associate”可能代表它...

    orange中文版.txt

    orange中文版

    Orange整体架构.pdf

    Orange内部实现了流量筛选机制,能够根据不同的规则和条件来选择合适的处理器。流量筛选机制包括以下几个步骤: * Rule:定义不同的规则和条件。 * Selector:选择合适的处理器。 * Plugin:加载和执行插件。 插件...

    orangepi gpio引脚通用c++开发完全指南

    而“扩展引脚”意味着教程将涵盖如何利用这些引脚进行硬件扩展,如连接额外的电路板或模块。 在学习这个教程时,你将可能学到以下知识点: 1. Orange Pi的硬件架构:了解开发板的GPIO布局、功能和可用资源。 2. ...

    Orange 编程指南.pdf

    MELIS 用户编程手册 Orange 编程指南 @ All winner 平台,是基于 Melis 操作系统之上的一套 GUI 系统,该系统支持多任务和多图层操作, 允许在多个图层上面创建窗口,提供完善的异步和同步窗口消息通讯机制,提供点...

    orangepi one gboot 点亮LED

    【描述】:“通过编写gboot代码,我们可以利用Orange Pi One的GPIO(通用输入输出)接口来控制LED灯的开关状态。这个过程不仅有助于理解gboot的工作原理,同时也能让你对硬件控制有更深入的理解。” 在Orange Pi ...

    PyPI 官网下载 | Orange3-Timeseries-0.2.2.tar.gz

    Orange3-Timeseries 是一个基于Python的数据分析和可视化库,主要针对时间序列数据。这个库是Orange3的一个扩展,Orange3是一个广泛使用的开源数据分析和可视化的软件。在本例中,我们关注的是版本0.2.2,它以`.tar....

    橘郡(orange-county)破产案例分析.doc

    橘郡(Orange County)破产案例是1994年美国金融史上的一大标志性事件,它对全球金融市场产生了深远的影响。这个事件不仅暴露了金融市场的风险,也揭示了公共财政管理中存在的严重问题。 首先,我们来看看橘郡的投资...

Global site tag (gtag.js) - Google Analytics