zoukankan      html  css  js  c++  java
  • 基于mahout的海量数据关联规则挖掘

    数据准备

      到http://fimi.ua.ac.be/data/下载一个购物篮数据retail.dat。

    数据格式如下:

    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
    30 31 32
    33 34 35
    36 37 38 39 40 41 42 43 44 45 46
    38 39 47 48
    38 39 48 49 50 51 52 53 54 55 56 57 58
    32 41 59 60 61 62
    3 39 48
    63 64 65 66 67 68
    32 69
    48 70 71 72
    39 73 74 75 76 77 78 79
    36 38 39 41 48 79 80 81
    82 83 84
    41 85 86 87 88
    39 48 89 90 91 92 93 94 95 96 97 98 99 100 101
    36 38 39 48 89
    39 41 102 103 104 105 106 107 108
    38 39 41 109 110
    39 111 112 113 114 115 116 117 118
    119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
    48 134 135 136
    39 48 137 138 139 140 141 142 143 144 145 146 147 148 149
    39 150 151 152
    38 39 56 153 154 155
    48 156 157 158 159 160
    39 41 48
    161 162 163 164 165 166 167
    38 39 48 168 169 170 171 172 173
    32 39 41 48 174 175 176 177 178

      上传到hadoop文件系统  

    hadoop fs -mkdir  /user/hadoop/mahoutData #创建目录
    hadoop fs -put ~/data/retail.dat /user/hadoop/mahoutData

    调用FpGrowth算法

    
    
    mahout fpg -i /user/hadoop/mahoutData/retail.dat -o patterns -method mapreduce -s 1000 -regex '[ ]'
    
    

      -i表示input,-o表示-output,-s表示最小支持度,'[ ]'表示以行内的数据以空格分开。

    
    

      一两分钟后执行完毕,生成的文件被序列化了,直接查看会是乱码,因此需要用mahout还原回来:

    
    
     mahout seqdumper -i /user/hadoop/patterns/fpgrowth/part-r-00000 -o ~/data/patterns.txt
    
    

      输出结果:  

    Key: 39: Value: ([39],50675)
    Key: 48: Value: ([48],42135), ([39, 48],29142)
    Key: 38: Value: ([38],15596), ([39, 38],10345), ([48, 38],7944), ([39, 48, 38],6102)
    Key: 32: Value: ([32],15167), ([39, 32],8455), ([48, 32],8034), ([39, 48, 32],5402), ([38, 32],2833), ([39, 38, 32],1840), ([48, 38, 32],1646), ([39, 48, 38, 32],1236)
    Key: 41: Value: ([41],14945), ([39, 41],11414), ([48, 41],9018), ([39, 48, 41],7366), ([38, 41],3897), ([32, 41],3196), ([39, 38, 41],3051), ([48, 38, 41],2374), ([39, 32, 41],2359), ([48, 32, 41],2063), ([39, 48, 38, 41],1991), ([39, 48, 32, 41],1646)
    Key: 65: Value: ([65],4472), ([39, 65],2787), ([48, 65],2529), ([39, 48, 65],1797)
    Key: 89: Value: ([89],3837), ([48, 89],2798), ([39, 89],2749), ([39, 48, 89],2125)
    Key: 225: Value: ([225],3257), ([39, 225],2351), ([48, 225],1736), ([39, 48, 225],1400)

    这里输出的只是频繁项集,但在此基础上提取关联规则已经不是难事

    
    
  • 相关阅读:
    LabVIEW-水仙花数
    NRF51822自学笔记(一) 流水灯
    机器学习第四次作业
    4.K均值算法--应用
    机器学习第三次
    机器学习第二次专业
    算符优先分析
    自下而上语法分析
    递归下降语法分析
    LL(1)文法的判断,递归下降分析程序
  • 原文地址:https://www.cnblogs.com/energy1010/p/6408856.html
Copyright © 2011-2022 走看看