基於R的FP樹fp growth 關聯數據挖掘技術在煤礦隱患管理

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


研究煤礦隱患數據的挖掘以實現海量隱患數據的有效利用,在分析礦山數據挖掘枝術和煤礦隱患數據特色的基礎上,提出煤礦隱患數據挖掘是礦山數字化的重要組成部分,給出煤礦隱患數據挖掘的概念,設計了煤礦隱患數據挖掘模型,並進一步分析了適用於煤礦隱患數據的挖掘算法。以關聯算法爲例,對隱患數據進行多維關聯規則挖掘,分析挖掘結果代表隱患多維數據之間存在緊密關聯性,可以爲煤礦安全決策提供支持。算法

【大數據部落】基於R的關聯數據挖掘技術在煤礦隱患管理

如下以R語言爲例爲你們介紹關聯規則在煤礦隱患管理的應用安全

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 趙海根                     一、有兩組支架高壓膠管破
 2 處理開水幕 2009/1/3 陳小旦               一、皮帶機頭硬架尾部壓柱不吃勁
 3   調整管理 2009/1/3 陳小旦            二、60-66架煤牆鬆軟,有片幫現象
 4       整改 2009/1/3 崔慶忠 一、主皮帶上坡處第一道擋車器有一個肖未插到位
 5       整改 2009/1/3 崔慶忠                 二、主皮帶機頭消防水管未碼放
 6       整改 2009/1/3 崔慶忠             四、主皮帶機頭有一盞燈一頭未吊掛
     隱患主題 隱患時間
 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 rulesapp

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

 【大數據部落】基於R的關聯數據挖掘技術在煤礦隱患管理

相關文章
相關標籤/搜索