`
lxneng
  • 浏览: 188459 次
  • 性别: 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表中。

    Orange_0.0.5数据挖掘软件下载

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

    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。 此外,它还提供了用于预处理,构造向量空间(如单词袋,主题建模...

    orange中文版.txt

    orange中文版

    orange3 数据可视化软件p310winx64.whl版 3.32

    orange3 数据可视化软件python3.10,winx64.whl版 3.32

    Orange 编程指南.pdf

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

    orange城建地产项目分析.pptx

    orange城建地产项目分析.pptx

    orange3教育:Orange用于Orange 3的机器学习和数据挖掘的教育小部件

    Orange3-教育用于机器学习和数据挖掘的教育部件。 执照:CC-BY-NC-3.0 为了在商业上使用此软件包,请获得许可证。 Educational Add-on中的小部件演示了几个关键的数据挖掘和机器学习过程。 这些小部件对初学者很有用...

    cycleGAN训练数据集,苹果橙子数据集 APPLE 2 ORANGE

    cycleGAN训练数据集,苹果橙子数据集 APPLE 2 ORANGE。cycleGAN训练数据集,苹果橙子数据集 APPLE 2 ORANGE。cycleGAN训练数据集,苹果橙子数据集 APPLE 2 ORANGE。cycleGAN训练数据集,苹果橙子数据集 APPLE 2 ...

    Linux Orange3-Associate-1.1.5.tar 安装包

    Linux Orange3-Associate-1.1.5.tar 安装包!

    Orange整体架构.pdf

    Orange整体架构.pdf

    openwrt-orangepi-zero-ext4-sdcard.img.gz

    OpenWrt-Lede_18.06.02 OrangePi Zero wifi-xr819 and soc-audio enabled! OrangePi Zero 安装OpenWrt 能够实现wifi和播放音乐。 详细安装和操作步骤: First Run boot-config: ...

    orange环境搭建工具

    包括bochs虚拟机,nasm编译器,bochs安装源码,winimage软件,orange环境搭建步骤。 验证均可用。

    数据挖掘和机器学习软件Orange.zip

    Orange 是一个基于组件的数据挖掘和机器学习软件套装,它的功能即友好,又很强大,快速而又多功能的可视化编程前端,以便浏览数据分析和可视化,基绑定了 Python以进行脚本开发。它包含了完整的一系列的组件以进行...

    OrangePi_zero_H2_用户手册_v0.1.pdf

    OrangePi_zero_H2_用户手册_v0.1 ...Orange Pi Zero 不仅仅是一款消费品,同时也是给任何想用技术来进行创作创新的人设计的。它是一款非常简单、有趣、实用的工具,你可以用它去打造你身边的世界。

    Orange课程管理系统

    用WPF(Windows Presentation Framework)的项目,需要....软件工程课程的课程实验项目,课程任务管理系统Orange。项目利用了WPF的特性做出动画、多媒体效果,并使用了数据绑定、事件等。代码并不复杂,但界面效果很好。

Global site tag (gtag.js) - Google Analytics