本次共進行了9組實驗,使用了weka安裝目錄data檔案夾下的contact-lenses.arff資料。
toolsàarffviewer,打開contact-lenses,可以看到實驗資料contact-lenses共有24條記錄,5個屬性值。具體内容如下:
結合實驗結果闡釋下列12個參數的含義
1. car 如果設為真,則會挖掘類關聯規則而不是全局關聯規則。
2. classindex 類屬性索引。如果設定為-1,最後的屬性被當做類屬性。
3. delta 以此數值為疊代遞減機關。不斷減小支援度直至達到最小支援度或産生了滿足數量要求的規則。
4. lowerboundminsupport 最小支援度下界。
5. metrictype 度量類型。設定對規則進行排序的度量依據。可以是:置信度(類關聯規則隻能用置信度挖掘),提升度(lift),杠杆率(leverage),确信度(conviction)。
在 weka中設定了幾個類似置信度(confidence)的度量來衡量規則的關聯程度,它們分别是:
a) lift : p(a,b)/(p(a)p(b)) lift=1時表示a和b獨立。這個數越大(>1),越表明a和b存在于一個購物籃中不是偶然現象,有較強的關聯度.
b) leverage :p(a,b)-p(a)p(b)
leverage=0時a和b獨立,leverage越大a和b的關系越密切
c) conviction:p(a)p(!b)/p(a,!b) (!b表示b沒有發生) conviction也是用來衡量a和b的獨立性。從它和lift的關系(對b取反,代入lift公式後求倒數)可以看出,這個值越大, a、b越關聯。
6. minmtric 度量的最小值。
7. numrules 要發現的規則數。
8. outputitemsets 如果設定為真,會在結果中輸出項集。
9. removeallmissingcols 移除全部為預設值的列。
10. significancelevel 重要程度。重要性測試(僅用于置信度)。
11. upperboundminsupport 最小支援度上界。 從這個值開始疊代減小最小支援度。
12. verbose 如果設定為真,則算法會以備援模式運作。
=== run information === // 實驗運作資訊
scheme: weka.associations.apriori -i -n 10 -t 0 -c 0.9 -d 0.05 -u 1.0 -m 0.5 -s -1.0 -c -1
relation: contact-lenses //資料的名稱 contact-lenses
instances: 24 //資料的記錄數 24
attributes: 5 //屬性數目 5以及各屬性名稱
age
spectacle-prescrip
astigmatism
tear-prod-rate
contact-lenses
=== associator model (full training set) ===
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% scheme -所選的關聯規則挖掘方案: apriori算法
% 算法的參數設定:-i -n 10 -t 0 -c 0.9 -d 0.05 -u 1.0 -m 0.5 -s -1.0 -c -1 ;
% 各參數依次表示:
% i - 輸出項集,若設為false則該值預設;
% n 10 - 規則數為10;
% t 0 – 度量機關選為置信度,(t1-提升度,t2杠杆率,t3确信度);
% c 0.9 – 度量的最小值為0.9;
% d 0.05 - 遞減疊代值為0.05;
% u 1.0 - 最小支援度上界為1.0;
% m 0.5 - 最小支援度下屆設為0.5;
% s -1.0 - 重要程度為-1.0;
% c -1 - 類索引為-1輸出項集設為真
% (由于car, removeallmissingcols, verbose都保持為預設值false,是以在結果的參數設定為預設,若設為true,則會在結果的參數設定資訊中分别表示為a,
r,v)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
apriori // apriori算法運作結果
=======
minimum support: 0.5 (12 instances) //最小支援度0.5,即最少需要12個執行個體
minimum metric <confidence>: 0.9 //最小度量<置信度>:
0.9
number of cycles performed: 10 //進行了10輪搜尋
generated sets of large itemsets: //生成的頻繁項集
size of set of large itemsets l(1): 7 //頻繁1項集:7個
large itemsets l(1): //頻繁1項集(outputitemsets設為true, 是以下面會具體列出)
spectacle-prescrip=myope 12
spectacle-prescrip=hypermetrope 12
astigmatism=no 12
astigmatism=yes 12
tear-prod-rate=reduced 12
tear-prod-rate=normal 12
contact-lenses=none 15
%%%%%%%%%%%%%%%%%%%%%%%%
在上面所示資料界面中,分别點選标簽spectacle-prescrip,astigmatism,tear-prod-rate和contact-lenses,該列的值會自動進行分類排序,可以很友善的對上面結果進行。點選age标簽,其值按pre-presbiopic、presbiopic和young分類排序,可以看到各屬性值的記錄數均為8<12,不滿足最小支援度,是以age屬性的所有取值都沒有列在上面結果中。
size of set of large itemsets l(2): 1 //頻繁2項集: 1個
large itemsets l(2):
tear-prod-rate=reduced contact-lenses=none 12
//tear-prod-rate取值為reduced且 contact-lenses取值為none 的記錄數共有12個
best rules found: //最佳關聯規則
1. tear-prod-rate=reduced 12 ==> contact-lenses=none 12 conf:(1)
// 若tear-prod-rate取值為reduced可以推出 contact-lenses的取值為none,該關聯規則置信度為100%
1. 實驗中,若其它參數保持為預設值,将最小支援度下界設為0.8,則運作結果會顯示”no large itemsets and rules found!”,即找不到滿足條件的關聯規則。
2. 若其它參數保持為預設值,将最小支援度下界設為0.25,上界設為0.8,度量選為置信度,最小值為0.8,則運作結果找到:頻繁1項集10個,頻繁2項集18個,頻繁3項集4個,找到的最佳關聯規則為:
1. tear-prod-rate=reduced 12 ==> contact-lenses=none 12 conf:(1)
2. spectacle-prescrip=myope tear-prod-rate=reduced 6 ==> contact-lenses=none 6 conf:(1)
3. spectacle-prescrip=hypermetrope tear-prod-rate=reduced 6 ==> contact-lenses=none 6 conf:(1)
4. astigmatism=no tear-prod-rate=reduced 6 ==> contact-lenses=none 6 conf:(1)
5. astigmatism=yes tear-prod-rate=reduced 6 ==> contact-lenses=none 6 conf:(1)
6. spectacle-prescrip=myope contact-lenses=none 7 ==> tear-prod-rate=reduced 6 conf:(0.86)
7. astigmatism=no contact-lenses=none 7 ==> tear-prod-rate=reduced 6 conf:(0.86)
3. 若其它參數保持為預設值,将最小支援度下界設為0.25,上界設為0.8,度量選為提升度(lift : p(a,b)/(p(a)p(b))),最小值為1.1,則運作結果找到10條最佳關聯規則,前3條如下:
1. tear-prod-rate=reduced 12 ==> spectacle-prescrip=myope contact-lenses=none 6 conf:(0.5) < lift:(1.71)> lev:(0.1) [2] conv:(1.21)
2. spectacle-prescrip=myope contact-lenses=none 7 ==> tear-prod-rate=reduced 6 conf:(0.86) < lift:(1.71)> lev:(0.1) [2] conv:(1.75)
3. tear-prod-rate=reduced 12 ==> astigmatism=no contact-lenses=none 6 conf:(0.5) < lift:(1.71)> lev:(0.1) [2] conv:(1.21)
4. 若其它參數保持為預設值,将最小支援度下界設為0.25,上界設為0.8,度量選為杠杆率(leverage:p(a,b)-p(a)p(b),在下面第一條規則中,[4]表示滿足lev:(0.19)的執行個體數目),最小值為0.1,則運作結果找到6條最佳關聯規則,前3條如下:
1. tear-prod-rate=reduced 12 ==> contact-lenses=none 12 conf:(1) lift:(1.6) < lev:(0.19) [4]> conv:(4.5)
2. contact-lenses=none 15 ==> tear-prod-rate=reduced 12 conf:(0.8) lift:(1.6) < lev:(0.19) [4]> conv:(1.88)
3. tear-prod-rate=reduced 12 ==> spectacle-prescrip=myope contact-lenses=none 6
5. 若其它參數保持為預設值,将最小支援度下界設為0.25,上界設為0.8,度量選為确信度(conviction:p(a)p(!b)/p(a,!b)),最小值為1.1,則運作結果找到10條最佳關聯規則,前3條如下:
1. tear-prod-rate=reduced 12 ==> contact-lenses=none 12 conf:(1) lift:(1.6) lev:(0.19) [4] < conv:(4.5)>
2. spectacle-prescrip=myope tear-prod-rate=reduced 6 ==> contact-lenses=none 6 conf:(1) lift:(1.6) lev:(0.09) [2] < conv:(2.25)>
3. spectacle-prescrip=hypermetrope tear-prod-rate=reduced 6 ==> contact-lenses=none 6 conf:(1) lift:(1.6) lev:(0.09) [2] < conv:(2.25)>