Chạy thuật tốn phân lớp

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu một số phương pháp phân lớp dữ liệu và ứng dụng trong phân lớp nấm (mushroom) với công cụ weka​ (Trang 68)

• Bước 4: Tiến hành phân lớp dữ liệu

Chạy thuật tốn phân lớp

• Bước 5: Ghi nhận kết quả

Hình 3.12: Bảng kết quả sau chạy thuật tốn phân lớp

3.2.5 Mơ tả chức năng phân lớp (Classify)

Phân tích kết quả: Trong hình 3.7 trên là màn hình kết quả biểu diễn cho chúng ta xem xét kết quả sau khi chạy:

• Running Information: là thơng tin về mơ hình học, tên quan hệ, số mẫu, thuộc tính và kiểu test

Hình 3.13: Giải thích Running Information

Bảng kết quả Nhật ki hệ thống Thuật tốn sử dụng tên quan hệ số mẫu kiểu test thuộc tính

• Classifier model (full training set): cho biết mơ hình phân lớp được xây dựng dựa trên cả tập huấn luyện

Hình 3.14: Giải thích Classifier model (full training set)

• Tổng kết: Số liệu thống kế cho biết độ chính xác của bộ phân lớp, theo một kiểu test cụ thể

Hình 3.15: Giải thích xem xét tổng kết số liệu thống kế tập dữ liệu

• Độ chính xác chi tiết cho từng phân lớp

Hình 3.16: Xem độ chính xác chi tiết cho từng phân lớp

Thời gian xây dựng mơ hình

Thuật tốn Bayes

Kết quả sau khi chạy thuật tốn Nạve bayes của các thuộc tính

Mẫu phân lớp đúng Đánh giá tập dữ liệu

Mẫu phân lớp sai Tối đa lỗi

• Confusion matrix: cho biết bao nhiêu mẫu được gán vào từng lớp. Các phần tử của ma trận thể hiện số mẫu test cĩ lớp thật sự là dịng và lớp dự doạn là cột

Hình 3.17: Confusion matrix của bộ phân lớp dữ liêu Mushroom

3.3 Áp dụng các phương pháp phân lớp trên tập dữ liệu Mushroom

Trong luân văn này, ta sẽ áp dụng các phương pháp phân lớp (classification) lên tập dữ liệu Mushroom. Đây là tập dữ liệu mơ tả các đặc tính vật lý của nấm, cùng với nhãn phân loại cĩ độc hoặc ăn được. Các thuật tốn được sử dụng gồm: Naive Bayes, Nearest neighbor, Support Vector Machines, Decision tree (J48).

Để dễ tiếp cận, các phương pháp được thực hiện với Weka. Mơ hình phân lớp dự đốn đề xuất trong đề tài này được hiển thị chi tiết qua hình dưới đây:

3.3.1 Thực hiện phân lớp bằng thuật tốn Naive Bayes

Kịch bản 1: thực nghiệm huấn luyện trong chế độ phân lớp Percentage split

để xác định tỉ lệ phân chia, trong thực nghiệm này tơi xác định tỉ lệ là 70%, cĩ nghĩa là chia 70% tâp huấn luyện (tập train), 30% tập kiểm tra (tập test). Để đạt hiệu quả phân lớp như sau:

1) Nhấp vào nút “Choose” Lựa chọn và chọn Tập tin “NaiveBayes” trực tuyến trong nhĩm “Bay Bayes”.

2) Nhấp vào tên của thuật tốn để xem lại cấu hình thuật tốn.

Hình 3.19: Cấu hình Weka cho thuật tốn Naive Bayes

Theo mặc định, một phân phối Gaussian được giả sử cho từng thuộc tính số. Các phân phối này cĩ thể thay đổi thuật tốn để sử dụng cơng cụ ước tính Kernel với đối số sử dụng Kernel Estimator cĩ thể phù hợp hơn với phân phối thực tế của các thuộc tính trong tập dữ liệu của bạn. Tuy nhiên, các thơng số này cĩ thể tự động chuyển đổi các thuộc tính số thành thuộc tính danh nghĩa với tham số sử dụng Supervised Discretization.

