Lời nói đầu: Khai phá dữ liệu với dataset Weather.norminal. Trong bài báo cáo thực hành này em sẽ sử dụng thuật toán khai phá luật kết hợp(Apriori) làm trọng tâm đồng thời sử dụng cây quyết định(J48) làm demo. Em xin cam đoan kết quả và phần nghiên cứu của em là hoàn toàn độc lập, nếu sai em xin hoàn toàn chịu trách nhiệm. Thực hành Weka : sử dụng cơ sở dữ liệu về thời tiết 1. Sơ lược về csdl Weather.norminal Dataset Weather.norminal chỉ có một kiểu dữ liệu duy nhất là : nominal Danh sách các thuộc tính cùng kiểu dữ liệu tương ứng : o outlook {sunny, overcast, rainy} : nominal o temperature {hot, mild, cool} : nominal o humidity {high, normal} : nominal o windy {TRUE, FALSE} : nominal o play {yes, no} : nominal Liên kết: 2. Sơ lược về phần mềm Weka Weka là công cụ phần mềm viết bằng java để phục vụ cho lĩnh vực học máy và khai phá dữ liệu. Các tính năng chính: Khảo sát dữ liệu: tiền xử lí dữ liệu, phân lớp, gom nhóm dữ liệu, và khai thác luật kết hợp. Thực nghiệm mô hình: cung cấp phương tiện để kiểm chứng, đánh giá các mô hình học. Biểu diễn trực quan dữ liệu bằng nhiều dạng đồ thị khác nhau. Trong bài báo cáo thực hành này em sử dụng phần mềm Weka 3.5.8 để khai phá dữ liệu. Trang chủ: http://www.cs.waikato.ac.nz/ml/weka/ Phần 1. Áp dụng thuật toán để khai phá luật kết hợp Trong tab Associate Weka hỗ trợ 6 thuật toán để khai thác luật kết hợp : o Apriori o FilteredAssociator o GeneralizedSequentialPatterns o HotSpot
Bài tập khai phá dữ liệu-Trần Đức Huỳnh-Lớp Tin học 1- K42 2011 Lời nói đầu: Khai phá dữ liệu với dataset Weather.norminal. Trong bài báo cáo thực hành này em sẽ sử dụng thuật toán khai phá luật kết hợp(Apriori) làm trọng tâm đồng thời sử dụng cây quyết định(J48) làm demo. Em xin cam đoan kết quả và phần nghiên cứu của em là hoàn toàn độc lập, nếu sai em xin hoàn toàn chịu trách nhiệm. Thực hành Weka : sử dụng cơ sở dữ liệu về thời tiết 1. Sơ lược về csdl Weather.norminal Dataset Weather.norminal chỉ có một kiểu dữ liệu duy nhất là : nominal Danh sách các thuộc tính cùng kiểu dữ liệu tương ứng : o outlook {sunny, overcast, rainy} : nominal o temperature {hot, mild, cool} : nominal o humidity {high, normal} : nominal o windy {TRUE, FALSE} : nominal o play {yes, no} : nominal Liên kết: 2. Sơ lược về phần mềm Weka Weka là công cụ phần mềm viết bằng java để phục vụ cho lĩnh vực học máy và khai phá dữ liệu. Các tính năng chính: • Khảo sát dữ liệu: tiền xử lí dữ liệu, phân lớp, gom nhóm dữ liệu, và khai thác luật kết hợp. • Thực nghiệm mô hình: cung cấp phương tiện để kiểm chứng, đánh giá các mô hình học. • Biểu diễn trực quan dữ liệu bằng nhiều dạng đồ thị khác nhau. Trong bài báo cáo thực hành này em sử dụng phần mềm Weka 3.5.8 để khai phá dữ liệu. • Trang chủ: http://www.cs.waikato.ac.nz/ml/weka/ Phần 1. Áp dụng thuật toán để khai phá luật kết hợp Trong tab Associate Weka hỗ trợ 6 thuật toán để khai thác luật kết hợp : o Apriori o FilteredAssociator o GeneralizedSequentialPatterns o HotSpot o PredictiveApriori o Tertius 1. Sử dụng thuật toán Apriori Áp dụng thuật toán Apriori với các tham số : cho dataset Weather.norminal o support threshold = 15% (lowerBoundMinSupport = 0.15) o confidence threshold = 90% (metricType = confidence, minMetric = 0.9) o number of rules = 50 (numRules = 50) Tìm được 50 luật đối với các tham số và cơ sở dữ liệu trên bằng thuật toán Apriori Nếu dùng dataset Weather không có norminal thuật toán Apriori do Weka hỗ trợ không chạy nên ta không tìm được kết quả như trên. Lý do trong file Weather không có norminal có thuộc tính temperature và humidity có kiểu là real là kiểu dữ liện numeric Weka không hỗ trợ thực hiện thuật toán cho dataset này. 2 | P a g e Màn hình thể hiện 20 luật đầu tiên khi thực hiện thuật toán Apriori với dataset Weather.nominal và các tham số như trên : 3 | P a g e 2. Phân tích Giả sử R : X => Y là một luật kết hợp o supp( R ) = P ( X ∪ Y ) = supp( X ∪ Y ) - tần suất xuất hiện của tập các hạng mục X ∪ Y trong tòan CSDL o conf( R ) = P ( Y | X ) = - khả năng xuất hiện tập các hạng mục Y khi đã có tập các hạng mục X o lift ( R ) = = - cho biết thông tin về việc tăng khả năng xuất hiện của tập các hạng mục Y khi tập các hạng mục X xuất hiện 4 | P a g e Luật đầu tiên của câu 3 - R1: outlook = overcast => play = yes - Ý nghĩa: nếu trời âm u, sẽ chơi bóng đá o supp( R1 ) = supp( outlook = overcast ∪ play = yes) = 0.285 - Ý nghĩa: chơi bóng đá khi trời âm u chiếm 28,5% tất cả các trường hợp (cụ thể là chiếm 4/14 trường hợp) o conf( R1 ) = = = 1 - Ý nghĩa: nếu trời âm u, chắc chắn sẽ chơi bóng đá (100%) o lift( R1 ) = = = 1.56 - Ý nghĩa: lift( R1) > 1 => nếu trời âm u, sẽ làm tăng khả năng chơi bóng đá 3. Kết quả Thuật toán tìm được 6 tập phổ biến có kích thước 4. Những luật được suy ra từ tập phổ biến có kích thước 4 : có 16 luật, từ luật thứ 35 đến luật thứ 50 o 35. temperature=hot humidity=high play=no 2 ==> outlook=sunny 2 conf:(1) o 36. outlook=sunny temperature=hot play=no 2 ==> humidity=high 2 conf:(1) o 37. outlook=sunny temperature=hot humidity=high 2 ==> play=no 2 conf:(1) o 38. temperature=hot play=no 2 ==> outlook=sunny humidity=high 2 conf:(1) o 39. outlook=sunny temperature=hot 2 ==> humidity=high play=no 2 conf:(1) o 40. humidity=high windy=FALSE play=no 2 ==> outlook=sunny 2 conf:(1) o 41. outlook=sunny windy=FALSE play=no 2 ==> humidity=high 2 conf:(1) o 42. outlook=sunny humidity=high windy=FALSE 2 ==> play=no 2 conf:(1) 5 | P a g e o 43. windy=FALSE play=no 2 ==> outlook=sunny humidity=high 2 conf:(1) o 44. temperature=hot windy=FALSE play=yes 2 ==> outlook=overcast 2 conf:(1) o 45. outlook=overcast windy=FALSE play=yes 2 ==> temperature=hot 2 conf:(1) o 46. outlook=overcast temperature=hot play=yes 2 ==> windy=FALSE 2 conf:(1) o 47. outlook=overcast temperature=hot windy=FALSE 2 ==> play=yes 2 conf:(1) o 48. temperature=hot play=yes 2 ==> outlook=overcast windy=FALSE 2 conf:(1) o 49. outlook=overcast windy=FALSE 2 ==> temperature=hot play=yes 2 conf:(1) o 50. outlook=overcast temperature=hot 2 ==> windy=FALSE play=yes 2 conf:(1) 4. Tính độ đo lift cho các luật Tính độ đo lift cho các luật : 6 | P a g e Luật đầu tiên tìm được ở câu số 3 giờ đã đứng thứ 19. Độ đo lift của nó là 1.56 o 19. outlook=overcast 4 ==> play=yes 4 conf:(1) < lift:(1.56)> lev: (0.1) [1] conv:(1.43) Luật đầu tiên có thuộc tính play = yes ở vế phải là luật thứ 9 o 9. humidity=normal 7 ==> temperature=cool play=yes 3 conf:(0.43) < lift:(2)> lev:(0.11) [1] conv:(1.1) Conf = 0.43 Lift = 2 5. So sánh và kết luận So sánh 2 luật đầu tiên tìm được ở câu 7 và câu 3 với thuộc tính play = yes : 7 | P a g e o Câu 3: 3. humidity=normal windy=FALSE 4 ==> play=yes 4 conf: (1) o Câu 7 : 9. humidity=normal 7 ==> temperature=cool play=yes 3 conf:(0.43) < lift:(2)> lev:(0.11) [1] conv:(1.1) Luật ơ câu 3 có vẻ mạnh hơn đo độ tin cây conf ở câu 3 lớn hơn ở câu 7. Vì vậy với những điều kiện trời không có gió và không khí không ẩm thì người ta sẽ chơi tennis. Phần 2. Demo với cây quyết định 1. Sử dụng thuật toán‘J48-C0.25-M2’. - Mô tả của cây quyết định được tạo ra: J48 pruned tree ------------------ 8 | P a g e outlook=sunny |humidity=high:no(3.0) |humidity=normal:yes(2.0) outlook=overcast:yes(4.0) outlook=rainy |windy=TRUE:no(2.0) |windy=FALSE:yes(3.0) Number of Leaves:5 Size of the tree:8 - Trên list Result chọn trees.J48, ấn chuột phải chọn Visualize tree ta được biểu diễn đồ họa: Các trường hợp được phân loại ở cây này. Bắt đầu từ node đầu tiên là thuộc tính thử nghiệm đang chờ xử lý trên giá trị của thuộc tính này, tiếp theo kiểm tra xuống 3 node nhánh. Nếu là u ám (overcast) kết thúc thử nghiệm và dự đoán là có. Quay trở lại nút gốc, với nắng có thuộc tính “độ ẩm ” là thử nghiệm, tương tự mưa có thuộc tính “gió” là thử nghiệm”. Quay lại hình kết quả ở trên cho ta thấy độ chính xác trên mô hình thiết lập thử nghiệm là 100%, điều này xảy ra là do trường hợp tập huấn luyện và tập thử nghiệm là như nhau. 9 | P a g e Đây chỉ là mô hình huấn luyện và thử nghiệm đầu tiên. Chúng ta có thể tiếp tục thực hiện với các trường hợp khác 10 | P a g e