I. Mô tả bài toán . Link: http://tunedit.org/repo/DASL/FleaBeetles.arff Dữ liệu được thu thập trên các cá thể của bọ chét Chaetocnema. Bọ chét Chaeocnema gồm có 3 loài : Concinna(viết tắt là con), Heikertingeri(viết tắt là Hei) và Heptapotamica (viết tắt là Hep). Người ta đo độ rộng và góc mở của bộ phận sinh dục đực của mỗi một con bọ chét. Mục đích của nghiên cứu này là đưa ra 1 luật phân lớp để phân biệt 3 loài bọ chét này với nhau. II. Xây dựng cơ sở dữ liệu . Cơ sở dữ liệu gồm 74 bản ghi tương đương 74 cá thể bọ chét Chaetocnema Các biến trong CSDL như sau : 1. Width : độ rộng lớn nhất của bộ phận sinh dục đực ở phần trước ( tính bằng micromet) 2. Angle : Góc trước của bộ phận sinh dục đực 3. Species : Loài bọ chét ( 1 trong 3 : Hei, Con, Hep) Kiểu dữ liệu của các biến như sau : 1. Witdh : numeric 2. Angle : numeric 3. Species : {“Con”, “Hei”, “Hep”} III. Tiến hành thực nghiệm cơ sở dữ liệu 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 :
I. Mô tả bài toán . Link: http://tunedit.org/repo/DASL/FleaBeetles.arff Dữ liệu được thu thập trên các cá thể của bọ chét Chaetocnema. Bọ chét Chaeocnema gồm có 3 loài : Concinna(viết tắt là con), Heikertingeri(viết tắt là Hei) và Heptapotamica (viết tắt là Hep). Người ta đo độ rộng và góc mở của bộ phận sinh dục đực của mỗi một con bọ chét. Mục đích của nghiên cứu này là đưa ra 1 luật phân lớp để phân biệt 3 loài bọ chét này với nhau. II. Xây dựng cơ sở dữ liệu . Cơ sở dữ liệu gồm 74 bản ghi tương đương 74 cá thể bọ chét Chaetocnema Các biến trong CSDL như sau : 1. Width : độ rộng lớn nhất của bộ phận sinh dục đực ở phần trước ( tính bằng micromet) 2. Angle : Góc trước của bộ phận sinh dục đực 3. Species : Loài bọ chét ( 1 trong 3 : Hei, Con, Hep) Kiểu dữ liệu của các biến như sau : 1. Witdh : numeric 2. Angle : numeric 3. Species : {“Con”, “Hei”, “Hep”} III. Tiến hành thực nghiệm cơ sở dữ liệu 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: Rời rạc hóa hoặc chuyển kiểu dữ liệu của các attribute từ numeric sang nominal. +Chọn thuộc tính Width để rời rạc hóa vì lượng dữ liệu của thuộc tính này tương đối lớn. +Với thuộc tính Angle thỳ ta thực hiện việc chuyền kiểu dữ liệu từ numeric sang nominal. Việc rời rạc hóa được thực hiện như sau : Sau đó click vào text bên phải ‘choose’ để chình tham số cho việc rời rạc hóa: Với attibuteindex =1,thể hiện id của thuộc tính Width , bins=2 chia giá trị thuộc tính làm 2 khoảng giá trị Sau khi thiết lập xong,ấn Ok rồi chọn Apply để thực hiện việc rời rạc hóa dữ liệu. Kết quả ta được 2 khoảng dữ liệu có nhãn là : (-inf-136.5) và (136.5-inf) kiểu dữ liệu được chuyển từ numeric sang nominal Với thuộc tính “Angle” giá trị không quá lớn thì ta làm như sau : Sau đó click vào text bên phải “choose” để thiết lập tham số chuyển đổi : Với attributeindices=2 tương ứng với id của thuộc tính “Angle” Sau khi thiết lập xong ta chọn Ok rồi Apply để thực hiện việc chuyển đổi. 2. Xây dựng cây quyết định A. Với thuật toán 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: Để 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: Kết quả cụ thể: === Run information === Scheme:weka.classifiers.trees.J48 -C 0.25 -M 2 Relation: relation-weka.filters.unsupervised.attribute.Discretize-B2-M-1.0-R1- weka.filters.unsupervised.attribute.NumericToNominal-R2 Instances:74 Attributes:3 Width Angle Species Test mode:evaluate on training data === Classifier model (full training set) === J48 pruned tree ------------------ . training data === Classifier model (full training set) === J48 pruned tree -- -- - -- - -- - -- - -- - - Angle = 8: Hep (1.0) Angle = 9: Hep (5.0) Angle = 10: Hep (8.0). remainder test === Classifier model (full training set) === J48 pruned tree -- -- - -- - -- - -- - -- - - Angle = 8: Hep (1.0) Angle = 9: Hep (5.0) Angle = 10: Hep (8.0) Angle