3) Nhấn vào “Ok” đây để đĩng cấu hình thuật tốn.

4) Ta chọn thuộc tính phân lớp là “class”, chọn các Classifer tương ứng, sau đĩ bấm Start để tiến hành xây dựng mơ hình và đánh giá độ chính xác. Sau chạy thuật tốn trên bộ dữ liệu Ionosphere. Cĩ thể thấy rằng với cấu hình mặc định, thuật tốn cây quyết định đạt được độ chính xác 95.4042%.

Hình 3.20: Kết quả phân lớp Weka cho thuật tốn Naive Bayes với số 70% Split

Nhận xét:

- Thời gian xây dừng mơ hình là 0.01 giây - Tỷ lệ phân lớp đúng là 95.4042% (2325 mẫu) - Tỷ lệ phân lớp sai là 4.5958% (112 mẫu)

- Mức độ chính của bộ phân lớp đối với mỗi lớp e (nấm ăn được) và lớp p (nấm khơng ăn được) là:

- Ma trận Confusion thể hiện các mẫu nấm ăn được (e) phân đúng là 1242, phân sai là 101. Các mẫu khơng ăn được (p) phân đúng là 1083, phân sai là 11

Kịch bản 2: thực nghiệm huấn luyện trong chế độ phân Cross-validation.

Tập dữ liệu sẽ được chia đều k tập (folds) cĩ kích thước xấp xỉ nhau, và bộ phân

loại học được sẽ được dánh giá bởi phướng pháp cross-validation. Trong thực nghiệm này tơi xác định chọn fold=10, để đạt hiệu quả phân lớp như sau:

Sau chạy thuật tốn trên bộ dữ liệu Ionosphere. Cĩ thể thấy rằng với cấu hình mặc định, thuật tốn cây quyết định đạt được độ chính xác 95.8272%.

Hình 3.21: Kết quả phân lớp Weka cho thuật tốn Naive Bayes kiểm tra chéo 10 mặt (fold=10 cross-validation)

3.3.2 Thực hiện phân lớp bằng thuật tốn k-Nearest neighbor

Thuật tốn hỗ trợ cả phân lớp và hồi quy. Nĩ cũng được gọi là kNN cho ngắn gọn. Nĩ hoạt động bằng cách lưu trữ tồn bộ tập dữ liệu huấn luyện và truy vấn nĩ để xác định vị trí của các mẫu đào tạo tương tự nhất khi đưa ra dự đốn. Như vậy, khơng cĩ mơ hình nào ngồi tập dữ liệu huấn luyện thơ và phép tính duy nhất được thực hiện là truy vấn bộdữ liệu huấn luyện khi yêu cầu dự đốn.

Chọn thuật tốn k-Nearest Neighbors:

1) Nhấp vào nút “Choose” và chọn “IBk” trong nhĩm “Lazy”. 2) Nhấp vào tên của thuật tốn để xem lại cấu hình thuật tốn.

Hình 3.22: Cấu hình Weka cho thuật tốn k-NN

Theo hình 3.21 cấu hình Weka cho thuật tốn k-Neares Neighbors chúng ta được xác định giá trị tham số K (số láng giềng gần nhất) K=1 và dùng khoảng cách Euclidean để tính khoảng cách giữa các trường hợp, điều này tốt cho dữ liệu số cĩ cùng tỷ lệ. Khoảng cách Manhattan là tốt để sử dụng nếu thuộc tính của bạn khác nhau về các biện pháp hoặc loại.

Hình 3.23: Cấu hình Weka cho thuật tốn tìm kiếm trong thuật tốn k-NN

4) Ta chọn thuộc tính phân lớp là “class”, chọn các Classifer tương ứng, sau đĩ bấm Start để tiến hành xây dựng mơ hình và đánh giá độ chính xác. Sau chạy thuật tốn trên bộ dữ liệu Ionosphere. Cĩ thể thấy rằng với cấu

