I. Giới thiệu về Weka và cách sử dụng phần mềm Weka Weka là một công cụ phần mềm viết bằng Java, phục vụ lĩnh vực học máy và khai phá dữ liệu. 1. Các tính năng chính - Một tập các công cụ tiền xử lý dữ liệu, các giải thuật học máy, khai phá dữ liệu, các phương pháp thí nghiệm đánh giá - Giao diện đồ họa(gồm cả tính năng hiển thị hóa dữ liệu) - Môi trường cho phép so sánh các giải thuật học máy và khai phá dữ liệu 2. Weka- các môi trường chính - Simple CLI : giao diện đơn giản kiểu dòng lệnh(như MS-DOS) - Explore (Chúng ta sẽ chủ yếu sử dụng môi trường này) Môi trường cho phép sử dụng tất cả các khả năng của Weka để khám phá dữ liệu - Experimenter : Môi trường cho phéptiến hành các thí nghiệm và thực hiện các kiểm tra thống kê(statistical tests) giữa các mô hình học máy - KnowledgeFlow: Môi trường cho phép bạn tương tác đồ họa kiểu kéo/thả để thiết kế các bước(các thành phần) của một thí nghiệm 3. Môi trường Explorer
HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN -oOo MÔN: KHAI PHÁ DỮ LIỆU TIỂU LUẬN: SỬ DỤNG WEKA VỚI CSDL SEGMENT TEST ÁP DỤNG THUẬT TOÁN PHÂN CỤM REPTree SV thực hiện: Lớp: Nguyễn Thị Hồng CNPM6 Giảng viên HD: Hồ Nhật Quang Hà nội 11/2011 I Giới thiệu Weka cách sử dụng phần mềm Weka Weka công cụ phần mềm viết Java, phục vụ lĩnh vực học máy khai phá liệu Các tính - Một tập cơng cụ tiền xử lý liệu, giải thuật học máy, khai phá liệu, phương pháp thí nghiệm đánh giá - Giao diện đồ họa(gồm tính hiển thị hóa liệu) - Môi trường cho phép so sánh giải thuật học máy khai phá liệu Weka- mơi trường - Simple CLI : giao diện đơn giản kiểu dòng lệnh(như MS-DOS) - Explore (Chúng ta chủ yếu sử dụng môi trường này) Môi trường cho phép sử dụng tất khả Weka để khám phá liệu - Experimenter : Môi trường cho phéptiến hành thí nghiệm thực kiểm tra thống kê(statistical tests) mơ hình học máy - KnowledgeFlow: Môi trường cho phép bạn tương tác đồ họa kiểu kéo/thả để thiết kế bước(các thành phần) thí nghiệm Mơi trường Explorer - Preprocess: Để chọn thay đổi(xử lý) liệu làm việc - Classify : Để huấn luyện kiểm tra mơ hình học máy(phân loại, hồi quy/dự đốn) - Cluster : Để học nhóm từ liệu(phân cụm) - Assoclate : Để khám phá luật kết hợp từ liệu - Select attributes:Để xác định lựa chọn thuộc tính liên quan(quan trọng) liệu - Visualize : Để xem(hiển thị) biểu đồ tương tác chiều liệu Weka Explorer: Tiền xử lý liệu - Dữ liệu nhập vào(imported) từ tập tin có khn dạng là: arff, csv - Dữ liệu đọc vào từ địa URL, từ sở liệu thông qua JDBS - Các công cụ tiền liệu Weka gọi Filters Rời rạc hóa(Discretization) Chuẩn hóa(normalization) Lấy mẫu () Lựa chọn thuộc tính(Attribute selection) Chuyển đổi (Tranforming) kết hợp (Combining) thuộc tính Weka Explore: Các phân lớp - Các phân lớp (Classifiers) Weka tương ứng với mô hình dự đốn đại lượng kiểu định danh(phân lớp) đại lượng kiểu số(hồi quy/ dự đoán) - Lựa chọn phận phân lớp(classifire) - Lựa chọn tùy chọn cho việc kiểm tra (test options) Use training set Bộ phận lọc đánh giá tập học Supplied test set Sử dụng tập liệu khác(với tập học) việc đánh giá Cross-validation Tập liệu chia thành k tập(folds) có kích thước xấp xỉ nhau, phận loại học đánh giá phương pháp Cross-validation Percentage split Chỉ định tỷ lệ phân chia tập liệu việc đánh giá Các phân lớp - More options Output model Hiển thị phân lớp học Output per-class stars Hiển thị thông tin thống kê precision/recall lớp Output entropy evaluation measures Hiển thị đánh giá độ hỗn tạp(entropy) tập liệu Output confusion matrix Hiển thị thông tin ma trận lỗi phân lớp(confusion matrix) phân lớp học Store predicitions for visualization Các dự đoán phân lớp lưu lại nhớ, để hiển thị sau Output predictions Hiển thị chi tiết dự đoán tập kiểm tra Cost-sensitive evaluation Các lỗi(của phân lớp) xác định dựa ma trận chi phí (cost matrix) định Random seed for XVal/ %Split Chỉ định giá trị random seed sử dụng cho trình lựa chọn ngẫu nhiên ví dụ cho tập kiểm tra - Classifier output hiển thị thông tin quan trọng Run information Các tùy chọn mô hình học, tên tập liệu, số lượng ví dụ, thuộc tính, thí nghiệm Classifier model(full training set) Biểu diễn (dạng text) phân lớp học Predictions on test data Thông tin chi tiết dự đoán phân lớp tập kiểm tra Summary Các thống kê mức độ xác phân lớp, f.f.thí nghiệm chọn Datatiled Accuracy By Class Thơng tin chi tiết mức độ xác phân lớp lớp Confusion Matrix Các thành phần ma trận thể số lượng ví dụ kiểm tra phân lớp bị phân lớp sai - Result list cung cấp số chức hữu ích Save model Lưu lại mơ hình tương ứng với phân lớp học vào tập tin nhị phân (binary file) Load model Đọc lại mơ hình học trước từ tập tin nhị phân Re-evanluate model on current test set Đánh giá mô hình (bộ phân lớp) học trước tập kiểm tra (test set) Visualize classifier errors Hiển thị cửa sổ thể kết việc phân lớp Các phân cụm - Các phân cụm (Cluster builders) Weka tương ứng với mơ hình tìm nhóm ví dụ tương tự tập liệu - Lựa chọn chế độ phân cụm (cluster buider) - Lựa chọn chế độ phân cụm (cluster mode) Use training set Các cụm học kiểm tra tập học Supplie test set Sử dụng tập liệu khác để kiểm tra cụm học Percentage split Chỉ định tỷ lệ phân chia tập liệu ban đầu cho việc xây dựng kiểm tra Classes to clusters evaluation So sánh độ xác cụm học lớp định - Store clusters for visualization Lưu lại phân lớp nhớ, để hiển thị sau Lựa chọn thuộc tính khơng tham gia vào q trình học cụm Luật kết hợp - Lựa chọn mơ hình(giải thuật) phát luật kết hợp - Associator output hiển thị thông tin quan trọng Run information Các tùy chọn mơ hình phát luật kết hợp, tên tập liệu, số lượng ví dụ, thuộc tính Associator model(full training set) Biểu diễn (dạng text) tập luật kết hợp phát > Độ hỗ trợ tối thiểu (minimum support) > Độ tin cậy tối thiểu (minimum confidence) > Kích thước tập mục thường xuyên (large/frequent itemsets) > Liệt kê luật kết hợp tìm II Ứng dụng Weka vào toán với sở liệu segment test sử dụng thuật tốn REPTree Mơ tả toán Phân đoạn ảnh thao tác mức thấp tồn q trình xử lý ảnh Q trình thực việc phân vùng ảnh thành vùng rời rạc đồng với hay nói cách khác xác định biên vùng ảnh Các vùng ảnh đồng thơng thường tương ứng với tòan hay phần đối tượng thật bên ảnh Phân đoạn ảnh chia ảnh thành vùng không trùng lắp Mỗi vùng gồm nhóm pixel liên thơng đồng theo tiêu chí đó[1] Tiêu chí phụ thuộc vào mục tiêu trình phân đoạn Ví dụ đồng màu sắc, mức xám, kết cấu, độ sâu layer… Sau phân đoạn pixel thuộc vùng Trích chon đặc tính a Ý nghĩa phương pháp trích chọn đặc tính - Với Dataset segment test lựa chọn bao gồm 20 thuộc tính dùng để mô tả phân đoạn, nhiên xây dựng Data mining model cẩn khoảng 50 thuộc tính hàng trăm thuộc tính Nếu sử dụng tất thuộc tính để xây dựng mơ hình ta cần nhiều CPU, tốn nhiều nhớ q trình Training model, chí thuộc tính khơng cần thiết làm giảm độ xác mơ hình gây khó khăn việc phát tri thức - Các phương pháp trích chọn thuộc tính thường tính trọng số(score) thuộc tính sau chọn thuộc tính có trọng số tốt để sử dụng cho mơ hình Các phương pháp cho phép ta hiệu chỉnh ngưỡng để lấy thuộc tính có Score ngưỡng cho phép Q trình trích chọn thuộc tính ln thực trước trình Training model Một số phương pháp lựa chọn thuộc tính(feature selection methods) - Có nhiều phương pháp để chọn thuộc tính tùy thuộc vào cấu trúc liệu dùng cho mơ hình thuật tốn dùng để xây dựng mơ hình Sau số phương pháp phổ biến dung trích chọn thuộc tính: + interestingness score: Được sử dụng để xếp hạng (rank) thuộc tính thuộc tính có kiểu liệu liên tục (continuous) Một thuộc tính xem Interesting mang vài thơng tin hữu ích (thế thơng tin hữu ích tùy thuộc vào vấn đề phân tích bạn) Để đo lường mức độ interestingness, người ta thường dựa vào entropy (một thuộc tính với phân bố ngẫu nhiên có entropy cao có information gain (độ lợi thơng tin) thấp hơn) thuộc tính gọi less interesting) Entropy thuộc tính so sánh với entropy tất thuộc tính cịn lại theo cơng thức sau: Interestingness(Attribute) = - (m - Entropy(Attribute)) *(m Entropy(Attribute)) Trong m gọi entropy trung tâm (Central entropy- có nghĩa entropy tồn tập thuộc tính) +Shannon's Entropy: Được sử dụng liệu kiểu rời rạc (discretized data) Shannon's entropy đo lường độ bất định (uncertainty) biến ngẫu nhiên kết cụ thể (particular outcome) Shannon's entropy tính theo cơng thức sau: H(X) = -∑ P(xi) log(P(xi)) +Ngoài interestingness score Shannon's entropy, số phương pháp khác thường sử dụng lựa chọn thuộc tính Bayesian with K2 Prior, Bayesian Dirichlet Equivalent with Uniform Prior b Trích chọn thuộc tính weka - Trong weka, phương pháp lựa chọn thuộc tính(attribute selection) bao gồm phần: + Attribute Evaluator: Để xác định phương pháp đánh giá mức độ phù hợp thuộc tính + Search Method: Để xác định phương pháp(thứ tự) xét thuộc tính : best-first, random, ranking… - Trong sở liệu supper market có nhều thuộc tính khơng cần xem xét, ta sử dụng cơng cụ trích chọn thuộc tính sau: - Mở weka, chọn mở sở liệu segment-test.arff, ta có sau: - Chọn tab “Select attributes”, mục “Attribute Evaluaror” chọn WrapperSubsetEval, mục Classifier chọn NaiveBayes hình sau: - Trong mục Search Method chọn GredySteepWise, làm sau: - Bấm Star để thực kết Như ta cần 14/20 thuộc tính sở liệu việc khai phá liệu Bao gồm thuộc tính sau: region-centroid-col region-centroid-row short-line-density-5 vedge-sd rawred-mean rawblue-mean rawgreen-mean exred-mean exblue-mean exgreen-mean value-mean saturation-mean hue-mean Tiền xử lý liệu - Trong qui trình khai phá liệu, công việc xử lý liệu trước đưa vào mơ hình cần thiết, bước làm cho liệu có ban đầu qua thu thập liệu (gọi liệu gốc original data) áp dụng (thích hợp) với mơ hình khai phá liệu (data mining model) cụ thể Các công việc cụ thể tiền xử lý liệu bao gồm công việc như: o Filtering Attributes: Chọn thuộc tính phù hợp với mơ hình o Filtering samples: Lọc mẫu (instances, patterns) liệu cho mơ hình o Clean data: Làm liệu xóa bỏ liệu bất thường (Outlier) Transformation: Chuyển đổi liệu cho phù hợp với mơ chuyển đổi liệu từ numeric qua nomial hay ordinal o Discretization (rời rạc hóa liệu): Nếu bạn có liệu liên tục vài mơ hình áp dụng cho liệu rời rạc (như luật kết hợp chẳn hạn) bạn phải thực việc rời rạc hóa liệu Tiền xử lý liệu với toán segment-test: Trong tốn em loại bỏ thuộc tính khơng cần thiết việc khai phá liệu cách: Trong panel Filter chọn Choose -> filters ->unsupervised -> attribute -> Remove Bước bấm vào textbox bên phải nút “Choose” gỏ vào 3,5,6,8,9,20 (đây số tương ứng với thuộc tính loại bỏ) Chú ý tùy chọn "invertSelection" phải thiết lập false ấn Apply ta liệu khơng có thuộc tính bị tick Kết cuối ta thuộc tính sử dụng sau: Ta save lại liệu, tên segment-test2.arff, ta thực thuật toán phân lớp sở liệu III Kết thu sử dụng thuật toán REPTree Kết sử dụng thuật tốn REPTree với thơng số thiết đặt sau(chia liệu thành 10 phần) === Run information === Scheme:weka.classifiers.trees.REPTree -M -V 0.0010 -N -S -L -1 Relation: segment-weka.filters.unsupervised.attribute.Remove-R3,5,6,8,9,20 Instances:810 Attributes:14 region-centroid-col region-centroid-row short-line-density-5 vegde-sd intensity-mean rawred-mean rawblue-mean rawgreen-mean exred-mean exblue-mean exgreen-mean value-mean saturation-mean hue-mean Test mode:split 66.0% train, remainder test === Classifier model (full training set) === REPTree ============ exgreen-mean < 3.11 | exred-mean < -0.06 | | exgreen-mean < 0.94 | | | exred-mean < -6.17 | | | | rawgreen-mean < 79.28 | | | | | exgreen-mean < -5.83 | | | | | | exgreen-mean < -14.28 | | | | | | | exred-mean < -18.56 | | | | | | | | saturation-mean < 0.35 : -2.08 (33/0) [13/0] | | | | | | | | saturation-mean >= 0.35 : -2.21 (7/0) [0/0] | | | | | | | exred-mean >= -18.56 | | | | | | | | exred-mean < -9.61 : -2.01 (62/0) [32/0] | | | | | | | | exred-mean >= -9.61 : -1.86 (5/0) [4/0] | | | | | | exgreen-mean >= -14.28 | | | | | | | exred-mean < -16.33 : -2.27 (15/0) [7/0] | | | | | | | exred-mean >= -16.33 | | | | | | | | intensity-mean < 34.3 | | | | | | | | | exred-mean < -7.39 | | | | | | | | | | exgreen-mean < -9.28 | | | | | | | | | | | region-centroid-col < 90 : -2.06 (7/0.01) [12/0.02] | | | | | | | | | | | region-centroid-col >= 90 : -2.13 (25/0) [15/0] | | | | | | | | | | exgreen-mean >= -9.28 : -2.18 (19/0.01) [10/0] | | | | | | | | | exred-mean >= -7.39 : -2.06 (10/0) [2/0] | | | | | | | | intensity-mean >= 34.3 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | exred-mean < -11.44 : -2.25 (3/0) [3/0.1] | | | | | | | | exred-mean >= -11.44 : -1.99 (6/0) [1/0.01] | | | | exgreen-mean >= -5.83 : -2.37 (34/0.02) [21/0.01] | | | rawgreen-mean >= 79.28 | | | | exgreen-mean < -19.83 | | | | | exred-mean < -23.94 : -2.23 (16/0) [9/0] | | | | | exred-mean >= -23.94 : -2.04 (2/0) [1/0] | | | | exgreen-mean >= -19.83 | | | | | exred-mean < -35.94 : -2.39 (16/0) [8/0] | | | | | exred-mean >= -35.94 : -2.31 (44/0) [13/0] | | exred-mean >= -6.17 | | | rawred-mean < 5.61 : -2.1 (58/0.02) [28/0.01] | | | rawred-mean >= 5.61 | | | | exred-mean < -3.33 | | | | | region-centroid-col < 203.5 : -1.73 (13/0) [7/0] | | | | | region-centroid-col >= 203.5 : -1.95 (2/0) [0/0] | | | | exred-mean >= -3.33 : -1.63 (24/0) [13/0] | exgreen-mean >= 0.94 : 0.59 (2/8.25) [1/3.08] exred-mean >= -0.06 | saturation-mean < 0.07 : (11/0) [3/0] | saturation-mean >= 0.07 | | exblue-mean < 4.28 | | | exred-mean < 5.06 | | | | exred-mean < 4.33 | | | | | exred-mean < 3.56 : -1.12 (3/0) [1/0] | | | | | exred-mean >= 3.56 : -1 (4/0) [5/0] | | | | exred-mean >= 4.33 : -0.9 (11/0) [11/0] | | | exred-mean >= 5.06 | | | | exblue-mean < 1.39 : -0.52 (3/0) [2/0.22] | | | | exblue-mean >= 1.39 : -0.78 (3/0) [3/0] | | exblue-mean >= 4.28 | | | exred-mean < 2.67 | | | | exred-mean < 1.39 : -1.54 (5/0) [3/0] | | | | exred-mean >= 1.39 : -1.41 (4/0) [1/0] | | | exred-mean >= 2.67 | | | | | exblue-mean < 9.33 : -1.17 (7/0) [5/0] | | | | | exblue-mean >= 9.33 : -1.33 (3/0) [1/0] exgreen-mean >= 3.11 | exblue-mean < -3.72 | | exred-mean < -7.56 | | | exblue-mean < -5.61 | | | | exblue-mean < -8.72 : 2.09 (4/0) [2/0] | | | | exblue-mean >= -8.72 : 2.19 (15/0) [4/0.01] | | | exblue-mean >= -5.61 : 2.32 (12/0) [5/0] | | exred-mean >= -7.56 | | | exblue-mean < -9.5 | | | | exred-mean < -6.67 : 1.98 (3/0) [0/0] | | | | exred-mean >= -6.67 : 1.86 (6/0) [5/0] | | | exblue-mean >= -9.5 | | | | exblue-mean < -4.22 : 2.03 (9/0) [6/0.01] | | | | exblue-mean >= -4.22 : 2.26 (2/0) [0/0] | exblue-mean >= -3.72 | | exblue-mean < -0.5 | | | exblue-mean < -2.83 : 2.37 (11/0) [3/0] | | | exblue-mean >= -2.83 : 2.49 (13/0) [3/0.01] | | exblue-mean >= -0.5 | | | exblue-mean < 1.11 : 2.62 (3/0) [4/0] | | | exblue-mean >= 1.11 : 2.8 (5/0) [3/0.01] Size of the tree : 83 Time taken to build model: 0.09seconds === Evaluation on test split === === Summary === Correlation coefficient Mean absolute error Root mean squared error Relative absolute error 0.9968 0.0755 0.1242 6.3802 % ... thực thuật toán phân lớp sở liệu III Kết thu sử dụng thuật toán REPTree Kết sử dụng thuật toán REPTree với thông số thiết đặt sau(chia liệu thành 10 phần) === Run information === Scheme :weka. classifiers.trees .REPTree. .. việc phân lớp Các phân cụm - Các phân cụm (Cluster builders) Weka tương ứng với mơ hình tìm nhóm ví dụ tương tự tập liệu - Lựa chọn chế độ phân cụm (cluster buider) - Lựa chọn chế độ phân cụm. .. Weka cách sử dụng phần mềm Weka Weka công cụ phần mềm viết Java, phục vụ lĩnh vực học máy khai phá liệu Các tính - Một tập công cụ tiền xử lý liệu, giải thuật học máy, khai phá liệu, phương pháp