I. ĐẶT VẤN ĐỀ Khai phá dữ liệu là một ngành khoa học thực nghiệm. Nó được thiết kế sao cho bạn có thể nhanh chống thử nghiệm những cách thức hiện tại trên cơ sở dữ liệu mới một cách linh hoạt. Nó cung cấp nhiều sự hỗ trợ cho toàn bộ quá trình xử lý số liệu thực nghiệm, bao gồm chuẩn bị dữ liệu đầu vào, việc ước lượng học những sơ đồ thống kê, và hình dung dữ liệu ra và kết quả của việc học. Weka được phát triển bởi đại học Waikato bang New Zealand, và có tên là Waikato Environment for Knowledge Analysis. Hệ thống được viết bởi java và phân phối dưới thuật ngữ GNU. Nó cung cấp một giao diện tương tự cho nhiều giải thuật học khác nhau với nhiều phương thức chho quá trình xử lý để ước lượng kết quả bằng sơ đồ cho bất kì một dữ liệu nào. Workbenh bao gồm những phương thức chuẩn cho các vấn đề của khai phá dữ liệu như: phân lớp,hồi quy, phân nhóm, phân cụm, luật kết hợp, và các thuộc tính kết hợp.Cụ thể đề tài này em tìm hiểu về bài toán phân lớp trong weka và áp dụng trong dataset Calories II. XÂY DỰNG CƠ SỞ DỮ LIỆU 1. Thông tin chung của dataset gồm: % DASL file http://lib.stat.cmu.edu/DASL/Datafiles/Calories.html % Counting Calories % Reference: Allison, D., Heshka, S., Sepulveda, D., and Heymsfield, S. (1993), "Counting Calories - Caveat Emptor," JAMA, v. 270, pp. 1454-1456. % Authorization: Contact authors % Description: Results of a survey of 40 food items claiming to be "lite," "reduced-calorie," "low-calorie," "diet," "low-fat," "no-fat," or "health" foods. Each food is classified based on its distribution as either nationally advertised, regionally distributed, or locally prepared. % The researchers measured the caloric content of each food by bomb calorimetry, and converted these readings into an estimate of total metabolizable energy (the type of energy the calories on a food label are supposed to reflect). Finally, they calculated the percentage difference between the measured calories
Báo cáo môn Khai phá dữ liệu BÔ ̣ QUÔ ́ C PHO ̀ NG HO ̣ C VIÊ ̣ N KY ̃ THUÂ ̣ N QUÂN SƯ ̣ ************* BÀI TẬP LỚN KHAI PHÁ DỮ LIỆU Đê ̀ ta ̀ i: Sử dụng phần mềm Weka phân lớp và áp dụng cho dataset Colories Giáo viên hướng dẫn: Hồ Nhật Quang Sinh viên thực hiện: Dương Hoàng Mạnh Tuấn Lớp: Hệ thống thông tin 6 1 Báo cáo môn Khai phá dữ liệu I. ĐẶT VẤN ĐỀ Khai phá dữ liệu là một ngành khoa học thực nghiệm. Nó được thiết kế sao cho bạn có thể nhanh chống thử nghiệm những cách thức hiện tại trên cơ sở dữ liệu mới một cách linh hoạt. Nó cung cấp nhiều sự hỗ trợ cho toàn bộ quá trình xử lý số liệu thực nghiệm, bao gồm chuẩn bị dữ liệu đầu vào, việc ước lượng học những sơ đồ thống kê, và hình dung dữ liệu ra và kết quả của việc học. Weka được phát triển bởi đại học Waikato bang New Zealand, và có tên là Waikato Environment for Knowledge Analysis. Hệ thống được viết bởi java và phân phối dưới thuật ngữ GNU. Nó cung cấp một giao diện tương tự cho nhiều giải thuật học khác nhau với nhiều phương thức chho quá trình xử lý để ước lượng kết quả bằng sơ đồ cho bất kì một dữ liệu nào. Workbenh bao gồm những phương thức chuẩn cho các vấn đề của khai phá dữ liệu như: phân lớp,hồi quy, phân nhóm, phân cụm, luật kết hợp, và các thuộc tính kết hợp.Cụ thể đề tài này em tìm hiểu về bài toán phân lớp trong weka và áp dụng trong dataset Calories 2 Báo cáo môn Khai phá dữ liệu II. XÂY DỰNG CƠ SỞ DỮ LIỆU 1. Thông tin chung của dataset gồm: % DASL file http://lib.stat.cmu.edu/DASL/Datafiles/Calories.html % Counting Calories % Reference: Allison, D., Heshka, S., Sepulveda, D., and Heymsfield, S. (1993), "Counting Calories - Caveat Emptor," JAMA, v. 270, pp. 1454-1456. % Authorization: Contact authors % Description: Results of a survey of 40 food items claiming to be "lite," "reduced- calorie," "low-calorie," "diet," "low-fat," "no-fat," or "health" foods. Each food is classified based on its distribution as either nationally advertised, regionally distributed, or locally prepared. % The researchers measured the caloric content of each food by bomb calorimetry, and converted these readings into an estimate of total metabolizable energy (the type of energy the calories on a food label are supposed to reflect). Finally, they calculated the percentage difference between the measured calories and the labeled calories for each item and per gram. % Number of cases: 40 % Variable Names: % Food: Kind of food % Per_gram: Percentage difference between measured calories and labeled calories per gram (100% x (measured-labeled)/labeled) % Per_item: Percentage difference between measured calories and labeled calories per item % Classification: N if nationally advertised, R if regionally distributed, L if locally prepared 2. Mô tả các thuộc tính: @RELATION relation @ATTRIBUTE 'Food' {"Florentine manicotti","apricot bar","baba ghanoush with salad","banana cake","blondie","blue cheese dressing","brownie","butterscotch bar","carrot muffin","cereal","cheese","cheese curls","chinese chicken","chocolate chip cookie","chocolate mousse","chocolate pudding","crackers","crumb cake","egg foo young","fig bars","granola bar","green beans","gyoza","hummus with salad","imperial chicken","jelly diet candy-fruit flavor","jelly diet candy-reds flavor","lasagna","lemon 3 Báo cáo môn Khai phá dữ liệu pound cake","lentil soup","meatless sandwich","mixed fruits","noodles and alfredo sauce","oat bran snack bar","oatmeal cookie","oatmeal raisin cookie","pasta with shrimp and tomato sauce","sausage biscuit","spread cheese","vegetable soup"} @ATTRIBUTE 'Per_gram' numeric @ATTRIBUTE 'Per_item' numeric @ATTRIBUTE 'Classification' {"L","N","R"} 3. Bảng dữ liệu 4. Trường dữ liệu Chú giải Food Tên đồ Per_gram Percentage difference between measured calories and labeled calories per gram (100% x (measured-labeled)/labeled) Per_item Percentage difference between measured calories and labeled calories per item Classification “L” , “N” , “R” III. PHÂN TÍCH YÊU CẦU BÀI TOÁN 4 WEKA Decision Tree L N Mục đích: Tạo một cây quyết định trong WEKA xem sản phẩm của quốc gia địa phương hay khu vực Mục đích: Tạo một cây quyết định trong WEKA xem sản phẩm của quốc gia địa phương hay khu vực Food , Per_gram , Per_item R Báo cáo môn Khai phá dữ liệu IV. TIẾN HÀNH THỰC NGHIỆM TRÊN WEKA 1. Tiền xử lý dữ liệu Tiến hành khởi chạy weka.Trong giao diện đồ họa của Weka,chọn Explorer. Trong weka lưu trữ dữ liệu bằng định dạng ARFF. File ARFF bao gồm danh sách các trường, và các giá trị thuộc tính cho mỗi trường được phân cách bằng dấu phẩy. Hầu hết các bảng tính và các chương trình cơ sở dữ liệu cho phép bạn chuyển dữ liệu thành một tập tin mà các giá trị của thuộc tính đều được tách nhau bằng dấu phẩy như trong định dạng của file arff.Bạn chỉ cần đưa file vào một trình soạn thảo văn bản hoặc từ bộ vi xử lý; thêm tên của tập dữ liệu bằng cách sử dụng các từ @relation, Khai báo tên các thuộc tính bằng từ khóa @attribute, và từ khóa @data để bắt đầu đưa dữ liệu vào .Ví dụ như hình dưới đây : Sau khi đã tạo xong file arff thì tiến hành đọc dữ liệu vào weka Ta thấy xuất hiện dữ liệu trên cửa số Preprocess của WEKA như sau: 5 Báo cáo môn Khai phá dữ liệu 2. Xây dựng cây quyết định bằng J48: - Bước đầu tiên ta sử dụng tất cả dữ liệu để trainning cho cây: + Nhấn vào tab Classify chọn thuật toán sử dụng bằng cách nhấn vào nút Choose; khi cây thư mục hiện thư mục Trees/J48: 6 Báo cáo môn Khai phá dữ liệu Để tiến hành trainning trên toàn bộ dữ liệu ta chọn vào tùy chọn Use tranning set rồi nhấn Start. Ta thu được kết quả hiển thị ở khung Classifier Output như sau: Nội dung kết quả 7 Báo cáo môn Khai phá dữ liệu === Run information === Scheme: weka.classifiers.trees.J48 -C 0.25 -M 2 Relation: relation Instances: 40 Attributes: 4 Food Per_gram Per_item Classification Test mode: evaluate on training data === Classifier model (full training set) === J48 pruned tree ------------------ Per_item <= 15 | Per_gram <= -13: R (3.39/1.39) | Per_gram > -13: N (22.61/3.61) Per_item > 15 | Per_item <= 46: R (9.0) | Per_item > 46: L (5.0) Number of Leaves : 4 Size of the tree : 7 Time taken to build model: 0 seconds === Evaluation on training set === === Summary === Correctly Classified Instances 35 87.5 % Incorrectly Classified Instances 5 12.5 % Kappa statistic 0.7908 Mean absolute error 0.1361 Root mean squared error 0.2576 Relative absolute error 32.7632 % Root relative squared error 56.663 % Total Number of Instances 40 === Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure ROC Area Class 0.625 0 1 0.625 0.769 0.982 L 0.95 0.2 0.826 0.95 0.884 0.964 N 8 Báo cáo môn Khai phá dữ liệu 0.917 0.036 0.917 0.917 0.917 0.957 R Weighted Avg. 0.875 0.111 0.888 0.875 0.871 0.965 === Confusion Matrix === a b c <-- classified as 5 3 0 | a = L 0 19 1 | b = N 0 1 11 | c = R Tóm tắt kết quả khi phân lớp: + Trường hợp phân lớp chính xác: 35 chiếm 87.5% +Trường hợp không chính xác: 5 chiếm 12.5% - Để xem kết quả cây dưới dạng hình ảnh tiến hành như sau: 3. Tiến hành chạy thử nhiều lần cây trên số lượng dữ liệu tranning khác nhau: Lần thứ hai: Lấy 95% dữ liệu để xây dựng cây, 5% để test: 9 Báo cáo môn Khai phá dữ liệu Lần thứ ba: Lấy 90% dữ liệu để xây dựng cây, 10% để test: 10 . dataset Colories Giáo viên hướng dẫn: Hồ Nhật Quang Sinh viên thực hiện: Dương Hoàng Mạnh Tuấn Lớp: Hệ thống thông tin 6 1 Báo cáo môn Khai phá dữ liệu I. ĐẶT. measured calories and labeled calories per gram (100% x (measured-labeled)/labeled) % Per_item: Percentage difference between measured calories and labeled calories