hình mặc định, thuật tốn cây quyết định đạt được độ chính xác 100%.

Hình 3.24: Kết quả phân lớp Weka cho thuật tốn k-NN với số 70% Split

3.3.3 Thực hiện phân lớp bằng thuật tốn Support Vector Machines

1) Nhấp vào nút “Choose” và chọn “SMO” trong nhĩm “Function” 2) Nhấp vào tên của thuật tốn để xem lại cấu hình thuật tốn

Hình 3.26: Cấu hình Weka cho thuật tốn SVM

Theo hình (3.26) tham số C, được gọi là tham số độ phức tạp trong Weka kiểm sốt mức độ linh hoạt của quy trình vẽ đường phân tách các lớp cĩ thể. Giá trị 0 cho phép khơng vi phạm ký quỹ, trong khi mặc định là 1.

Một tham số chính trong SVM là loại Kernel sẽ sử dụng. Hạt nhân đơn giản nhất là hạt nhân tuyến tính phân tách dữ liệu bằng một đường thẳng hoặc siêu phẳng. Mặc định trong Weka là một hạt nhân đa thức sẽ phân tách các lớp bằng cách sử dụng một đường cong hoặc uốn lượn, đa thức càng cao, càng lung lay (giá trị số mũ).

Một hạt nhân phổ biến và mạnh mẽ là Kernel RBF hoặc Radial Basis Function Kernel cĩ khả năng học các đa giác khép kín và các hình dạng phức tạp để phân tách các lớp.

Đĩ là một ý tưởng tốt để thử một bộ các giá trị hạt nhân và C (độ phức tạp) khác nhau về vấn đề của bạn và xem cái gì hoạt động tốt nhất.

4) Ta chọn thuộc tính phân lớp là “class”, chọn các Classifer tương ứng, sau đĩ bấm Start để tiến hành xây dựng mơ hình và đánh giá độ chính xác. Sau chạy thuật tốn trên bộ dữ liệu Ionosphere. Cĩ thể thấy rằng với cấu hình mặc định, thuật tốn cây quyết định đạt được độ chính xác 100%.

Hình 3.27: Kết quả phân lớp Weka cho thuật tốn SVM với số 70% Split

Hình 3.28: Kết quả phân lớp Weka cho thuật tốn SVM kiểm tra chéo 10 mặt (fold=10 cross-validation) (fold=10 cross-validation)

3.3.4 Thực hiện phân lớp bằng thuật tốn Decision tree (J48)

1) Nhấp vào nút “Choose” và chọn “J48” trong nhĩm “Trees”. 2) Nhấp vào tên của thuật tốn để xem lại cấu hình thuật tốn.

Hình 3.29: Cấu hình Weka cho thuật tốn J48

5) Sau đĩ nhấn vào “Ok” đây để đĩng cấu hình thuật tốn.

6) Ta chọn thuộc tính phân lớp là “class”, chọn các Classifer tương ứng, sau đĩ bấm Start để tiến hành xây dựng mơ hình và đánh giá độ chính xác. Sau chạy thuật tốn trên bộ dữ liệu Ionosphere. Cĩ thể thấy rằng với cấu hình mặc định, thuật tốn cây quyết định đạt được độ chính xác 100%.

Hình 3.31: Kết quả phân lớp Weka cho thuật tốn J48 kiểm tra chéo 10 mặt (fold=10 cross-validation) (fold=10 cross-validation)

Riêng thuật tốn J48, ta cĩ thể sử dụng chức năng Visualize Tree để xem hình ảnh cây quyết định.

Hình 3.33: cây quyết định Visualization

3.4. Đánh giá mơ hình phân lớp dữ liệu Mushroom 3.4.1 Đánh giá mơ hình bằng phương pháp Hold-out 3.4.1 Đánh giá mơ hình bằng phương pháp Hold-out

Chúng ta sẽ chia dữ liệu thành 2 phần: 70% để xây dựng mơ hình phân lớp (tập train), 30% để kiểm tra (tập test).

