5. Ý nghĩa thực tiễn của đề tài
3.2 Cài đặt thực nghiệm và ứng dụng
Trên cơ sở của việc xây dựng thuật toán HA_KMEAN đã được minh họa với dữ liệu được mờ hóa và cho thấy kết quả phân cụm khơng thay đổi, chúng tôi tiến hành thực nghiệm trên tập dữ liệu bank.arff với tập thuộc tính:
@attribute age character @attribute sex {FEMALE,MALE}
@attribute married {NO,YES} @attribute children {0,1,2,3} @attribute car {NO,YES}
@attribute save_act {NO,YES} @attribute current_act {NO,YES} @attribute mortgage {NO,YES} @attribute pep {YES,NO}
và ứng dụng cụ thể vào bài toán phân cụm dữ liệu trên hai thuộc tínhcó dạng dữ liệu ngơn ngữ age,income (cột (2),(3) Phụ lục 1), cụ thể như sau:
Bước 1-2: Chúng tôi xem miền trị của thuộc tính là một ĐSGT và biến đổi các giá
trị chưa đồng nhất về giá trị [0, 1] tương ứng, được xác định như sau: Thuộc tính Income:
Gọi Xincome= ( Xincome, Gincome,Hincome,≤) là đại số gia tử, với Gincome= {cao, thấp}, H+income = {rất, hơn}, H-income = {khả năng, ít}, rất > hơn và ít > khả năng.
Chọn Wincome= 0.5; fm(thấp) = 0.5; fm(cao) = 0.5; fm(khả năng) = 0.3; fm(rất) = 0.2; fm(ít) = 0.2; fm(hơn) = 0.3; và Dom(income) = [5000,70000]. Ta có : fm(rất thấp) = 0.1; fm(hơn thấp) = 0.15; fm(ít thấp) = 0.1; fm(khả năng thấp) = 0.15; và do: rất thấp < hơn thấp < thấp < khả năng thấp < ít thấp nên ta có:
I(hơn thấp) = [0.1, 0.25]; I(khả năng cao)=[0.60, 0.75]; I(khả năng thấp) = [0.25, 0.4]; I(hơn cao)=[0.75, 0.90]; I(ít thấp)=[0.4, 0.50]; I(rất cao)=[0.90, 1].
Từ định nghĩa 1.6, ta có thể tính được giá trị ngữ nghĩa của các từ như sau:
Bảng 3.4 Giá trị định lượng v cho thuộc tính Income
Giá trị ngơn ngữ Hàm v Giá trị ngôn ngữ Hàm v
rất thấp 0.05 ít cao 0.55
hơn thấp 0.175 khả năng cao 0.675
thấp 0.25 cao 0.75
khả năng thấp 0.325 hơn cao 0.825
ít thấp 0.45 rất cao 0.95
Thuộc tính Age:
Gọi XAge= ( XAge, GAge,HAge,≤) là đại số gia tử, với GAge= {già, trẻ}, H+Age = {rất, hơn}, H-Age = {khả năng, ít}, rất > hơn và ít > khả năng.
Chọn WAge= 0.5; fm(trẻ) = 0.5; fm(già) = 0.5; fm(khả năng) = 0.2; fm(rất) = 0.4; fm(ít) = 0.3; fm(hơn) = 0.1; và Dom(Age) = [18,70]. Ta có: fm(rất trẻ) = 0.2; fm(hơn trẻ) = 0.05;
fm(ít trẻ) = 0.15; fm(khả năng trẻ) = 0.1;
và do :
rất trẻ < hơn trẻ < trẻ < khả năng trẻ < ít trẻ nên ta có:
I(rất trẻ) = [0, 0.2]; I(ít già) = [0.50, 0.65]; I(hơn trẻ) = [0.2, 0.25]; I(khả năng già)=[0.65, 0.75]; I(khả năng trẻ) = [0.25, 0.35] I(hơn già)=[0.75, 0.8]; I(ít trẻ)=[0.35, 0.50]; I(rất già)=[0.8, 1].
Từ định nghĩa 1.6, có thể tính được giá trị ngữ nghĩa của các từ như sau:
Bảng 3.5 Giá trị định lượng v cho thuộc tính Age
Giá trị ngôn ngữ Hàm v Giá trị ngôn ngữ Hàm v
rất trẻ 0.1 ít già 0.575
hơn trẻ 0.225 khả năng già 0.70
trẻ 0.25 già 0.75
khả năng trẻ 0.3 hơn già 0.775
ít trẻ 0.425 rất già 0.9
Dựa vào bảng 3.4 chuyến các giá trị ngôn ngữ thuộc tính Income và bảng 3.5 cho các giá trị ngơn ngữ thuộc tính Age về khoảng [0,1], tiếp đến xác định các giá trị số lượng còn lại của từng thuộc tính thuộc từ nào và với bảng giá trị sau khi chuyển đổi ta sẽ có số liệu với giá trị đã được đồng nhất và đưa về [0,1] (cột (4), (5) Phụ lục 1).
Từ kết quả của bước trên, tiếp tục tiến hành thực hiện các bước tiếp theo từ bước 3 đến bước 7 qua sự hỗ trợ của weka với dữ liệu rõ, áp dụng thuật toán k-means. === Run information ===
Scheme: weka.clusterers.SimpleKMeans -init 0 -max-candidates 100 -periodic- pruning 10000 -min-density 2.0 -t1 -1.25 -t2 -1.0 -N 5 -A
"weka.core.EuclideanDistance -R first-last" -I 500 -num-slots 1 -S 5 Relation: bank
Instances: 600 Attributes: age income
Test mode: evaluate on training data === Clustering model (full training set) === kMeans
======
Number of iterations: 5
Within cluster sum of squared errors: 21.204001208293125 Initial starting points (random):
Cluster 0: 0.775,0.325 Cluster 1: 0.575,0.325 Cluster 2: 0.7,0.675 Cluster 3: 0.9,0.55 Cluster 4: 0.775,0.45
Missing values globally replaced with mean/mode Final cluster centroids:
Cluster#
Attribute Full Data 0 1 2 3 4 (600.0) (104.0) (302.0) (45.0) (63.0) (86.0)
=========================================================== ==================
age 0.4704 0.6913 0.2348 0.8183 0.8782 0.5497 income 0.3486 0.2861 0.2155 0.7617 0.5734 0.5108 Time taken to build model (full training data) : 0.04 seconds
=== Model and evaluation on training set === Clustered Instances
0 104 ( 17%) 1 302 ( 50%) 2 45 ( 8%)
3 63 ( 11%) 4 86 ( 14%)
Bảng 3.6 Kết quả thực hiện phân cụm
Cụm Tâm cụm Số lượng (cột (6) Phụ lục 1) Age Income 1 0.6913 0.2861 104 2 0.2348 0.2155 302 3 0.8183 0.7617 45 4 0.8782 0.5734 63 5 0.5497 0.5108 86 .
KẾT LUẬN VÀ KIẾN NGHỊ