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与数据分析旧笔记(十一)数据挖掘初步的更多相关文章

  1. R与数据分析旧笔记(十三) 聚类初步

    聚类 聚类 关键度量指标:距离 常用距离 绝对值距离 绝对值距离也称为"棋盘距离"或"城市街区距离". 欧氏(Euclide)距离 闵可夫斯基(Minkowsk ...

  2. R与数据分析旧笔记(五)数学分析基本

    R语言的各种分布函数 rnorm(n,mean=0,sd=1)#高斯(正态) rexp(n,rate=1)#指数 rgamma(n,shape,scale=1)#γ分布 rpois(n,lambda) ...

  3. R与数据分析旧笔记(三)不知道取什么题目

    连线图 > a=c(2,3,4,5,6) > b=c(4,7,8,9,12) > plot(a,b,type="l") 多条曲线效果 plot(rain$Toky ...

  4. R与数据分析旧笔记(一)基本数学函数的使用

    创建向量矩阵 > x1=c(2,3,6,8) > x2=c(1,2,3,4) > a1=(1:100) > length(a1) [1] 100 > length(x1) ...

  5. R与数据分析旧笔记(十八完结) 因子分析

    因子分析 因子分析 降维的一种方法,是主成分分析的推广和发展 是用于分析隐藏在表面现象背后的因子作用的统计模型.试图用最少的个数的不可测的公共因子的线性函数与特殊因子之和来描述原来观测的每一分量 因子 ...

  6. R与数据分析旧笔记(十七) 主成分分析

    主成分分析 主成分分析 Pearson于1901年提出的,再由Hotelling(1933)加以发展的一种多变量统计方法 通过析取主成分显出最大的个别差异,也用来削减回归分析和聚类分析中变量的数目 可 ...

  7. R与数据分析旧笔记(十六) 基于密度的方法:DBSCAN

    基于密度的方法:DBSCAN 基于密度的方法:DBSCAN DBSCAN=Density-Based Spatial Clustering of Applications with Noise 本算法 ...

  8. R与数据分析旧笔记(十五) 基于有代表性的点的技术:K中心聚类法

    基于有代表性的点的技术:K中心聚类法 基于有代表性的点的技术:K中心聚类法 算法步骤 随机选择k个点作为"中心点" 计算剩余的点到这个k中心点的距离,每个点被分配到最近的中心点组成 ...

  9. R与数据分析旧笔记(⑨)广义线性回归模型

    广义线性回归模型 广义线性回归模型 例题1 R.Norell实验 为研究高压电线对牲畜的影响,R.Norell研究小的电流对农场动物的影响.他在实验中,选择了7头,6种电击强度, 0,1,2,3,4, ...

随机推荐

  1. 《think in python》学习-4

    think in python -4 接口设计: 本章引入了一个实例 来讲解接口方面的知识. 准备工作: 下载swampy模块,从地址下载,并安装,安装信息可以从网页上查看. swampy模块 提供各 ...

  2. Sql Service存储过程分页

    一起是用oracle数据库..感觉oracle数据库强大.查询速度是杠杠的.换了家公司用的是SQL SERVICE.以前用了1年现在捡回以前的记忆.动手写了动态SQL过存储过程分页.感觉和oracle ...

  3. MS SQLSERVER通用存储过程分页

    最近在面试的时候,遇到个奇葩的秃顶老头面试官. 问:写过存储过程分页吗? 答:没写过,但是我知道分页存储的原理,我自己也写过,只是在工作中没写过. 问:那你这么多年工作中就没写过吗? 答:的确没写过, ...

  4. OCP准备记录

    0628: 051 OK053 1-192! 加油了,每天至少100道吧明天复习一下626,627,628这几天的成果先看一遍对的,再看一遍错的!!最少要把051复习一遍 0629: 今天忙了太久 只 ...

  5. Spring整合hibernate4:事务管理[转]

    Spring和Hibernate整合后,通过Hibernate API进行数据库操作时发现每次都要opensession,close,beginTransaction,commit,这些都是重复的工作 ...

  6. OC语法8——@class关键字

    @class关键字: 在当前类中若要引用其他类的对象作成员变量(Book  *book),我们以前采用的方式是 #import "Book.h" 但 #import "B ...

  7. avalon.js实践 svg地图配置工具

    MVVM模式,在很多复杂交互逻辑下面,有很大的优势.现在相关的框架也很多,现在项目中使用了avalon.js,选择它的原因,是兼容性的考虑,当然也要支持下国内开发大牛,至于性能方面的,没有实际测试过, ...

  8. WordPress下载安装简单配置实例

    1.下载https://cn.wordpress.org/ 2.复制wp-config-sample.php为wp-config.php 3.创建一个wordpress数据库 4.修改wp-confi ...

  9. CakePHP 2.x 升级3.0

    CakePHP 2.x => 3.x 升级手顺 一.Controller层 1.find('list') 原2.x中该方法通过指定option中的'fields'来实现key=>value ...

  10. python filter内建函数

    以下是filter函数的官方文档,注意最后一段,当function不为None时,函数相似于[item for item in iterable if function(item)],function ...