Bảng 3.4: Hiệu năng của mơ hình dự đốn, đánh giá bởi kiểm tra 70%

Classifier Precision Recall F-measure ACC Time Confusion matrix

Nạve Bayes 0,990 0,915 0,951 95.4042% 0.01

KNN (k=1) 1 1 1 100% 0.03

J48 1 1 1 100% 0.05

3.4.2 Đánh giá mơ hình bằng phương pháp k-fold Cross validation

Ta chọn k=10, nghĩa là chia tập dữ liệu thành 10 phần, 1 phần dùng làm tập kiểm tra (test set), 9 phần dùng để huấn luyện (train set).

Bảng 3.5: Hiệu năng của mơ hình dự đốn, đánh giá bởi kiểm tra chéo mặt (fold=10 cross-validation)

Classifier Precision Recall F-measure ACC Time Confusion matrix

Nạve Bayes 0,991 0,922 0,955 95.8272% 0.02

KNN (k=1) 1 1 1 100% 0.02

SVM 1 1 1 100% 0.98

J48 1 1 1 100% 0.03

3.5. Kết luận thực nghiệm phần lớp dữ liệu Mushroom

Qua kết quả phân lớp trên, ta thấy ngồi mơ hình Naive Bayes, các mơ hình cịn lại đều cho kết quả phân lớp rất tốt (100% phân lớp chính xác). Điều này cho thấy, các mơ hình phân lớp ở trên khá phù hợp cho bài tốn phân lớp, dự đốn nấm.

Từ kết quả của một số mơ hình phân lớp ở trên, đặc biệt là mơ hình phân lớp dựa vào cây quyết định, ta cĩ thể biết được một loại nấm cĩ độc hay khơng nhờ vào

Về đặc điểm mùi, nấm nào ăn được thường cĩ mùi hạnh nhân và mùi hoa hồi, nấm độc thường cĩ mùi hơi, tanh, và cay.

Cịn đặc điểm màu sắc, chỉ cĩ nấm màu xanh lá cây là khơng ăn được hoặc nấm cĩ độc, các lồi nấm cĩ màu loè loẹt như cam, vàng, tím đều là nấm ăn được.

Thật thú vị, thơng qua một số thuật tốn phân lớp (ví dụ: cây quyết định), ta cĩ thể phân biệt được đâu là nấm độc, đâu là nấm ăn được chỉ thơng qua một số đặc điểm nhận diện qua mùi và màu sắc.

3.6 Tổng kết chương

Chương 3 trình bày các vấn đề chính về bài tốn phân lớp/dự đốn tính chất (ăn được/cĩ độc) của nấm thơng qua việc áp dụng một số phương pháp/kỹ thuật phân lớp dữ liệu. Đặc biệt, chương trình đã xây dựng trình bày mơ hình tổng thể bài tốn phân lớp dự đốn nấm trên cơ sở áp dụng các thuật tốn phân lớp và phần mềm hỗ trợ trực quan Weka. Kết quả thực nghiệm của bài tốn được trình bày khá chi tiết trên cơ sở áp dụng phần mềm Weka và các phương pháp phổ biến như: Naive Bayes, Nearest neighbor, Support Vector Machines, Decision tree (J48).

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Kết quả đạt được:

Sau một thời gian làm việc, nghiên cứu dưới sự hướng dẫn tận tình của thầy giáo TS. Nguyễn Văn Núi, tơi đã đạt được các kết quả sau đây:

1. Tổng hợp được tương đối đầy đủ và chính xác khái niệm và kiến thức liên quan đến khai phá dữ liệu và phát hiện tri thức, các thuật tốn phân lớp dữ liệu và ứng dụng về việc dự dốn.

2. Giới thiệu và trình bày cơng cụ phần mềm Weka (Waikato Environment for Knowledge Analysis) là một bộ phần mềm học máy được Đại học Waikato, New Zealand phát triển bằng Java., ứng dụng trong phân lớp dữ liệu.

