基于R的FP树fp growth 关联数据挖掘技术在煤矿隐患管理

2020-07-17 13:46:33 浏览数 (1)

原文链接:http://tecdat.cn/?p=5393

研究煤矿隐患数据的挖掘以实现海量隐患数据的有效利用,在分析矿山数据挖掘枝术和煤矿隐患数据特点的基础上,提出煤矿隐患数据挖掘是矿山数字化的重要组成部分,给出煤矿隐患数据挖掘的概念,设计了煤矿隐患数据挖掘模型,并进一步分析了适用于煤矿隐患数据的挖掘算法。以关联算法为例,对隐患数据进行多维关联规则挖掘,分析挖掘结果表明隐患多维数据之间存在紧密关联性,能够为煤矿安全决策提供支持。

以下以R语言为例为大家介绍关联规则在煤矿隐患管理的应用

代码语言:javascript复制
dat1=read.csv("安全隐患数据FP-Growth.csv",header=T ,stringsAsFactors=T)read data



head(dat1)have a look at data

   隐患日期 隐患单位 隐患条数       汇报人     隐患地点 隐患地点.1
 1 2009/1/2   综采队      5条       张立新   1106工作面     工作面
 2 2009/1/2   综采队            赵军孙旭光   1106工作面     工作面
 3 2009/1/2   综采队          郎志俊赵建军   1106工作面     工作面
 4 2009/1/2 机电二队      4条 宋慧刚李思光 一采区胶带巷     胶带巷
 5 2009/1/2 机电二队      4条 宋慧刚李思光 一采区胶带巷     胶带巷
 6 2009/1/2 机电二队      4条 宋慧刚李思光 一采区胶带巷     胶带巷
     处理措施 处理时间 负责人                                    隐患描述
 1       处理 2009/1/3 赵海根                     1、有两组支架高压胶管破
 2 处理开水幕 2009/1/3 陈小旦               1、皮带机头硬架尾部压柱不吃劲
 3   调整管理 2009/1/3 陈小旦            2、60-66架煤墙松软,有片帮现象
 4       整改 2009/1/3 崔庆忠 1、主皮带上坡处第一道挡车器有一个肖未插到位
 5       整改 2009/1/3 崔庆忠                 2、主皮带机头消防水管未码放
 6       整改 2009/1/3 崔庆忠             4、主皮带机头有一盏灯一头未吊挂
     隐患主题 隐患时间
 1   支架问题 第一季度
 2 皮带机问题 第一季度
 3   片帮问题 第一季度
 4 皮带机问题 第一季度
 5   火灾问题 第一季度
 6 皮带机问题 第一季度

  隐患主题、隐患时间、隐患地点和隐患单位
dat1=as(dat1[c("隐患主题","隐患时间","隐患地点.1","隐患单位")], "transactions")



inspect(frequentsets[1:10]) 察看求得的频繁项集 review frequent sets

      items                                 support   
 [1]  {隐患主题=片帮问题,隐患地点.1=工作面} 0.05084388
 [2]  {隐患地点.1=排水巷,隐患单位=综掘二队} 0.05327004
 [3]  {隐患主题=支架问题,隐患地点.1=工作面} 0.06329114
 [4]  {隐患时间=第二季度,隐患地点.1=猴车巷} 0.05126582
 [5]  {隐患地点.1=猴车巷,隐患单位=综掘三队} 0.08829114
 [6]  {隐患时间=第二季度,隐患单位=综掘一队} 0.05000000
 [7]  {隐患地点.1=风巷,隐患单位=综掘一队}   0.08164557
 [8]  {隐患时间=第二季度,隐患单位=综掘二队} 0.05527426
 [9]  {隐患时间=第二季度,隐患单位=综掘三队} 0.05991561
 [10] {隐患地点.1=工作面,隐患单位=综采队}   0.13491561

