I. Mô tảCho cơ sở dữ liệu về những người chơi Games , chúng ta sẽ nghiên cứu gói dữ liệu này để rút ra phương hướng phát hành , thu phí và thị trường phát triển game ngày nay . Đây là một vấn đề khá được quan tâm , trong đó đại bộ phận là giới trẻBộ dữ liệu là bản ghi về những người chơi games trong đó bao gồm : giới tính, Thể loại game , yêu cầu cấu hình máy tính , mức phí chơi , nhà phát hành game và kết luận là họ có chơi game đó hay không . Thuật toán phân lớp sẽ được lựa chọn áp dụng trên bộ dữ liệu này.II. Thực nghiệm trên WEKA1. Tiền xử lý dữ liệu:Trong qui trình khai phá dữ liệu, công việc xử lý dữ liệu trước khi đưa vào các mô hình là rất cần thiết, bước này làm cho dữ liệu có được ban đầu qua thu thập dữ liệu (gọi là dữ liệu gốc original data) có thể áp dụng được (thích hợp) với các mô hình khai phá dữ liệu (data mining model) cụ thể. Các công việc cụ thể của tiền xử lý dữ liệu bao gồm những công việc như:oFiltering Attributes: Chọn các thuộc tính phù hợp với mô hìnhoFiltering samples: Lọc các mẫu (instances, patterns) dữ liệu cho mô hìnhoClean data: Làm sạch dữ liệu như xóa bỏ các dữ liệu bất thường (Outlier) Transformation: Chuyển đổi dữ liệu cho phù hợp với các mô hình như chuyển đổi dữ liệu từ numeric qua nomial hay ordinaloDiscretization (rời rạc hóa dữ liệu): Nếu bạn có dữ liệu liên tục nhưng một vài mô hình chỉ áp dụng cho các dữ liệu rời rạc (như luật kết hợp ) thì bạn phải thực hiện việc rời rạc hóa dữ liệu.
Học viện kỹ thuật quân sự Khoa Công nghệ thông tin BÁO CÁO MÔN HỌC KHAI PHÁ DỮ LIỆU Đề tài: Sử dụng phần mềm weka khai phá bộ dữ liệu Gamers với thuật toán phân lớp Giáo viên hướng dẫn: Hồ Nhật Quang Sinh Viên: Trần Anh Tú Lớp : HTTT6 I. Mô tả Cho cơ sở dữ liệu về những người chơi Games , chúng ta sẽ nghiên cứu gói dữ liệu này để rút ra phương hướng phát hành , thu phí và thị trường phát triển game ngày nay . Đây là một vấn đề khá được quan tâm , trong đó đại bộ phận là giới trẻ Bộ dữ liệu là bản ghi về những người chơi games trong đó bao gồm : giới tính, Thể loại game , yêu cầu cấu hình máy tính , mức phí chơi , nhà phát hành game và kết luận là họ có chơi game đó hay không . Thuật toán phân lớp sẽ được lựa chọn áp dụng trên bộ dữ liệu này. II. Thực nghiệm trên WEKA 1. Tiền xử lý dữ liệu: Trong qui trình khai phá dữ liệu, công việc xử lý dữ liệu trước khi đưa vào các mô hình là rất cần thiết, bước này làm cho dữ liệu có được ban đầu qua thu thập dữ liệu (gọi là dữ liệu gốc original data) có thể áp dụng được (thích hợp) với các mô hình khai phá dữ liệu (data mining model) cụ thể. Các công việc cụ thể của tiền xử lý dữ liệu bao gồm những công việc như: o Filtering Attributes: Chọn các thuộc tính phù hợp với mô hình o Filtering samples: Lọc các mẫu (instances, patterns) dữ liệu cho mô hình o Clean data: Làm sạch dữ liệu như xóa bỏ các dữ liệu bất thường (Outlier) Transformation: Chuyển đổi dữ liệu cho phù hợp với các mô hình như chuyển đổi dữ liệu từ numeric qua nomial hay ordinal o Discretization (rời rạc hóa dữ liệu): Nếu bạn có dữ liệu liên tục nhưng một vài mô hình chỉ áp dụng cho các dữ liệu rời rạc (như luật kết hợp ) thì bạn phải thực hiện việc rời rạc hóa dữ liệu. Trong bài toán hiện tại , các bước tiền xử lý dữ liệu cụ thể như sau: - Khởi động WEKA Explorer. Chọn cơ sở dữ liệu parkinsons.csv bằng cách chọn OpenFile… chọn kiểu dữ liệu CSV data file (*.csv) rồi chọn đường dẫn tới file game.csv Sau khi đã tải xong cơ sở dữ liệu ,ta sẽ thấy xuất hiện trên cửa số Preprocess của WEKA như sau: Tab bên trái là danh sách các thuộc tính , Tab bên phải là chi tiết từng thuộc tính được trỏ vào Trích chọn thuộc tính trong Weka - Trong WEKA, một phương pháp lựa chọn thuộc tính (Attribute selection) bao gồm2 phần: o Attribute Evaluator Để xác định một phương pháp đánh giá mức • Attribute Evaluator. Để xác định một phương pháp đánh giá mức độ phù hợpcủa các thuộc tính + Vd: correlation- based, wrapper, information gain, chisquared squared,… o Search Method. Để xác định mộtphương pháp (thứ tự) xét các thuộc tính + Vd: best-first, random, exhaustive, ranking,… - Trong bộ dữ liệu đang sử dụng, có thể có nhiều thuộc tính không cần để xem xét 1 người có bị bệnh về tuyến giáp hay không, ví dụ như: , ta sử dụng công cụ trích chọn thuộc tính như sau: - Mở weka, chọn mở cơ sở dữ liệu game.arff, ta có màn hình Preprocess - Chọn tab “Select attributes”, trong mục “Attribute Evaluaror” chọn WrapperSubsetEval, trong mục Classifier chọn NaiveBayes Trong mục Search Method chọn GredySteepWise , ở select box thứ 3 chọn giá trị True và Start , ta sẽ thu được kết quả . === Run information === Evaluator: weka.attributeSelection.WrapperSubsetEval -B weka.classifiers.bayes.NaiveBayes -F 5 -T 0.01 -R 1 -- Search:weka.attributeSelection.GreedyStepwise -B -T -1.7976931348623157E308 -N -1 Relation: game-weka.filters.unsupervised.attribute.Remove-R1 Instances: 151 Attributes: 6 GioiTinh LoaiGame ThuPhi CauHinh NhaPhatHanh QuyetDinh Evaluation mode:evaluate on all training data === Attribute Selection on all input data === Search Method: Greedy Stepwise (backwards). Start set: all attributes Merit of best subset found: 0.368 Attribute Subset Evaluator (supervised, Class (nominal): 6 QuyetDinh): Wrapper Subset Evaluator Learning scheme: weka.classifiers.bayes.NaiveBayes Scheme options: Accuracy estimation: classification error Number of folds for accuracy estimation: 5 Selected attributes: 1,2,3,4,5 : 5 GioiTinh LoaiGame ThuPhi CauHinh NhaPhatHanh Trong gói dữ liệu này ,thuộc tính “STT” ở đây biểu thị số thứ tự , không cần thiết cho quá trình khai phá dữ liệu nên ta sẽ loại bỏ nó đi , các bước loại bỏ như sau : Trong panel Filter > Choose > filters >unsupervised > attribute > Remove Bước tiếp theo là bấm vào textbox ngay bên phải nút “Choose” và điền vào giá trị 1 (đây là index của thuộc tính "STT" trong file dữ liệu). Chú ý rằng tùy chọn "invertSelection" phải được thiết lập là false. Ngay sau khi bấm apply ,thuộc tính "STT" sẽ bị loại bỏ Ta có màn hình bên dưới Tới đấy ta Save cơ sở dữ liệu này thành file có dạng *.arff để thực hiện thuật toán phân lớp ( mục save ở phía trên bên phải của weka ) 2.Thuật toán phân lớp Thực hiện thuật toán - Trong bài toán này, ta sẽ áp dụng thử 2 thuật toán phân lớp, đó là: cây quyết định (Decision tree) là J48 và SimpleCART và mô hình MultilayerPerceptron của mạng Neuron (Neural network) === Run information === a. Kết quả khi J48 với các thông số như sau (chia dữ liệu thành 10 phần) === Run information === Scheme:weka.classifiers.trees.J48 -C 0.25 -M 2 Relation: game- weka.filters.unsupervised.attribute.Remove-R1 Instances: 151 Attributes: 6 GioiTinh LoaiGame ThuPhi CauHinh NhaPhatHanh QuyetDinh Test mode:10-fold cross-validation === Classifier model (full training set) === J48 pruned tree ------------------ NhaPhatHanh = VNG: Co (63.0/19.0) NhaPhatHanh = VTC: Co (36.0/11.0) NhaPhatHanh = FPT | ThuPhi <= 4: Khong (22.0/7.0) | ThuPhi > 4 | | LoaiGame = NhapVai | | | GioiTinh <= 0: Co (2.0) | | | GioiTinh > 0: Khong (3.0) | | LoaiGame = Bansung | | | GioiTinh <= 0 | | | | ThuPhi <= 5: Co (2.0) | | | | ThuPhi > 5: Khong (2.0) | | | GioiTinh > 0: Co (3.0) | | LoaiGame = TheThao: Khong (5.0/2.0) | | LoaiGame = ChienThuat: Co (13.0/4.0) . kỹ thuật quân sự Khoa Công nghệ thông tin BÁO CÁO MÔN HỌC KHAI PHÁ DỮ LIỆU Đề tài: Sử dụng phần mềm weka khai phá bộ dữ liệu Gamers với thuật toán phân lớp. sở dữ liệu này thành file có dạng *.arff để thực hiện thuật toán phân lớp ( mục save ở phía trên bên phải của weka ) 2 .Thuật toán phân lớp Thực hiện thuật