3. Tìm hiểu các bài tốn phân lớp dữ liệu áp dụng cho phân lớp và dự đốn nấm Mushroom.

4. Cài đặt, cấu hình phần mềm Weka và tiến hành phân lớp dữ liệu thực hiện trong phân lớp dữ liệu Mushroom.

5. Tĩm tắt và đề xuất một số tính chất tiêu biểu của nấm cĩ thể trở thành thơng tin, căn cứ chính, qua đĩ giúp phân biệt dự đốn một loại nấm bất kỳ là cĩ độc hoặc ăn được thơng qua một số mơ hình phân lớp nhất định (ví dụ: cây quyết định).

Hướng phát triển của luận văn:

Trong thời gian tới, tơi sẽ tiếp tục nghiên cứu sâu hơn về các vấn đề của phân lớp dữ liệu, đặc biệt sẽ nghiên cứu tìm hiểu sâu hơn việc ứng dụng phần mềm Weka để tiến hành phân tích dữ liệu ứng dụng trong các lĩnh vực cụ thể như phân lớp, dự đốn Mushroom.

Tiến hành nghiên cứu thêm các thuật tốn phân lớp dữ liệu, tối ưu hĩa các thuật tốn phân lớp dữ liệu, từ đĩ đề xuất mơ hình phân lớp, dự đốn vị Mushroom với độ chính xác cao hơn nữa.

TÀI LIỆU THAM KHẢO Tiếng Việt

[1]. Đỗ Phúc (2017), Giáo trình khai phá dữ liệu, NXB ĐHQG TPHCM

[2]. Nguyễn Hà Nam, Nguyễn Trí Thành, Hà Quang Thụy (2013), Giáo trình

khai phá dữ liệu, NXB Đại học Quốc gia Hà Nội.

[3]. Hà Quang Thụy (Chủ biên), Phan Xuân Hiếu – Đồn Sơn – Nguyễn Trí Thành, Nguyễn Thu Trang – Nguyễn Cẩm Tú (2009), Giáo trình khai

phá dữ liệu, NXB .Giáo dục Việt Nam

[4]. Website: https://ndhcuong.wordpress.com/hoc-phan/khai-pha-du-lieu/

[5]. Website:https://ongxuanhong.wordpress.com/2015/08/25/ap-dung-cac- phuong -phap- phan-lop-classification-tren-tap-du-lieu-mushroom/

Tiếng anh

[6]. Joydeep Ghosh (2003), Scalable Clustering, Chapter 10, pp. 247-278, Formal version appears in: The Hand book of Data Mining, Nong Ye (Ed)

[7]. Anil K. Jain and Richard C. Dubes (1988), Algorithms for clustering data, Prentice Hall, Inc., USA.

[8]. Ho Tu Bao (1998), Introduction to knowledge discovery and data mining.

[9]. Jiawei Hanand Micheline Kambel (2000), Data Mining: Concepts and Techniques, Morgan Kaufmann Publishers.

[10]. J.Ross Quinlan (1993), C4.5: Programsfor Machine Learning, Morgan Kaufmann Publishers.

[11]. Robert Nisbet, John Elder, Gary Miner, Handbook of Statistical Analysis and Data Mining Applications, Elsevier Inc, 2009

[12]. Mehmed Kantardzic; Data mininng concepts, models, methods, and algorithms; John Wiley & Sĩn, 2003

[13]. Usama Fayyad, Gregory Piatesky-Shapiro, and Padhraic Smyth; From data mining to knowledge discovery in databases

[14]. Concepts-and-Techniques-3rd-Edition-Morgan-Kaufmann-(2011)

[15]. WEKA Manual for Version 3-8-0 Remco R. Bouckaert, Eibe Frank, Mark Hall, Richard Kirkby, Peter Reutemann, Alex Seewald, David Scuse, April 14, 2016 [16]. Website: https://archive.ics.uci.edu/ml/datasets/mushroom

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu một số phương pháp phân lớp dữ liệu và ứng dụng trong phân lớp nấm (mushroom) với công cụ weka​ (Trang 68)