根据支持度对求得的频繁项集排序并察看(等价于inspect(sort(frequentsets)[1:10])

      items                               support  
 [1]  {隐患时间=第二季度}                 0.3750000
 [2]  {隐患地点.1=工作面}                 0.2995781
 [3]  {隐患时间=第一季度}                 0.2668776
 [4]  {隐患时间=第三季度}                 0.1997890
 [5]  {隐患单位=综安队}                   0.1775316
 [6]  {隐患地点.1=风巷}                   0.1585443
 [7]  {隐患地点.1=工作面,隐患单位=综安队} 0.1521097
 [8]  {隐患主题=锚杆问题}                 0.1464135
 [9]  {隐患时间=第四季度}                 0.1437764
 [10] {隐患主题=皮带机问题}               0.1431435

fp growth tree Mine association rules

代码语言:javascript复制
fptree=function (data, parameter = NULL, appearance = NULL, control = NULL) 
{
  data 
    appearance <- as(c(appearance, list(labels = itemLabels(data))), 
                     "APappearance")
 
    validObject(result@lhs@data)
    validObject(result@rhs@data)
  }
  else {
    validObject(result@items@data)
  }
  result
}


 
rules=fptree(dat1,parameter=list(support=0.06,confidence=0.1,minlen=2)) 求关联规则

 
summary(rules)Inspect transactions

 set of 25 rules
 
 rule length distribution (lhs   rhs):sizes
  2  3 
 22  3 
 
    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
    2.00    2.00    2.00    2.12    2.00    3.00 
 
 summary of quality measures:
     support          confidence          lift       
  Min.   :0.06276   Min.   :0.1868   Min.   :0.9775  
  1st Qu.:0.06456   1st Qu.:0.2928   1st Qu.:1.0806  
  Median :0.07078   Median :0.4244   Median :1.3247  
  Mean   :0.08642   Mean   :0.4940   Mean   :2.5253  
  3rd Qu.:0.08829   3rd Qu.:0.6643   3rd Qu.:3.2100  
  Max.   :0.15211   Max.   :0.9676   Max.   :7.2803  
 
 mining info:
  data ntransactions support confidence
  dat1          9480    0.06        0.1

inspect(head(rules))

     lhs                    rhs                 support    confidence
 [1] {隐患主题=支架问题} => {隐患地点.1=工作面} 0.06329114 0.9600000 
 [2] {隐患地点.1=工作面} => {隐患主题=支架问题} 0.06329114 0.2112676 
 [3] {隐患地点.1=猴车巷} => {隐患单位=综掘三队} 0.08829114 0.9676301 
 [4] {隐患单位=综掘三队} => {隐患地点.1=猴车巷} 0.08829114 0.6642857 
 [5] {隐患单位=综掘一队} => {隐患地点.1=风巷}   0.08164557 0.7267606 
 [6] {隐患地点.1=风巷}   => {隐患单位=综掘一队} 0.08164557 0.5149701 
     lift    
 [1] 3.204507
 [2] 3.204507
 [3] 7.280264
 [4] 7.280264
 [5] 4.583959
 [6] 4.583959

quality(head(rules))

      support confidence     lift
 1 0.06329114  0.9600000 3.204507
 2 0.06329114  0.2112676 3.204507
 3 0.08829114  0.9676301 7.280264
 4 0.08829114  0.6642857 7.280264
 5 0.08164557  0.7267606 4.583959
 6 0.08164557  0.5149701 4.583959

