一.数据挖掘概念
1.1什么是数据挖掘?
数据挖掘就是从海量的数据源中,如数据库、文本、图片、万维网、视频等资源中寻找有用的模式,这些模式是有用的、有潜在价值的、可以被理解的。
1.2从数据中发现知识的步骤
- 采集数据
- 存储数据
- 管理数据
- 分析数据
- 结果应用
1.3数据挖掘的任务
1.传统数据挖掘任务
- 分类
- 聚类
- 关联规则挖掘
- 序列挖掘
- 离群点发现
- 数据可视化
2.互联网时代的数据挖掘任务
- 文本、网页分析
- 知识库(实体、属性、关系抽取)
- 关键词发现
- 社交网络分析
- 商品推荐
- 互联网搜索排序
- 互联网广告
1.4相关领域
- 机器学习
- 概率统计
- 数据库
- 信息检索
- 推荐系统
- 自然语言处理
1.5 数据挖掘的方法
数据挖掘的方法有很多种,常见的有:
- 监督学习(或者称为分类)
- 无监督学习(或者称为聚类)
- 关联规则挖掘
- 序列模式挖掘
1.6数据挖掘经典案例
通俗的理解,数据挖掘就是从数据中发掘规律,利用规律创造价值。啤酒与尿布 是很经典的数据挖掘案例:在超市中,把啤酒和尿布摆在一起会使啤酒和尿布这两种风马牛不相及的商品销量大幅增加。原因是美国的妇女通常在家照顾孩子,丈夫去超市购物时会买上自己需要的啤酒和孩子需要的尿布。这个发现给商家带来了利润,那么这个规律是怎么发现的?靠的就是数据挖掘,通过数据挖掘还可以发现更多有价值的规律。
二、关联规则
2.1关联规则的基本概念
设I={i1,i2,i3……im)是一个项目(item)集合,T=(t1,t2,t3,……tn)是一个事务集合,每个事务ti是一个项目集合,ti是I的子集.一个关联规则是形如X→Y的蕴涵关系,其中X包含于I,Y包含于I,称为一个项集.
数学描述不太容易理解,拿商场购物来举个具体例子:商场中所有的商品是一个大的集合,相当于项目集合I;顾客一次的购买记录是一个事务,比如一位顾客在商场买了猪肉、白菜、芹菜是一个事务,另一位顾客买了羽毛拍、羽毛球,毛巾也是一个事务,{猪肉,白菜、芹菜}、{羽毛拍,羽毛球,毛巾}都是所有商品的子集.买了羽毛拍又买了羽毛球就是一个关联规则.记做
羽毛球拍 →羽毛球
2.2支持度和置信度
支持度:T中的交易同时包含X和Y.
sup=(X∪Y).count/n
置信度:T中包含X的事务同时包含Y
conf=(X∪Y).count/X.count
举例来理解这两个概念,下面一个包含7个事务的事务集合:
t1: 牛肉、鸡肉、牛奶
t2: 牛肉、奶酪
t3:奶酪、靴子
t4:牛肉、鸡肉、奶酪
t5:牛肉、鸡肉、衣服、奶酪、牛奶
t6:鸡肉、衣服、牛奶
t7:鸡肉、牛奶、衣服
牛肉→鸡肉 [sup=3/7,conf=3/4]
鸡肉,衣服→牛奶 [sup=3/7,conf=3/3]
支持度太小则表明相应的规则很可能只是偶然发生的,在商业环境中覆盖太少案例的规则很可能没有任何价值.置信度决定了规则的可预测度,如果一个规则的置信度太低,则从X很难推断出Y,置信度太低的规则在实际应用中也不会有很大的用处.最小支持度和最小置信度分别用minsup和minconf表示
给定一个事务数据集合怎么找出其中的关联规则?关联规则挖掘算法有很多,采用的不一样的算法在算法执行效率上各有不同,但是在同样的关联规则下挖掘出的关联规则应该是一样的.其中最著名的是Apriori算法.
三.Apriori算法
Apriori算法分两步进行:
- 生成所有频繁项目集:一个频繁项目集是一个支持度高于minsup的集合.
- 从频繁项目及中生成可信关联规则:一个可信关联规则是置信度大于minconf的规则.