R与数据分析旧笔记(十一)数据挖掘初步
PART 1
PART 1
传统回归模型的困难
1.为什么一定是线性的?或某种非线性模型?
2.过分依赖于分析者的经验
3.对于非连续的离散数据难以处理
网格方法
《Science》上的文章《Detecting Novel Associations in Large Data Sets》
方法概要:用网格判断数据的集中程度,集中程度意味着是否有关联关系
方法具有一般性,即无论数据是怎样分布的,不限于特点的关联函数类型,此判断方法都是有效
方法具有等效性,计算的熵值和噪音的程度有关,跟关联的类型无关
MIC:the Maximal Information Coefficient
MINE:Maximal Information-based Nonparametric Exploration
MIC值计算
坐标平面被划分为(x,y)网格G(未必等宽),其中
在G上可以诱导出“自然概率密度函数”p(x,y),任何一个方格(box)内的概率密度函数值为这个方格所包含的样本点数量占全体的样本点的比例
计算网格划分G下mutual information值
构造特征矩阵,矩阵元素
。取遍所有可能的(x,y)网格G
。Max取遍所有可能的(x,y)对
的计算是个难点,数据科学家构造了一个近似的逼近算法以提高效率
enter link description here
在作者的网站上,可以下载MINE计算MIC的程序(Java和R)以及测试用数据集
enter link description here
MIC的性质
如果变量对x,y存在函数关系,则当样本数增加时,MIC必然趋于1
如果变量对x,y可以由参数方程所表达的曲线描画,则当样本数增加时,MIC必然趋于1
如果变量对x,y在统计意义下互相独立,则当样本数增加时,MIC趋于0
PART 2
数据挖掘:关联规则挖掘
例子:购物篮分析
名词
挖掘数据集:购物篮数据
挖掘目标:关联规则
关联规则:牛奶=>鸡蛋【支持度=2%,置信度=60%】
支持度:分析中的全部事务的2%同时购买了牛奶和鸡蛋
置信度:购买了牛奶的同志有60%也购买了鸡蛋
最小支持度阈值和最小置信度阈值:由挖掘者或领域专家设定
项集:项(商品)的集合
k-项集:k个项组成的项集
频繁项集:满足最小支持度的项集,频繁k-项集一般记为
强关联规则:满足最小支持度阈值和最小置信度阈值的规则
关联规则挖掘路线图
两步过程:找出所有频繁项集;由频繁项集产生强关联规则
算法:Apriori
例子:详见《数据挖掘:概念与技术》
用R进行购物篮分析
安装arules()
包并加载
内置Groceries数据集
> library(arules)#加载arules程序包
> data(Groceries)#调用数据文件
> inspect(Groceries)#观看数据集里的数据
> .....................省略........
>9834 {semi-finished bread,
bottled water,
soda,
bottled beer}
9835 {chicken,
tropical fruit,
other vegetables,
vinegar,
shopping bags}
利用apriori函数提取关联规则
> rules=apriori(Groceries,parameter=list(support=0.01,confidence=0.5))#support为最小支持度,confidence为最小置信度
Parameter specification:
confidence minval smax arem aval originalSupport support minlen maxlen target
0.5 0.1 1 none FALSE TRUE 0.01 1 10 rules
ext
FALSE
Algorithmic control:
filter tree heap memopt load sort verbose
0.1 TRUE TRUE FALSE TRUE 2 TRUE
apriori - find association rules with the apriori algorithm
version 4.21 (2004.05.09) (c) 1996-2004 Christian Borgelt
set item appearances ...[0 item(s)] done [0.00s].
set transactions ...[169 item(s), 9835 transaction(s)] done [0.00s].
sorting and recoding items ... [88 item(s)] done [0.00s].
creating transaction tree ... done [0.01s].
checking subsets of size 1 2 3 4 done [0.00s].
writing ... [15 rule(s)] done [0.00s].
creating S4 object ... done [0.00s].
列出关联规则
> summary(rules)#查看求得的关联规则之摘要
set of 15 rules
rule length distribution (lhs + rhs):sizes
3
15
Min. 1st Qu. Median Mean 3rd Qu. Max.
3 3 3 3 3 3
summary of quality measures:
support confidence lift
Min. :0.01007 Min. :0.5000 Min. :1.984
1st Qu.:0.01174 1st Qu.:0.5151 1st Qu.:2.036
Median :0.01230 Median :0.5245 Median :2.203
Mean :0.01316 Mean :0.5411 Mean :2.299
3rd Qu.:0.01403 3rd Qu.:0.5718 3rd Qu.:2.432
Max. :0.02227 Max. :0.5862 Max. :3.030
mining info:
data ntransactions support confidence
Groceries 9835 0.01 0.5
> inspect(rules)
lhs rhs support
1 {curd,yogurt} => {whole milk} 0.01006609
2 {other vegetables,butter} => {whole milk} 0.01148958
3 {other vegetables,domestic eggs} => {whole milk} 0.01230300
4 {yogurt,whipped/sour cream} => {whole milk} 0.01087951
5 {other vegetables,whipped/sour cream} => {whole milk} 0.01464159
6 {pip fruit,other vegetables} => {whole milk} 0.01352313
7 {citrus fruit,root vegetables} => {other vegetables} 0.01037112
8 {tropical fruit,root vegetables} => {other vegetables} 0.01230300
9 {tropical fruit,root vegetables} => {whole milk} 0.01199797
10 {tropical fruit,yogurt} => {whole milk} 0.01514997
11 {root vegetables,yogurt} => {other vegetables} 0.01291307
12 {root vegetables,yogurt} => {whole milk} 0.01453991
13 {root vegetables,rolls/buns} => {other vegetables} 0.01220132
14 {root vegetables,rolls/buns} => {whole milk} 0.01270971
15 {other vegetables,yogurt} => {whole milk} 0.02226741
confidence lift
1 0.5823529 2.279125
2 0.5736041 2.244885
3 0.5525114 2.162336
4 0.5245098 2.052747
5 0.5070423 1.984385
6 0.5175097 2.025351
7 0.5862069 3.029608
8 0.5845411 3.020999
9 0.5700483 2.230969
10 0.5173611 2.024770
11 0.5000000 2.584078
12 0.5629921 2.203354
13 0.5020921 2.594890
14 0.5230126 2.046888
15 0.5128806 2.007235
按需要筛选关联规则
> x=subset(rules,subset=rhs%in%"whole milk"&lift>=1.2)#求所需要的关联规则子集
> inspect(sort(x,by="support")[1:5])#根据支持度对求得的关联规则子集排序并查看
lhs rhs support confidence
15 {other vegetables,yogurt} => {whole milk} 0.02226741 0.5128806
10 {tropical fruit,yogurt} => {whole milk} 0.01514997 0.5173611
5 {other vegetables,whipped/sour cream} => {whole milk} 0.01464159 0.5070423
12 {root vegetables,yogurt} => {whole milk} 0.01453991 0.5629921
6 {pip fruit,other vegetables} => {whole milk} 0.01352313 0.5175097
lift
15 2.007235
10 2.024770
5 1.984385
12 2.203354
6 2.025351
其中life=P(L,R)/(P(L)P(R))是一个类似相关系数的指标。lift=1时表示L和R独立,这个数越大,越表明L和R存在在一个购物篮中不是偶然现象。
R与数据分析旧笔记(十一)数据挖掘初步的更多相关文章
- R与数据分析旧笔记(十三) 聚类初步
聚类 聚类 关键度量指标:距离 常用距离 绝对值距离 绝对值距离也称为"棋盘距离"或"城市街区距离". 欧氏(Euclide)距离 闵可夫斯基(Minkowsk ...
- R与数据分析旧笔记(五)数学分析基本
R语言的各种分布函数 rnorm(n,mean=0,sd=1)#高斯(正态) rexp(n,rate=1)#指数 rgamma(n,shape,scale=1)#γ分布 rpois(n,lambda) ...
- R与数据分析旧笔记(三)不知道取什么题目
连线图 > a=c(2,3,4,5,6) > b=c(4,7,8,9,12) > plot(a,b,type="l") 多条曲线效果 plot(rain$Toky ...
- R与数据分析旧笔记(一)基本数学函数的使用
创建向量矩阵 > x1=c(2,3,6,8) > x2=c(1,2,3,4) > a1=(1:100) > length(a1) [1] 100 > length(x1) ...
- R与数据分析旧笔记(十八完结) 因子分析
因子分析 因子分析 降维的一种方法,是主成分分析的推广和发展 是用于分析隐藏在表面现象背后的因子作用的统计模型.试图用最少的个数的不可测的公共因子的线性函数与特殊因子之和来描述原来观测的每一分量 因子 ...
- R与数据分析旧笔记(十七) 主成分分析
主成分分析 主成分分析 Pearson于1901年提出的,再由Hotelling(1933)加以发展的一种多变量统计方法 通过析取主成分显出最大的个别差异,也用来削减回归分析和聚类分析中变量的数目 可 ...
- R与数据分析旧笔记(十六) 基于密度的方法:DBSCAN
基于密度的方法:DBSCAN 基于密度的方法:DBSCAN DBSCAN=Density-Based Spatial Clustering of Applications with Noise 本算法 ...
- R与数据分析旧笔记(十五) 基于有代表性的点的技术:K中心聚类法
基于有代表性的点的技术:K中心聚类法 基于有代表性的点的技术:K中心聚类法 算法步骤 随机选择k个点作为"中心点" 计算剩余的点到这个k中心点的距离,每个点被分配到最近的中心点组成 ...
- R与数据分析旧笔记(⑨)广义线性回归模型
广义线性回归模型 广义线性回归模型 例题1 R.Norell实验 为研究高压电线对牲畜的影响,R.Norell研究小的电流对农场动物的影响.他在实验中,选择了7头,6种电击强度, 0,1,2,3,4, ...
随机推荐
- 切换tab,并且动态添加标签
<script type="text/javascript"> /*处理ie7.ie8不兼容getElementsByClassName*/ if(!document. ...
- iOS - SQLite Database 操作数据库
iOS - SQLite Database 操作数据库 Sqlite 能被用在ios上做数据处理用,只要你懂得一点sql 就很容易使用sqlite 1:创建一个简单的View based appl ...
- Serializable接口的背后
序列化是什么? 序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得.序列化分为两大部分:序列化和反序列化. 序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网 ...
- C#XML操作详解
添加引用 using System.Xml; 创建XML文件 XmlDocument xmldoc=new XmlDocument(); //加入XML的声明段落:<?xmlversion=& ...
- 游戏基础元素——Cocos2d-x学习历程(八)
1.Director:导演 从字面上理解,这是一个"导演"类,Director是控制游戏流程的主要组件.CCDirector的工作确实跟导演非常类似,主要负责以下工作: 游戏呈现方 ...
- GET方式URL乱码问题解决
打开 tomcat/conf/server.xml 查找下面这部分,在最后增加一段代码就可以了. <Connector port="80" maxHttpHeaderSi ...
- jQuery报错:
jQuery报错:Uncaught ReferenceError: $ is not defined 在使用jQuery的时候,发现有如下报错: Uncaught ReferenceError: $ ...
- iframe自适应高度的问题
最近工作中遇到了iframe自适应高度的问题. 如果在iframe中写定高度height的属性,并且iframe中内容高度小于给定的height时,会在手机浏览器中莫名的产生下拉框,造成体验度下降. ...
- [C#]Windows文件分类器小程序
我平时习惯把各种文件都下载在`下载`文件夹中,时间久了,文件多了,想要找个文件就不那么方便了.于是我就想自己写一个小程序来实现下载文件的自动整理.我想到的文件分类方式是按照文件扩展名分类:把各文件移动 ...
- linux使用工具记录
linux工具查询手册: http://linuxtools-rst.readthedocs.io/zh_CN/latest/index.html