2.4.1)Phát biểu
Cho 1 luật R → D. Hãy xác định R → D là loại luật gì?
2.4.2)Các dạng bài toán xác định loại luật
Dạng 1: Luật nguyên tố [a = v] → D.
Đây là dạng đơn giản nhất và đã được giải quyết trọn vẹn thông qua 2 thuật toán tìm luật khẳng định và phủ định nguyên tố.
Dạng 2: R chỉ có phép giao.
R → D với R = ∧j[aj = vk]. Thuật toán:
Đầu vào: Hệ thống thông tin S; R = ∧j[aj = vk]; D = [d = value]
Đầu ra: R → D có phải là luật khẳng định không?
B1: RS = U; B2: For each [a = v] in R do Begin If RS = Ø then goto B3; Else RS = RS ∧[a = v]S; End.
B3: If RS = Ø then “R → D không phải là luật khẳng định.” Else if RS ⊆ DS then “R → D là luật khẳng định.”
Else “R → D không phải là luật khẳng định.” Dạng 3: R chỉ có phép hội; R → Dvới R = ∨j[aj = vk]. Thuật toán:
Đầu vào: Hệ thống thông tin S; R = ∨j[aj = vk]; D = [d= value]
Đầu ra: ¬R → ¬D có phải là luật phủ định mở rộng không?
Phương pháp: B1: RS = Ø;
B2: For each [a = v] in R do RS = RS ∨ [a = v]S;
B3: If DS ⊆ RS then “¬R → ¬Dlà luật phủ định mở rộng.”
Else “¬R → ¬D không phải là luật phủ định mở rộng.”
2.5) Kết luận
Chương này định nghĩa một số khái niệm cơ sở, các luật khẳng định, phủ định, tối thiểu, từ đó tập trung vào việc tìm các luật tối thiểu, đây là bài toán NP – khó. Trong chương, bài viết đã nêu thuật toán phân loại một luật cho trước và đề xuất khái niệm luật phủ định mở rộng nhằm vét hết những luật có nghĩa, tuy nhiên chỉ dừng lại về mặt lý thuyết. Ngoài ra, một số tính chất, mối quan hệ giữa luật phủ định và khẳng định được phát hiện và chứng minh. Tính đúng đắn của các vấn đề nghiên cứu và đề xuất được minh chứng thông qua các kết quả thử nghiệm trên các bộ dữ liệu UCI [3].
CHƯƠNG 3
CHƯƠNG TRÌNH THỬ NGHIỆM
3.1) Tổ chức dữ liệu
Cho hệ thông tin S = (U, A) trong một file dữ liệu. Ứng với mỗi thao tác tìm tập hợp [a = v]S sẽ có một thao tác đọc file tương ứng. Vì vậy cần xử lý dữ liệu để chỉ cần đọc file một lần. Hệ thông tin S sẽ được chuyển thành |A| bảng, mỗi bảng có tên là tên của thuộc tính.
Cấu trúc của mỗi bảng như sau: – Cột 1: Giá trị của thuộc tính.
– Cột 2: Tập [a = v]S ứng với mỗi hàng.
Ví dụ 3.1: Với bảng 2.1 thì sau khi xử lý ta được bảng 3.1
Tên bảng Giá trị [a = v]S 40 – 49 {2, 3, 4, 5} Age 50 – 59 {1, 6} Occular {1} Whole {2, 4, 5, 6} Location Lateral {3} Persistent {1, 2, 6} Throbbing {3, 4} Nature Radiating {5} No {1, 2, 3, 5, 6} Prodrome Yes {4} No {1, 2, 5} Nausea Yes {3, 4, 6} No {3, 4} M1 Yes {1, 2, 5, 6} M.c.h {1, 2, 5} Migra {3, 4} Class Pyscho {6}
Trong chương trình thì lớp MyList chứa tất cả các phép toán tập hợp như hội, giao, tuyển, độ chính xác phân lớp, độ phủ phân lớp, sinh các tổ hợp có n phần tử từ một tập hợp cho trước…
Một số phương thức quan trọng trong lớp MyList:
public static double accuracy (List<object> R, List<object> D): Tính độ chính xác phân lớp αR(D).
public static double coverage (List<object> R, List<object> D): Tính độ phủ phân lớp κR(D).
public static List<List<object>>
combination(List<object> list, int n): Sinh các tổ hợp có n phần tử từ một tập hợp cho trước.
public static string
getAttribute(string stFormular): Lấy tên thuộc tính từ 1 công thức.
Hình 3.1: Sơ đồ lớp lớp MyList
3.2) Các kết quả đạt được 3.2.1)Luật nguyên tố
Kết quả cài đặt thực nghiệm đã sinh được tất cả các luật nguyên tố từ một hệ thống thông tin S = (U, A) bất kỳ. Các kết quả được kiểm thử tính đúng đắn thông qua xử lý một số bộ dữ liệu UCI [3]: Iris, Car Evaluation, Nursery, Chess, Chess Kr vs Kp, Porker và dữ liệu hỗ trợ chất lượng dạy và học tại Đại học Nha Trang (NTU Data).
Khi chạy chương trình với bộ dữ liệu NTU Data thì không sinh ra luật nguyên tố nào. Kết quả thể hiện ở bảng 3.2
Bộ dữ liệu Số thuộc tính Số bản ghi Số luật KĐ Số luật PĐ Iris 4 150 80 0 Car Evaluation 6 1.728 2 1 Nursery 8 12.960 1 9 Chess 6 28.056 0 1 Chess Kr vs Kp 36 3.196 4 4 Porker 10 25.010 0 0 NTU Data 12.032 0 0
Bảng 3.2: Kết quả sinh luật nguyên tố trên các bộ dữ liệu.
Hình 3.2: Giao diện chương trình sinh luật nguyên tố ứng với bộ dữ liệu Nursery
3.2.2)Luật tối thiểu
Kết quả cài đặt thực nghiệm đã tìm được tất cả các luật tối thiểu mà vế trái có n công thức. Tuy nhiên, chương trình còn hạn chế do thời gian sinh luật chỉ chấp nhận được khi số công thức trong F(B, V) nhỏ (trường hợp số công thức trong F(B, V) lớn thì n phải nhỏ).
Khi chạy chương trình với bộ dữ liệu NTU Data thì sinh được 3 luật khẳng định tối thiểu mà vế trái có 2 công thức sau:
Luật 1: If [GV truyền đạt rõ ràng, dễ hiểu = “Đồng ý”]and [GV nhiệt tình và có trách nhiệm trong giảng dạy = “Rất đồng ý”] then [Xếp loại = 1].
Luật 2: If [GV thường nêu vấn đề để SV suy nghĩ, trao đổi = “Rất đồng ý”] and [GV thực hiện đúng giờ lên lớp và kế hoạch giảng dạy = “Đồng ý”]then[Xếp loại = 1].
Luật 3: If [Nhận được nhiều kiến thức bổ ích từ học phần = “Rất đồng ý”] and [GV thực hiện đúng giờ lên lớp và kế hoạch giảng dạy = “Đồng ý”]then[Xếp loại = 1].
Bộ dữ liệu Số thuộc tính Số bản ghi Số luật KĐ Số luật PĐ
Iris 4 150 165 0
Car Evaluation 6 1.728 3 18
Nursery 8 12.960 0 162
NTU Data 15 12.032 3 0
Bảng 3.3: Kết quả sinh luật tối thiểu có 2 công thức trên các bộ dữ liệu.
3.2.3)Xác định luật
Trường hợp 1:
Nhập vào một luật có dạng [a = v] → D. Kết quả chương trình sẽ trả lời đây có phải là luật khẳng định hay phủ định nguyên tố không.
Trường hợp 2:
Nhập vào một luật có dạng ∧j[aj = vk] → D. Kết quả chương trình sẽ trả lời đây có phải là luật khẳng định không.
Trường hợp 3:
Nhập vào một luật có dạng ∨j[aj = vk] → D. Kết quả chương trình sẽ trả lời luật ∧j¬[aj = vk] → ¬D có phải là luật phủ định không.
Hình 3.4: Giao diện chương trình kiểm tra luật
3.3) Kết luận và hướng phát triển đề tài
a)Ưu điểm
- Phát hiện mối tương quan giữa hai luật khẳng định và phủ định. - Đề xuất khái niệm luật phủ định mở rộng và luật tối thiểu.
- Nêu và chứng minh một số tính chất của luật khẳng định và phủ định tối thiểu.
- Phân loại một luật đã cho. - Sinh tất cả các luật nguyên tố.
b)Nhược điểm
- Bộ dữ liệu thử nghiệm chưa lớn.
- Thời gian sinh luật tối thiểu còn lớn khi bộ dữ liệu thử nghiệm lớn. - Chỉ xử lý trên các bộ dữ liệu đầy đủ và rời rạc.
c)Hướng phát triển đề tài
- Tiền xử lý dữ liệu (khi các bộ dữ liệu thiếu hoặc liên tục). - Rút gọn tập ứng viên.
- Cải thiện thuật toán sinh luật tối thiểu. - Xử lý các bộ dữ liệu kích thước lớn.
Tài liệu tham khảo
[1] Pawlak. Z (1991), “Rough sets, Theoretical Aspects of Reasoning about Data”, Kluwer Academic Publishers, London.
[2] Shusaku Tsumoto, (2005), “Discovery of Positive and Negative Rules from Medical Databases Based on Rough Sets”, Advanced Techniques in Knowledge Discovery and Datamining, 2005, 233-250.
[3] The UCI machine learning repository, <http://mlearn.ics.uci.edu/MLRepository.html>. [4] Tinghuai Ma, Jiazhao Leng, Mengmeng Cui and Wei Tian (2009), Inducing Positive and Negative Rules Based on Rough Set, Infomation Technology Journal 8(7): 1039-1043.
[5] Tihomir Trifono, Tsvetenka Georgieva (2009), “Application for Discovering the Constraint – Based on Assocication Rules in an Archive for Unique Bulgarian Bells”, European Journal of Scientific Research ISSN 1450-216X Vol.31 No.3
[6] Daniel Delic, Hans-J. Lenz and Mattis Neiling, “Improving the Quality of Association Rule Mining by Mean of Rough Sets”.
[7] MA Yu-liang, YAN Wen-jun, “Value reduction algorithm in rough set based on association rules support”.
[8] Yilong Gao and Liangsheng Qu, “A Reduction Method of Rough Set Model”. [9] Jerzy W. Grzymala-Busse, “Introduction to Rough Set Theory and Applications”.
[10] Urszula Stanczyk, “On Construction of Optimised Rough Set - Based Classifier”.
[11] Serkan Narli and Z. Ahmet Ozelik, “Data mining in topology education: Rough Set data Analysis”.
[12] Jiye Li and Nick Cercone, “A Rough Set Based Model to Rank the Importance of Association Rules”.
PHỤ LỤC
1) Bộ dữ liệu NTU Data
Hằng năm để nâng cao chất lượng giảng dạy tại Đại học Nha Trang (ĐHNT), Phòng Kiểm định chất lượng đào tạo của trường sẽ phát phiếu khảo sát chất lượng của mỗi môn học đến sinh viên. Biểu mẫu, cũng như nội dung khảo sát được nhà trường thông qua dựa vào các tiêu chí giáo dục đại học do nhóm chuyên gia giáo dục đề xuất. Mỗi một phiếu khảo sát thu về được Trung tâm Nghiên cứu & Phát triển Công nghệ phần mềm ĐH Nha Trang (TTNCPTPM) xử lý: Nhận dạng và chuyển qua dữ liệu số (lưu trữ dưới dạng *.mdb). Sau đó, căn cứ vào các tiêu chí đánh giá (của nhóm chuyên gia đề xuất), phần mềm của TTNCPTPM kết xuất kết quả đánh giá chất lượng giảng dạy của giáo viên. Trong các niên học vừa qua, những kết quả thu được từ phần mềm của TTNCPTPM đã giúp cho nhà trường bước đầu phân loại chất lượng giảng dạy của giáo viên.
Cơ sở dữ liệu của bài toán khảo sát chất lượng giảng viên ĐHNT sau khi chuyển đổi được được sử dụng trong các ứng dụng thực nghiệm của đề tài bao gồm các đặc tính sau:
– Tập thuộc tính điều kiện gồm 15 thuộc tính đại diện cho các câu hỏi liên quan trực tiếp đến việc đánh giá xếp loại giảng viên.
– Thuộc tính quyết định là thuộc tính “Xếp loại”.
– Cơ sở dữ liệu gồm 12.032 bản ghi; mỗi bản ghi đại diện cho kết quả đánh giá tương ứng với một phiếu trả lời của sinh viên.
2) Các bộ dữ liệu UCI
a)Iris: <http://archive.ics.uci.edu/ml/datasets/Iris.> • Số bản ghi: 150 (mỗi lớp có 50 bản ghi).
• Số thuộc tính: 4 thuộc tính điều kiện và 1 thuộc tính phân lớp. • Thông tin thuộc tính:
1. sepal length (cm) 2. sepal width (cm) 3. petal length (cm) 4. petal width (cm) 5. class: -- Iris Setosa -- Iris Versicolour -- Iris Virginica • Giá trị thiếu: Không. • Thống kê:
Min Max Mean SD Class Correlation sepal length: 4.3 7.9 5.84 0.83 0.7826
sepal width: 2.0 4.4 3.05 0.43 -0.4194
petal length: 1.0 6.9 3.76 1.76 0.9490 (high!) petal width: 0.1 2.5 1.20 0.76 0.9565 (high!)
b)Car Evaluation: http://archive.ics.uci.edu/ml/datasets/Car+Evaluation>. • Số bản ghi: 1.728
• Số thuộc tính: 6 thuộc tính điều kiện và 1 thuộc tính phân lớp. • Các giá trị của thuộc tính:
Tên thuộc tính Các giá trị Buying
Maint
v-high, high, med, low v-high, high, med, low
Doors Persons Lug_boot Safety 2, 3, 4, 5-more 2, 4, more small, med, big low, med, high • Giá trị thiếu: Không.
• Sự phân phối của thuộc tính phân lớp (số bản ghi trên mỗi giá trị của thuộc tính phân lớp) class N N[%] --- unacc 1.210 (70.023 %) acc 384 (22.222 %) good 69 (3.993 %) v-good 65 (3.762 %) c)Nursery: < http://archive.ics.uci.edu/ml/datasets/Nursery>. • Số bản ghi: 12.960
• Số thuộc tính: 8 thuộc tính điều kiện và 1 thuộc tính phân lớp. • Các giá trị của thuộc tính:
Tên thuộc tính Các giá trị Parents Has_nurs Form Children Housing Finance Social Health
usual, pretentious, great_pret
proper, less_proper, improper, critical, very_crit complete, completed, incomplete, foster
1, 2, 3, more
convenient, less_conv, critical convenient, inconv
non-prob, slightly_prob, problematic recommended, priority, not_recom • Giá trị thiếu: Không.
• Sự phân phối của thuộc tính phân lớp (số bản ghi trên mỗi giá trị của thuộc tính phân lớp): class N N[%] --- not_recom 4.320 (33.333 %) recommend 2 (0.015 %) very_recom 328 (2.531 %) priority 4.266 (32.917 %) spec_prior 4.044 (31.204 %) d)Chess: <http://archive.ics.uci.edu/ml/datasets/Chess+%28King-Rook+vs.+King%29>. • Số bản ghi: 28.056
• Số thuộc tính: 6 thuộc tính điều kiện và 1 thuộc tính phân lớp. • Thông tin thuộc tính:
1. White King file (column) 2. White King rank (row) 3. White Rook file
4. White Rook rank 5. Black King file 6. Black King rank
7. Optimal depth-of-win for White in 0 to 16 moves, otherwise drawn {draw, zero, one, two, ..., sixteen}.
• Giá trị thiếu: Không.
• Sự phân phối của thuộc tính phân lớp (số bản ghi trên mỗi giá trị của thuộc tính phân lớp): Draw: 2.796 Zero: 27 One: 78 Two: 246 Three: 81 Four: 198
Five: 471 Six: 592 Seven: 683 Eight: 1.433 Nine: 1.712 Ten: 1.985 Eleven: 2.854 Twelve: 3.597 Thirteen: 4.194 Fourteen: 4.553 Fifteen: 2.166 Sixteen: 390 --- Total: 28.056 e)Chess Kr vs Kp: < http://archive.ics.uci.edu/ml/datasets/Chess+%28King-Rook+vs.+King-Pawn%29>. • Số bản ghi: 3.196
• Số thuộc tính: 36 thuộc tính điều kiện và 1 thuộc tính phân lớp. • Thông tin thuộc tính:
Tên các thuộc tính: [bkblk, bknwy, bkon8, bkona, bkspr, bkxbq, bkxcr, bkxwp, blxwp, bxqsq, cntxt, dsopp, dwipd, hdchk, katri, mulch, qxmsq, r2ar8, reskd, reskr, rimmx, rkxwp, rxmsq, simpl, skach, skewr, skrxp, spcop, stlmt, thrsk, wkcti, wkna8, wknck, wkovl, wkpos, wtoeg].
Classes (2): White – can – win ("won") and White– cannot – win ("nowin").
• Giá trị thiếu: Không.
• Sự phân phối của thuộc tính phân lớp (số bản ghi trên mỗi giá trị của thuộc tính phân lớp):
White – can – win ("won"): 1.669 (52%).
f) Porker: <http://archive.ics.uci.edu/ml/machine-learning-databases/poker/>.
• Số bản ghi: 25.010
• Số thuộc tính: 10 thuộc tính điều kiện và 1 thuộc tính phân lớp. • Thông tin thuộc tính:
1) S1 �Suit of card #1�
Ordinal (1-4) representing {Hearts, Spades, Diamonds, Clubs} 2) C1 �Rank of card #1�
Numerical (1-13) representing (Ace, 2, 3, ... , Queen, King) 3) S2 �Suit of card #2�
Ordinal (1-4) representing {Hearts, Spades, Diamonds, Clubs} 4) C2 �Rank of card #2�
Numerical (1-13) representing (Ace, 2, 3, ... , Queen, King) 5) S3 �Suit of card #3�
Ordinal (1-4) representing {Hearts, Spades, Diamonds, Clubs} 6) C3 �Rank of card #3�
Numerical (1-13) representing (Ace, 2, 3, ... , Queen, King) 7) S4 �Suit of card #4�
Ordinal (1-4) representing {Hearts, Spades, Diamonds, Clubs} 8) C4 �Rank of card #4�
Numerical (1-13) representing (Ace, 2, 3, ... , Queen, King) 9) S5 �Suit of card #5�
Ordinal (1-4) representing {Hearts, Spades, Diamonds, Clubs} 10) C5 �Rank of card 5�
Numerical (1-13) representing (Ace, 2, 3, ... , Queen, King) 11) CLASS �Poker Hand�
0: Nothing in hand; not a recognized poker hand 1: One pair; one pair of equal ranks within five cards 2: Two pairs; two pairs of equal ranks within five cards 3: Three of a kind; three equal ranks within five cards
5: Flush; five cards with the same suit
6: Full house; pair + different rank three of a kind 7: Four of a kind; four equal ranks within five cards 8: Straight flush; straight + flush
9: Royal flush; {Ace, King, Queen, Jack, Ten} + flush • Giá trị thiếu: Không.
• Sự phân phối của thuộc tính phân lớp (số bản ghi trên mỗi giá trị của thuộc tính phân lớp) 0: 12.493 bản ghi. 1: 10.599 bản ghi. 2: 1.206 bản ghi. 3: 513 bản ghi. 4: 93 bản ghi. 5: 54 bản ghi. 6: 36 bản ghi. 7: 6 bản ghi. 8: 5 bản ghi. 9: 5 bản ghi.