資料採礦系列(4)使用weka做關聯規則挖掘

來源:互聯網
上載者:User

前面幾篇介紹了關聯規則的一些基本概念和兩個基本演算法,但實際在商業應用中,寫演算法反而比較 少,理解資料,把握資料,利用工具才是重要的,前面的基礎篇是對演算法的理解,這篇將介紹開源利 用資料採礦工具weka進行管理規則挖掘。

weka資料集格式arff

arff標準資料集簡介

weka的資料檔案尾碼為arff(Attribute-Relation File Format,即屬性關聯性檔案格式),arff文 件分為注釋、關係名、屬性名稱、資料域幾大部分,注釋用百分比符號開頭%,關係名用@relation申明,屬 性用@attribute什麼,資料域用@data開頭,看這個樣本資料集(安裝weka後,可在weka的安裝目 錄/data下找到weather.numeric.arff): 

%weather dataset@relation weather    @attribute outlook {sunny, overcast, rainy}@attribute temperature numeric@attribute humidity numeric@attribute windy {TRUE, FALSE}@attribute play {yes, no}    @datasunny,85,85,FALSE,nosunny,80,90,TRUE,noovercast,83,86,FALSE,yesrainy,70,96,FALSE,yesrainy,68,80,FALSE,yesrainy,65,70,TRUE,noovercast,64,65,TRUE,yessunny,72,95,FALSE,nosunny,69,70,FALSE,yesrainy,75,80,FALSE,yessunny,75,70,TRUE,yesovercast,72,90,TRUE,yesovercast,81,75,FALSE,yesrainy,71,91,TRUE,no

當資料是數值型,在屬性名稱的後面加numeric,如果是離散值(枚舉值),就用一個大括弧將範圍 列出來。@data下一行後為資料記錄,資料為矩陣形式,即每一個的資料元素個數相等,若有缺失值, 就用問號?表示。

arff稀疏資料集   

我們做關聯規則挖掘,比如購物籃分析,我們的購物清單資料肯定是相當稀疏的,超市的商品種類 有上10000種,而每個人買東西只會買幾種商品,這樣如果用矩陣形式表示資料顯然浪費了很多的儲存 空間,我們需要用稀疏資料表示,看我們的購物清單樣本(basket.txt): 

freshmeat dairy confectioneryfreshmeat    confectionerycannedveg    frozenmeal    beer    fishdairy    winefreshmeat    wine    fishfruitveg    softdrinkbeerfruitveg    frozenmealfruitveg    fishfruitveg    freshmeat    dairy    cannedveg    wine    fishfruitveg    fishdairy    cannedmeat    frozenmeal    fish

資料集的每一行表示一個去重後的購物清單,進行關聯規則挖掘時,我們可以先把商品名字映射為 id號,挖掘的過程只有id號就是了,到規則挖掘出來之後再轉回商品名就是了,retail.txt是一個轉 化為id號的零售資料集,資料集的前面幾行如下: 

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      31    32   34    35   37    38    39    40    41    42    43    44    45    46   39    47    48   39    48    49    50    51    52    53    54    55    56    57    58   41    59    60    61    62   39    48   64    65    66    67    68   69

這個資料集的商品有16469個,一個購物的商品數目遠少於商品中數目,因此要用稀疏資料表, weka支援稀疏資料表示,但我在運用apriori演算法時有問題,先看一下weka的稀疏資料要求:稀疏資料 和標準資料的其他部分都一樣,唯一不同就是@data後的資料記錄,樣本如下(basket.arff):

@relation 'basket'@attribute fruitveg {F, T}@attribute freshmeat {F, T}@attribute dairy {F, T}@attribute cannedveg {F, T}@attribute cannedmeat {F, T}@attribute frozenmeal {F, T}@attribute beer {F, T}@attribute wine {F, T}@attribute softdrink {F, T}@attribute fish {F, T}@attribute confectionery {F, T}@data{1 T, 2 T, 10 T}{1 T, 10 T}{3 T, 5 T, 6 T, 9 T}{2 T, 7 T}{1 T, 7 T, 9 T}{0 T, 8 T}{6 T}{0 T, 5 T}{0 T, 9 T}{0 T, 1 T, 2 T, 3 T, 7 T, 9 T}{0 T, 9 T}{2 T, 4 T, 5 T, 9 T}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.