rules <- sort(rules, by="support")
inspect(head(rules, n=40))Look at rules with highest support

      lhs                                      rhs                
 [1]  {隐患单位=综安队}                     => {隐患地点.1=工作面}
 [2]  {隐患地点.1=工作面}                   => {隐患单位=综安队}  
 [3]  {隐患单位=综采队}                     => {隐患地点.1=工作面}
 [4]  {隐患地点.1=工作面}                   => {隐患单位=综采队}  
 [5]  {隐患地点.1=工作面}                   => {隐患时间=第二季度}
 [6]  {隐患时间=第二季度}                   => {隐患地点.1=工作面}
 [7]  {隐患地点.1=猴车巷}                   => {隐患单位=综掘三队}
 [8]  {隐患单位=综掘三队}                   => {隐患地点.1=猴车巷}
 [9]  {隐患时间=第一季度}                   => {隐患地点.1=工作面}
 [10] {隐患地点.1=工作面}                   => {隐患时间=第一季度}
 [11] {隐患单位=综掘一队}                   => {隐患地点.1=风巷}  
 [12] {隐患地点.1=风巷}                     => {隐患单位=综掘一队}
 [13] {隐患单位=综安队}                     => {隐患时间=第二季度}
 [14] {隐患时间=第二季度}                   => {隐患单位=综安队}  
 [15] {隐患地点.1=风巷}                     => {隐患时间=第二季度}
 [16] {隐患时间=第二季度}                   => {隐患地点.1=风巷}  
 [17] {隐患地点.1=工作面,隐患单位=综安队}   => {隐患时间=第二季度}
 [18] {隐患时间=第二季度,隐患单位=综安队}   => {隐患地点.1=工作面}
 [19] {隐患时间=第二季度,隐患地点.1=工作面} => {隐患单位=综安队}  
 [20] {隐患时间=第三季度}                   => {隐患地点.1=工作面}
 [21] {隐患地点.1=工作面}                   => {隐患时间=第三季度}
 [22] {隐患主题=支架问题}                   => {隐患地点.1=工作面}
 [23] {隐患地点.1=工作面}                   => {隐患主题=支架问题}
 [24] {隐患单位=综安队}                     => {隐患时间=第一季度}
 [25] {隐患时间=第一季度}                   => {隐患单位=综安队}  
      support    confidence lift     
 [1]  0.15210970 0.8568033  2.8600336
 [2]  0.15210970 0.5077465  2.8600336
 [3]  0.13491561 0.9616541  3.2100286
 [4]  0.13491561 0.4503521  3.2100286
 [5]  0.10981013 0.3665493  0.9774648
 [6]  0.10981013 0.2928270  0.9774648
 [7]  0.08829114 0.9676301  7.2802642
 [8]  0.08829114 0.6642857  7.2802642
 [9]  0.08639241 0.3237154  1.0805712
 [10] 0.08639241 0.2883803  1.0805712
 [11] 0.08164557 0.7267606  4.5839588
 [12] 0.08164557 0.5149701  4.5839588
 [13] 0.07078059 0.3986928  1.0631808
 [14] 0.07078059 0.1887482  1.0631808
 [15] 0.07004219 0.4417831  1.1780883
 [16] 0.07004219 0.1867792  1.1780883
 [17] 0.06455696 0.4244105  1.1317614
 [18] 0.06455696 0.9120715  3.0445205
 [19] 0.06455696 0.5878963  3.3115012
 [20] 0.06339662 0.3173178  1.0592159
 [21] 0.06339662 0.2116197  1.0592159
 [22] 0.06329114 0.9600000  3.2045070
 [23] 0.06329114 0.2112676  3.2045070
 [24] 0.06276371 0.3535354  1.3247095
 [25] 0.06276371 0.2351779  1.3247095

 Look at rules with highest support

      lhs                                      rhs                
 [1]  {隐患地点.1=猴车巷}                   => {隐患单位=综掘三队}
 [2]  {隐患单位=综采队}                     => {隐患地点.1=工作面}
 [3]  {隐患主题=支架问题}                   => {隐患地点.1=工作面}
 [4]  {隐患时间=第二季度,隐患单位=综安队}   => {隐患地点.1=工作面}
 [5]  {隐患单位=综安队}                     => {隐患地点.1=工作面}
 [6]  {隐患单位=综掘一队}                   => {隐患地点.1=风巷}  
 [7]  {隐患单位=综掘三队}                   => {隐患地点.1=猴车巷}
 [8]  {隐患时间=第二季度,隐患地点.1=工作面} => {隐患单位=综安队}  
 [9]  {隐患地点.1=风巷}                     => {隐患单位=综掘一队}
 [10] {隐患地点.1=工作面}                   => {隐患单位=综安队}  
 [11] {隐患地点.1=工作面}                   => {隐患单位=综采队}  
 [12] {隐患地点.1=风巷}                     => {隐患时间=第二季度}
 [13] {隐患地点.1=工作面,隐患单位=综安队}   => {隐患时间=第二季度}
 [14] {隐患单位=综安队}                     => {隐患时间=第二季度}
 [15] {隐患地点.1=工作面}                   => {隐患时间=第二季度}
 [16] {隐患单位=综安队}                     => {隐患时间=第一季度}
 [17] {隐患时间=第一季度}                   => {隐患地点.1=工作面}
 [18] {隐患时间=第三季度}                   => {隐患地点.1=工作面}
 [19] {隐患时间=第二季度}                   => {隐患地点.1=工作面}
 [20] {隐患地点.1=工作面}                   => {隐患时间=第一季度}
 [21] {隐患时间=第一季度}                   => {隐患单位=综安队}  
 [22] {隐患地点.1=工作面}                   => {隐患时间=第三季度}
 [23] {隐患地点.1=工作面}                   => {隐患主题=支架问题}
 [24] {隐患时间=第二季度}                   => {隐患单位=综安队}  
 [25] {隐患时间=第二季度}                   => {隐患地点.1=风巷}  
      support    confidence lift     
 [1]  0.08829114 0.9676301  7.2802642
 [2]  0.13491561 0.9616541  3.2100286
 [3]  0.06329114 0.9600000  3.2045070
 [4]  0.06455696 0.9120715  3.0445205
 [5]  0.15210970 0.8568033  2.8600336
 [6]  0.08164557 0.7267606  4.5839588
 [7]  0.08829114 0.6642857  7.2802642
 [8]  0.06455696 0.5878963  3.3115012
 [9]  0.08164557 0.5149701  4.5839588
 [10] 0.15210970 0.5077465  2.8600336
 [11] 0.13491561 0.4503521  3.2100286
 [12] 0.07004219 0.4417831  1.1780883
 [13] 0.06455696 0.4244105  1.1317614
 [14] 0.07078059 0.3986928  1.0631808
 [15] 0.10981013 0.3665493  0.9774648
 [16] 0.06276371 0.3535354  1.3247095
 [17] 0.08639241 0.3237154  1.0805712
 [18] 0.06339662 0.3173178  1.0592159
 [19] 0.10981013 0.2928270  0.9774648
 [20] 0.08639241 0.2883803  1.0805712
 [21] 0.06276371 0.2351779  1.3247095
 [22] 0.06339662 0.2116197  1.0592159
 [23] 0.06329114 0.2112676  3.2045070
 [24] 0.07078059 0.1887482  1.0631808
 [25] 0.07004219 0.1867792  1.1780883

  Look at rules with highest lift

      lhs                                      rhs                
 [1]  {隐患地点.1=猴车巷}                   => {隐患单位=综掘三队}
 [2]  {隐患单位=综掘三队}                   => {隐患地点.1=猴车巷}
 [3]  {隐患单位=综掘一队}                   => {隐患地点.1=风巷}  
 [4]  {隐患地点.1=风巷}                     => {隐患单位=综掘一队}
 [5]  {隐患时间=第二季度,隐患地点.1=工作面} => {隐患单位=综安队}  
 [6]  {隐患单位=综采队}                     => {隐患地点.1=工作面}
 [7]  {隐患地点.1=工作面}                   => {隐患单位=综采队}  
 [8]  {隐患地点.1=工作面}                   => {隐患主题=支架问题}
 [9]  {隐患主题=支架问题}                   => {隐患地点.1=工作面}
 [10] {隐患时间=第二季度,隐患单位=综安队}   => {隐患地点.1=工作面}
 [11] {隐患单位=综安队}                     => {隐患地点.1=工作面}
 [12] {隐患地点.1=工作面}                   => {隐患单位=综安队}  
 [13] {隐患单位=综安队}                     => {隐患时间=第一季度}
 [14] {隐患时间=第一季度}                   => {隐患单位=综安队}  
 [15] {隐患地点.1=风巷}                     => {隐患时间=第二季度}
 [16] {隐患时间=第二季度}                   => {隐患地点.1=风巷}  
 [17] {隐患地点.1=工作面,隐患单位=综安队}   => {隐患时间=第二季度}
 [18] {隐患时间=第一季度}                   => {隐患地点.1=工作面}
 [19] {隐患地点.1=工作面}                   => {隐患时间=第一季度}
 [20] {隐患单位=综安队}                     => {隐患时间=第二季度}
 [21] {隐患时间=第二季度}                   => {隐患单位=综安队}  
 [22] {隐患时间=第三季度}                   => {隐患地点.1=工作面}
 [23] {隐患地点.1=工作面}                   => {隐患时间=第三季度}
 [24] {隐患地点.1=工作面}                   => {隐患时间=第二季度}
 [25] {隐患时间=第二季度}                   => {隐患地点.1=工作面}
      support    confidence lift     
 [1]  0.08829114 0.9676301  7.2802642
 [2]  0.08829114 0.6642857  7.2802642
 [3]  0.08164557 0.7267606  4.5839588
 [4]  0.08164557 0.5149701  4.5839588
 [5]  0.06455696 0.5878963  3.3115012
 [6]  0.13491561 0.9616541  3.2100286
 [7]  0.13491561 0.4503521  3.2100286
 [8]  0.06329114 0.2112676  3.2045070
 [9]  0.06329114 0.9600000  3.2045070
 [10] 0.06455696 0.9120715  3.0445205
 [11] 0.15210970 0.8568033  2.8600336
 [12] 0.15210970 0.5077465  2.8600336
 [13] 0.06276371 0.3535354  1.3247095
 [14] 0.06276371 0.2351779  1.3247095
 [15] 0.07004219 0.4417831  1.1780883
 [16] 0.07004219 0.1867792  1.1780883
 [17] 0.06455696 0.4244105  1.1317614
 [18] 0.08639241 0.3237154  1.0805712
 [19] 0.08639241 0.2883803  1.0805712
 [20] 0.07078059 0.3986928  1.0631808
 [21] 0.07078059 0.1887482  1.0631808
 [22] 0.06339662 0.3173178  1.0592159
 [23] 0.06339662 0.2116197  1.0592159
 [24] 0.10981013 0.3665493  0.9774648
 [25] 0.10981013 0.2928270  0.9774648

0 人点赞