Giao diện chính của chương trình:
Hình 4.1: Giao diện chính của chương trình
- Hiển thị dữ liệu trước khi phân cụm: Trong chương trình có 3 TabPage để
hiển thị dữ liệu của 3 tập dữ liệu cần phân cụm:
o Zoo_Data: Hiển thị dữ liệu Zoo được lấy từ kho dữ liệu chuẩn của “UCI Machine Learning” tại địa chỉhttp://archive.ics.uci.edu/ml/.
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
o Student_Data: Hiển thị dữ liệu của lớp đối tượng sinh viên (STUDENT). Mỗi đối tượng STUDENT là một bộ, gồm các thuộc tính kiểu nguyên tố: ST#: string; Fullname: string; Gender: int, Birthplace: string; thuộc tính kiểu tập: Marks; và thuộc tính kiểu bộ: Birthday, Dept. Dữ liệu chi tiết của lớp đối tượng này có trong phần phụ lục
Hình 4.2: Màn hình hiển thị dữ liệu của lớp đối tượng STUDENT
o Teacher_Data: Hiển thị dữ liệu của lớp đối tượng giáo viên (TEACHER). Mỗi đối tượng TEACHER là một bộ, gồm các thuộc tính có kiểu nguyên tố: T#: string, Fullname: string, Degree: string, Work_year: int; thuộc tính kiểu bộ: Dept; và thuộc tính kiểu tập: Teaching, các phần tử của thuộc tính Teaching là: SUBJECT, CLASS, TIME đều có kiểu bộ. Dữ liệu của lớp đối tượng giáo viên (TEACHER) gồm các thông tin về giáo viên, môn dạy, lớp dạy và thời gian dạy của từng giáo viên (chi tiết xem phần phụ lục).
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
Hình 4.3: Màn hình hiển thị dữ liệu của lớp đối tượng TEACHER
- Nhập số cụm: Textbox Cluster number cho phép người dùng nhập vào số
cụm cần phân cụm trên tập dữ liệu tương ứng với TabPage được chọn.
- Chức năng phân cụm (Clustering): Đây là chức năng quan trọng nhất trong chương trình. Chức năng này thực hiện tính độ đo tương tự hợp nhất, sau đó tiến hành phân cụm theo thuật toán AGNES đối với dữ liệu được chọn. Cụ thể như sau:
o Bộ dữ liệu Zoo:
Tính độ đo tương tự: Mỗi đối tượng Zoo là một bộ gồm: 1 thuộc tính nguyên tố kiểu phi số và 16 thuộc tính nguyên tố kiểu số. Trong luận văn này, chúng tôi giả
sử trọng số của các thuộc tính đều bằng 1 ⇒ Độ tương tự giữa các cặp đối tượng Zoo được tính bằng trung bình cộng độđo tương tự của các thuộc tính.
Sau khi tính độ tương tự, chương trình sẽ tiến hành phân cụm theo thuật toán
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
o Dữ liệu STUDENT:
Tính độđo tương tự: Đối với lớp đối tượng STUDENT, mỗi đối tượng tương
ứng với một cấu trúc bộ gồm các thuộc tính: ST#, Fullname, Gender, Birthday, Birthplace, Dept, Marks. Độ tương tự giữa các cặp đối tượng STUDENT chính là
độ tương tự giữa các bộ ⇒ Độ tương tự giữa các cặp đối tượng STUDENT được tính bằng trung bình cộng theo trọng số độ tương tự của các thuộc tính trong bộ. Khi tính độ tương tự giữa các đối tượng trong lớp đối tượng này, chúng tôi giả thiết trọng số của các thuộc tính là bằng 1, trọng số của thuộc tính tập (Marks) bằng số
phần tử của tập.
Sau khi tính độ tương tự giữa các cặp đối tượng STUDENT, chương trình tiến hành phân cụm với lớp đối tượng này dựa trên độđo tương tự vừa tính.
o Dữ liệu TEACHER:
Tính độ đo tương tự: Đối với lớp đối tượng TEACHER, mỗi đối tượng tương ứng với một cấu trúc bộ gồm các thuộc tính: T#, Fullname, Degree, Work_year, Dept, Teaching. Độ tương tự giữa các cặp đối tượng TEACHER chính là độ tương tự giữa các bộ. Khi tính độ tương tự giữa các đối tượng trong lớp đối tượng này, chúng tôi giả thiết trọng số của các thuộc tính đều là bằng 1 ⇒Độ tương tự giữa các cặp đối tượng TEACHER được tính bằng trung bình cộng độ tương tự
của các thuộc tính trong bộ.
Dựa trên độ đo này, chương trình sẽ tiến hành phân cụm lớp đối tượng TEACHER theo thuật toán đã chọn.
- Hiển thị kết quả phân cụm: Hiển thị số thứ tự của các bộ dữ liệu trong tập dữ liệu cần phân cụm.
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
Hình 4.4: Màn hình hiển thị kết quả phân cụm với tập dữ liệu zoo 4.2. Kết quả thử nghiệm
4.2.1. Tiêu chí đánh giá
- Đểđánh giá chất lượng phân cụm, chúng ta có thể sử dụng một số độđo (đã trình bày trong chương 2). Trong luận văn này, chúng tôi sử dụng độ đo External index: Đo mức độ các cụm tương đồng với các nhãn lớp đã được cung cấp sẵn, cụ
thể là sử dụng Purity. Chúng tôi chọn External index để đánh giá, vì trong kho dữ
liệu chuẩn của UCI, tập dữ liệu Zoo đã được phân lớp và có các nhãn lớp.
j ij ij m m p = ij i j p purity =max K j j j purity m m purity ∑ = = 1 Với: L là số lớp (classes);
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
K là số nhóm(clusters);
mj là số mẫu của cluster j; mij là số mẫu của class i thuộc cluster j m là tổng số mẫu
4.2.2. Kết quả thử nghiệm và đánh giá với tập dữ liệu Zoo
Tập dữ liệu Zoo được phân thành 7 lớp, nên chúng tôi chọn số cụm cần là 7. Kết quả có 95 trong tổng số 101 đối tượng được phân lớp đúng, vậy chất lượng phân cụm đạt 94,5%. Cụ thể như sau:
Bảng 5.1: Đánh giá kết quả phân cụm tập dữ liệu Zoo
Cluster 1 2 3 4 5 6 7 Purity 1 41 0 0 0 0 0 0 1 2 0 20 1 0 0 0 0 1 3 0 0 1 0 0 0 0 0.2 4 0 0 0 13 0 0 0 1 5 0 0 3 0 4 0 0 0.6 6 0 0 0 0 0 8 2 0.8 7 0 0 0 0 0 0 8 1 Purity 0.945
Qua kết quảđánh giá cho thấy, thuật toán PCDL và cách tính độ tương tự được trình bày trong chương 3 cho kết quả khá tốt trên tập dữ liệu Zoo.
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
4.2.3. Kết quả thử nghiệm với tập dữ liệu STUDENT
Với tập dữ liệu STUDENT, nếu chọn số cụm là 4 để phân cụm 20 đối tượng sinh viên, kết quả bằng quan sát trực quan như sau:
Bảng 5.2: Kết quả phân cụm với tập dữ liệu STUDENT Cụm Các phần tử của cụm Tính chất chung 1 1, 5, 6, 15 - Đạt tất cả các môn. - Các môn ngôn ngữ lập trình, thực tập đạt kết quả tốt (điểm 8, 9, 10). - Các môn về mạng có kết quả khá tốt (điểm 7, 8). 2 2, 3, 8, 11, 12, 14, 18, 19 - Hầu hết các môn có điểm trung bình (điểm 5, 6). - Các môn ngôn ngữ lập trình, thực tập có kết quả trung bình khá (điểm 6, 7). - Các môn CSDL và HQTCSDL có kết quả thấp (điểm 3, 4, 5) 3 4, 9, 10, 13, 16, 17, 20 - Hầu hết các môn có điểm trung bình (điểm 5, 6, 7). - Các môn ngôn ngữ lập trình và thực tập có kết quả tốt (điểm 8, 9).
4 7 - Hầu hết các môn có điểm dưới trung bình (điểm 3, 4).
- Các môn ngôn ngữ lập trình và thực tập có
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
Qua bảng kết quả trên, có thể rút ra các nhận xét:
- Nhóm 1: Nhóm sinh viên đạt tất cả các môn với điểm của các môn đều khá và tốt ⇒ có thể xếp loại nhóm sinh viên này là khá giỏi.
- Nhóm 2: Nhóm các sinh viên có hầu hết các môn đạt điểm trung bình, một số
ít môn có điểm yếu ⇒ có thể xếp nhóm sinh viên này thuộc loại học lực trung bình. - Nhóm 3: Nhóm các sinh viên có hầu hết các môn đạt điểm trung bình, một số
môn có điểm khá ⇒ có thể xếp nhóm sinh viên này thuộc loại học lực trung bình khá.
- Nhóm 4: Sinh viên có hầu hết các môn dưới điểm trung bình, một số môn có
điểm trung bình ⇒ có thể xếp nhóm sinh viên này thuộc loại học lực yếu.
4.2.4. Kết quả thử nghiệm với tập dữ liệu TEACHER
Với tập dữ liệu TEACHER, nếu chọn số cụm là 4 để phân cụm 16 đối tượng giáo viên, kết quả bằng quan sát trực quan như sau:
Bảng 5.3: Kết quả phân cụm với tập dữ liệu TEACHER
Cụm Các phần tử của cụm Tính chất chung 1 1, 2, 3, 4, 6, 7, 8, 12,
14, 16
Đa số các giáo viên có học vị Thạc sĩ
2 5 Giáo viên có học vị cử nhân, thâm niên 3 năm.
3 9, 10, 11 Giáo viên có học vị Kỹ sư, thâm niên công tác 7-9 năm. Thuộc Bộ môn CNPM.
4 13, 15 Giáo viên có học vị Tiến sĩ, số năm công tác > 25 năm.
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
Kết chương
Chương này trình bày các chức năng chính trong chương trình thử nghiệm: hiển thị các tập dữ liệu trước khi thực hiện phân cụm, chọn số lượng cụm, thực hiện phân cụm theo thuật toán đã chọn, hiển thị kết quả phân cụm. Mô hình dữ liệu dùng trong chương trình thử nghiệm. Bên cạnh đó, các kết quả thử nghiệm và đánh giá trên các tập dữ liệu cụ thể cũng được trình bày ởđây. Cụ thể: thử nghiệm phân cụm trên tập dữ liệu zoo được lấy từ kho dữ liệu chuẩn của “UCI Machine Learning” tại
địa chỉhttp://archive.ics.uci.edu/ml/ , và đánh giá kết quả bằng độđo External index
(Purity). Sau đó thử nghiệm PCDL với các lớp đối tượng STUDENT và TEACHER.
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
5.1. Các kết quả đạt được trong luận văn
Phân cụm là một hướng nghiên cứu quan trọng trong lĩnh vực khai phá dữ
liệu. Nhiều tác giả đã xây dựng cách tính độ đo tương tự hay khoảng cách trên các kiểu dữ liệu thuần định tính, phạm trù hay dữ liệu hỗn hợp, kèm theo các thuật toán phân cụm khá hiệu quả cho các kiểu dữ liệu này. Tuy nhiên đối với CSDL HĐT, hầu như chưa có tác giả nào đề xuất cách tính độ đo tương tự giữa các đối tượng một cách đầy đủ. Qua nghiên cứu, chúng tôi được biết Gilles Bisson [12] đã đưa ra cách tính độ tương tự giữa hai đối tượng nhưng chỉ dựa trên các thuộc tính kiểu số. Hoặc Akila Sarirete [2], Gavin Finnie [11], Ralph Bergmann [23] chỉ dừng lại ở
việc so sánh độ tương tự giữa các đối tượng dựa trên phân cấp lớp. Hơn nữa, hiện nay kỹ thuật hướng đối tượng đã được sử dụng rộng rãi trong việc phát triển phần mềm. Vì vậy, việc nghiên cứu để xây dựng độ đo tương tự hay khoảng cách giữa các đối tượng, cũng như thuật toán phân cụm dữ liệu trên CSDL HĐT là một việc làm cần thiết, có nhiều ý nghĩa trong khoa học và thực tiễn. Bản luận văn đã thực hiện được các vấn đề sau:
5.1.1. Về lý thuyết
- Nghiên cứu tổng quan về lĩnh vực khai phá dữ liệu, bao gồm: Các khái niệm về KDD, DM, quá trình KDD, quá trình DM, các hướng tiếp cận trong DM làm cơ
sởđể tìm hiểu vấn đề PCDL trong DM.
- Nghiên cứu tổng quan về PCDL, bao gồm: Các vấn đề cơ bản của PCDL,
ứng dụng của PCDL trong thực tiễn, các giai đoạn PCDL, các kỹ thuật tiếp cận trong PCDL và các độđo chất lượng cụm.
- Nghiên cứu các độ đo tương tự trên các kiểu dữ liệu thuần định tính, định lượng, mô hình CSDL HĐT và một số phương pháp như AOI, CH. Từđó xây dựng
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
hướng tiếp cận trong phân cụm đối với dữ liệu hỗn hợp, từ đó lựa chọn một thuật toán phù hợp cho phân cụm đối tượng.
5.1.2. Về thực nghiệm
- Cài đặt thuật toán PCDL sử dụng độ đo tương tự/ khoảng cách đề xuất. Có thử nghiệm với tập dữ liệu Zoo trong tập dữ liệu chuẩn của “UCI Machine Learning” và đánh giá chi tiết.
- Thử nghiệm phân cụm với hai lớp đối tượng là STUDENT và TEACHER trong mô hình CSDL HĐT mẫu.
5.2. Hướng nghiên cứu tiếp theo
Luận văn này đề cập đến các độđo tương tự/ khoảng cách giữa các đối tượng với 3 kiểu cơ bản: kiểu nguyên tố, kiểu tập và kiểu bộ; và việc phân cụm các đối tượng trong CSDL HĐT. Với tiền đề đó, trong thời gian tới, tôi sẽ tiếp tục tìm hiểu
để xây dựng độđo tương tự cho tất cả các kiểu đối tượng còn lại cũng như xử lý các trường hợp đặc biệt của chúng, và các thuật toán phân cụm thích hợp với CSDL HĐT. Hướng nghiên cứu cụ thể như sau:
- Xây dựng độ đo tương tự cho các trường hợp đặc biệt của các kiểu đối tượng.
- Nghiên cứu xử lý đệ quy khi tính độđo tương tự cho các kiểu đối tượng. - Nghiên cứu các hàm hợp nhất các độ tương tự cho các kiểu đối tượng.
- Nghiên cứu để cải tiến thuật toán CEBMDC nhằm áp dụng hiệu quả trong việc PCDL đối với các kiểu đối tượng.
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
TÀI LIỆU THAM KHẢO
Tài liệu tiếng Việt
[1] Nguyễn Kim Anh (2004), “Nguyên lý của các hệ CSDL”, NXB ĐHQG Hà Nội.
[2] Nguyễn Ngọc Bình, Hồ Tú Bảo, Thân Văn Cường, “Độ đo tương tự hồn hợp cho dữ liệu với các thuộc tính kiểu số, ký hiệu và thứ tự”.
[3] Trương Ngọc Châu (2010), Chuyên đề NCS, “Cơ sở dữ liệu hướng đối tượng”.
Tài liệu tiếng Anh
[1]. Ajith Abraham, L. C. Jain, Berend J. Von der Zwaag (2004), “Innovations in intelligent systems”.
[2]. Akila Sarirete and Jean Vaucher, “Similarity Measures for the Object Model”. [3]. Amir Ahmad and Lipika Dey (2007), “A method to compute distance between
two categorical values of same attribute in unsupervised learning for categorical data set”, ScienceDirect.
[4] Armin Stahl (2007), “Retrieving Relevant Experiences”.
[5] Ana Fred(April 2009), “From Single Clustering to Ensemble Methods”, Instituto superior Técnico, Universidade Técnico de Lisboa.
[6] Ho Tu Bao, David Cheung and Huan Liu (2005), “Advances in Knowledge Discovery and Data Mining”, 9th Pacific-Asia Conference, Hanoi, Vietnam. [7] B.Bahmani Firouzi, T. Niknam, and M. Nayeripour (2009), “A New
Evolutionary Algorithm for Cluster Analysis”.
[8] Chuanjun Li B. Prabhakaran Si-Qing Zheng, ”Similarity measure for multi- attribute data”.
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
[9]. Chung-Chian Hsu , Yu-Cheng Chen (2007), “Mining of mixed data with application to catalog marketing”, ScienceDirect.
[10]. Chung-Chian Hsu and Yan-Ping Huang (2008), “Incremental clustering of mixed data based on distance hierarchy”, ScienceDirect.
[11]. Chung-Chian Hsu , Chin-Long Chen, Yu-Wei Su (2007), “Hierarchical clustering of mixed data based on distance hierarchy”, ScienceDirect.
[12] Gavin Finnie and Zhaohao Sun (2002), “Similarity and Metrics in Case-Based Reasoning”.
[13]. Gilles Bisson, “Why and How to Define a Similarity Measure for Object Based Representation Systems”.
[14] Guadalupe J. Torres, Ram B. Basnet, Andrew H. Sung, Srinivas Mukkamala, and Bernardete M. Ribeiro (2009), “A Similarity Measure for Clustering and its applications”.
[15] Jiawei Han and Micheline Kamber (2001), “Data Mining: Concepts and Techniques”, Morgan Kaufmann Publishers.
[16] Jinshi Xia (1993), Thesis, “Attribute oriented induction in Object-oriented Database”,Tsinghua University, China.
[17]. Le Si Quang (2005), Thesis “Similarity Measures for Complex Data”.
[18] Paul Beynon-Davies (2004), “Database Systems”, third edition. [19] Pavel Berkhin, “Survey of Clustering Data Mining Techniques”.
[20] Periklis Andritsos (2002), “Data clustering Techniques”, Department of Computer Science, University Toronto.
[21]. Petko Valtchev, “Building classes in object-based languages by automatic clustering”.
[22]. Petko Valtchev and Rokia Missaoui, “Exploration of Complex Objects structure for Knowledge Discovery”.
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
[23] R. A. Ahmed B. Borah D. K. Bhattacharyya (2005), “HIMIC : A Hierarchical Mixed Type Data Clustering Algorithm”.
[24]. Ralph Bergmann and Armin Stahl (1998), “Similarity Measures for Object- Oriented Case Representations”.
[25]. Shyam Boriah Varun Chandola Vipin Kumar, ” Similarity Measures for Categorical Data: A Comparative Evaluation”.
[26] Tae-Wan Ryu And Christoph F. Eick, “Similarity measures for multi-valued attributes for database clustering”.
[27]. Tom Matthé, RitaDeCaluwe, GuyDeTré, AxelHallez,Jorg Verstraete, Marc Leman, Olmo Cornelis, Dirk Moelants, and Jos Gansemans (2006),
“Similarity Between Multi-valued Thesaurus Attributes: Theory and Application in Multimedia Systems”.
[28] Zengyou He, Xiaofe i Xu, Shengchun Deng (2002), “Clustering Mixed
Numeric and Categorical Data: A Cluster Ensemble Approach”, Department of Computer Science and Engineering, Harbin Institute of Technology, China.
Các trang Web
[1]. M. Matteucci. (2008). A Tutorial on Clustering Algorithms. Available:
http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/
[2] P.Tan, M. Steinbach, V. Kumar, “Introduction to data Mining”, 2006 http://www.users.cs.umn.edu/~kumar/dmbook/index.php
[3] T, Kardi. (2008). Similarity Measurement. Available:
http://people.revoledu.com/kardi\/tutorial/Similarity/.
[4] Trang web đầu ngành về KTDL - Kdnuggets : www.kdnuggets.com
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
PHỤ LỤC
Dữ liệu thử nghiệm được lấy ngẫu nhiên từ kết quả học tập 16 môn của 20 sinh viên khóa 48 khoa CNTT, Trường Đại học Nha Trang, niên khóa 2006-2010. Danh