You are on page 1of 31

lOMoARcPSD|10258662

lOMoARcPSD|10258662

BỘ GIÁO DỤC VÀ ĐÀO TẠO


TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM

BÁO CÁO
Đề tài :
Nghiên cứu Weka và phương pháp phân lớp dựa
trên Weka sử dụng cây quyết định
Giảng viên hướng dẫn: Vũ Thanh Hiền
Nhóm sinh viên thực hiện: Nguyễn Hữu Thành 2180606601

Nguyễn Huy Cảnh 2180606077

VõNguyễn Hồng Khán 2180606662

1
lOMoARcPSD|10258662

MỤC LỤC

MỤC LỤC............................................................................................................................................................2
LỜI NÓI ĐẦU......................................................................................................................................................4
Chương 1: Giới thiệu................................................................................................................................5
1.1.1 Giới thiệu Weka...........................................................................................................................5
1.1.2 Giao diện Weka Explorer.............................................................................................................5
1.1.2.1 Xây dựng dữ liệu cho Weka.........................................................................................................5
1.1.2.2 Tiền xử lý dữ liệu.........................................................................................................................6
1.1.2.3 Các bộ phân lớp............................................................................................................................6
1.1.2.4 Các bộ phân cụm (Clustering)......................................................................................................7
1.1.2.5 Luật kết hợp (Association Rules).................................................................................................8
1.1.2.6 Lựa chọn thuộc tính (Attribute selection)....................................................................................8
1.1.2.7 Hiển thị dữ liệu.............................................................................................................................8
1.1.3 Cách sử dụng Weka......................................................................................................................9
Chương 2: Giới thiệu về cây quyết định......................................................................................11
2.1 Mô hình cây quyết định....................................................................................................................11
2.2 Chiến lược cơ bản để xây dựng cây quyết định.................................................................................12
2.3 Một số thuật toán................................................................................................................................14
2.3.1 Thuật Toán CLS................................................................................................................................14
2.3.2 Thuật Toán ID3.................................................................................................................................17
Chương 3: Chức năng phân lớp sử dụng trong Weka.........................................................25
3.1 Phân lớp dữ liệu trong Weka..............................................................................................................25
3.2 Xây dựng tập dữ liệu cho Weka.........................................................................................................28
3.3 Ứng dụng phân lớp trong Weka.........................................................................................................28
3.3.1 Dữ liệu đầu vào..............................................................................................................................29
3.3.2 Phân lớp dữ liệu bằng Weka...........................................................................................................30
3.3.3 Nhận xét.........................................................................................................................................35
Chương 4: Kết luận.................................................................................................................................36

2
lOMoARcPSD|10258662

LỜI NÓI ĐẦU

Trí tuệ nhân tạo (Artificial Intelligence - AI) đã trở thành một lĩnh vực quan trọng và hứa hẹn
trong thế kỷ 21, đem lại những tiến bộ đáng kể trong nhiều lĩnh vực, từ dự đoán dữ liệu đến
tự động hóa các nhiệm vụ phức tạp. Một phần quan trọng của trí tuệ nhân tạo là khả năng xử
lý và phân tích dữ liệu, và trong bối cảnh này, nghiên cứu về Weka và phương pháp phân lớp
dựa trên Weka, đặc biệt là sử dụng cây quyết định, đang trở nên ngày càng quan trọng.
Weka, một môi trường mã nguồn mở phát triển bởi Đại học Waikato ở New Zealand, đã trở
thành một công cụ mạnh mẽ trong việc phân tích và khai phá dữ liệu. Nó cung cấp một loạt
các thuật toán học máy và công cụ cho việc tiền xử lý dữ liệu, huấn luyện mô hình, và đánh
giá hiệu suất mô hình. Trong báo cáo này, chúng tôi sẽ tập trung vào nghiên cứu Weka và tập
trung vào việc sử dụng cây quyết định để phân lớp dữ liệu.
Cây quyết định là một phương pháp phân lớp dựa trên quy tắc quyết định, mô phỏng quá
trình ra quyết định dựa trên dữ liệu đào tạo. Chúng cung cấp sự hiểu rõ và giải thích dễ hiểu
cho quyết định của mô hình, điều này có ý nghĩa quan trọng trong việc áp dụng trí tuệ nhân
tạo vào thực tế.
Chúng em sẽ bắt đầu báo cáo bằng việc giới thiệu về Weka, sau đó trình bày về cây quyết
định và phương pháp phân lớp dựa trên chúng. Bài báo cáo này sẽ giúp bạn hiểu rõ hơn về
sức mạnh của Weka trong việc xử lý dữ liệu và cách sử dụng cây quyết định để phân lớp dữ
liệu một cách hiệu quả.

3
lOMoARcPSD|10258662

Chương 1: Giới thiệu


1.1 Giới thiệu về phần mềm mã nguồn mở Weka
1.1.1 Giới thiệu Weka
Khai thác dữ liệu không phải là chỉ đơn thuần là lĩnh vực của các công ty lớn và phần
mềm đắt tiền. Trong thực tế, có một phần của phần mềm mà hầu như tất cả những điều
tương tự như những tính năng đắt tiền của phần mềm - phần mềm được gọi là WEKA .
WEKA là sản phẩm của Đại học Waikato (New Zealand) và lần đầu tiên được thực hiện
vào năm 1997. Nó sử dụng bản quyền GNU General Public License (GPL). Phần mềm
này được viết bằng ngôn ngữ Java và có một giao diện để tương tác với các tập tin dữ
liệu và xuất ra các kết quả trực quan (như là bảng và các biểu đồ). Nó cũng có một API
thông dụng, vì vậy bạn có thể nhúng WEKA, giống như bất kỳ thư viện khác, trong các
ứng dụng của riêng bạn để những thứ như nhiệm vụ khai thác dữ liệu phía máy chủ tự
động.

Weka là một tập hợp các thuật toán máy học tập cho các nhiệm vụ khai thác dữ liệu.
Các thuật toán có thể được áp dụng trực tiếp vào dữ liệu hoặc gọi từ mã Java của riêng
bạn. Weka chứa các công cụ cho:

- Tiền xử lý dữ liệu (Pre-processing on data)


- Phân lớp (Classification)
- Hồi quy (Regression)
- Gom nhóm (Clustering)
- Luật kết hợp (Association Rules)
- Trực quan hóa (Visualization).

Nó cũng rất phù hợp cho việc phát triển các chương trình máy học máy mới.

Website của phần mềm Weka: http://www.cs.waikato.ac.nz/~ml/weka/index.html

1.1.2 Giao diện Weka Explorer


Cách dễ nhất để sử dụng Weka là thông qua một giao diện người dùng đồ họa được
gọi là Explorer. Điều này cho phép truy cập đến tất cả các chức năng bằng cách sử dụng
menu và form.

1.1.2.1 Xây dựng dữ liệu cho Weka


Dữ liệu có thể được nhập vào từ một tập tin có khuôn dạng: ARFF, CVS, hoặc từ
một cơ sở dữ liệu thông qua JDBC. Phương pháp ưa tiên của Weka để tải dữ liệu theo
định dạng tập tin ARFF (File Format Attribute-Relation File Format), tập tin này có thể
4
lOMoARcPSD|10258662

xác định các loại dữ liệu được nạp, sau đó cung cấp các dữ liệu chính nó. Trong tập tin,
bạn xác định mỗi cột và mỗi cột có chứa những gì. Trong trường hợp của mô hình hồi
quy, bạn bị giới hạn một cột NUMERIC hoặc một cột DATE . Cuối cùng, bạn cung cấp

mỗi dòng dữ liệu trong một định dạng phân cách bằng dấu phẩy.

Ví dụ: định dạng của tập dữ liệu

1.1.2.2 Tiền xử lý dữ liệu


Một số công cụ tiền xử lý dữ liệu của Weka được gọi là filters:

- Rời rạc hóa (Discretization): Một số kỹ thuật như khai thác luật kết hợp có thể
được thực hiện trên dữ liệu phân lớp. Điều này đòi hỏi phải thực hiện rời rạc
trên các thuộc tính số hoặc liên tục.
- Chuẩn hóa (Normalization):
- Lấy mẫu (Re-sampling)
- Lựa chọn thuộc tính (Attribute selection)
- Chuyển đổi (Transforming) và kết hợp (Combining) các thuộc tính
- …

1.1.2.3 Các bộ phân lớp


Các bộ phân lớp (Classifiers) của Weka tương ứng với các mô hình dự đoán các đại
lượng kiểu định danh (phân lớp) hoặc các đạ lượng kiểu số (hồi quy/dự đoán)

Một số kỹ thuật phân lớp được hỗ trợ bởi Weka:

- Phân lớp Naive Bayes và mạng Bayesian (Naïve Bayesclassifier and Bayesian
networks)
- Cây quyết định (Decision trees)
- Phân lớp dựa trên cá thể cần được phân lớp (Instance-based Classifiers)
- Máy phân lớp sử dụng vectơ hỗ trợ (Support Vector Machines)
- Mạng Nơ-ron (Neural networks)
5
lOMoARcPSD|10258662

- Lựa chọn các tùy chọn cho việc kiểm tra:


- Use trainning set: Bộ phân lớp học được sẽ được đánh giá trên tập học
- Supplied test set: Sử dụng một tập dữ liệu khác (với tập học) để cho việc đánh
giá.
- Cross validation: Tập dữ liệu sẽ được chia đều thành k tập (folds) có kích thước
xấp xỉ nhau và bộ phân lớp học được sẽ được đánh giá bởi phương pháp cross-
validation.
- Percentage split: Chỉ định tỷ lệ phân chia tập dữ liệu đối với việc đánh giá.
- Output model: Hiển thị bộ phân lớp học được
- Output per-class stats: hiển thị các thông tin thống kê về percision/recall đối với
mỗi lớp
- Output confusion matrix: hiển thị thông tin về ma trận lỗi phân lớp (confusion
matrix) đối với phân lớp học được
- Store predictions for visualization: các dự đoán của bộ phân lớp được lưu lại
trong bộ nhớ, để có thể được hiển thị sau đó
- Output predictions: hiển thị chi tiết các dự đoán đối với tập kiểm tra
- Cost-sensitive evaluation: các lỗi (của bộ phân lớp) được xác định dựa trên ma
trận chi phí (cost matrix) chỉ định
- Random seed for Xval / % Split: chỉ dịnh giá trị random seed được sử dụng cho
quá trình lựa chọn ngẫu nhiên các ví dụ cho tập kiểm tra.

Result list: cung câp một số tính năng hữu ích:

- Save model: lưu lại mô hình tương ứng với bộ phân lớp học được vào trong một
tập tin nhị phân
- Load model: đọc lại một mô hình đã được học trước đó từ một tập nhị phân
- Re-evaluate model on current test set: đánh giá một mô hình (bộ phân lớp) học
được trước đó đối với tập kiểm ta (test set) hiện tại
- Visualize classifier errors: hiển thị cửa sổ biểu đồ thể hiện các kết quả của việc
phân lớp

1.1.2.4 Các bộ phân cụm (Clustering)


Các bộ phân cụm (Cluster Builders) của WEKA tương ứng với các mô hình tìm các
nhóm của các ví dụ tương tự dối với một tập dữ liệu. Các kỹ thuật phân cụm được Weka
hỗ trợ như: Expectation maximization (EM), K-Means, … Các bộ phân cụm có thể được
hiển thị kết quả và so sánh với các cụm (lớp) thực tế.

Lựa chọn chế độ phân cụm (cluster mode):

- Use tranning set: các cụm học được sẽ được kiểm tra đối với tập học
- Supplied test set: sử dụng một tập dữ liệu khác để kiểm tra các cụm học được

6
lOMoARcPSD|10258662

- Percentage split: chỉ định tỷ lệ phân chia tập dữ liệu ban ddầu cho việc xây dựng
tập kiểm tra
- Classes to clusters evaluation: so sánh độ chính xác của các cụm học được đối
với các lớp được chỉ định

Store clusters for visualization: Lưu lại các bộ phân lớp trong bộ nhớ, để có thể hiển
thị sau đó

Ignore attributes: Lựa chọn các thuộc tính sẽ không tham gia vào quá trình học các cụm

1.1.2.5 Luật kết hợp (Association Rules)


Để lựa chọn một mô hình (giải thuật) phát hiện luật kết hợp

Associator output: hiển thị các thông tin quan trọng:

- Run information: các tùy chọn đối với mô hình phát hiện luật kết hợp, tên của
tập dữ liệu, số lượng các ví dụ, các thuộc tính
- Associator model (full trainning set): biểu diễn (dạng text) của tập các luật kết
hợp được phát hiện
o Độ hỗ trợ tối thiểu (mininum support)
o Độ tin cậy tối thiểu (minimum confidence)
o Kích thước của các tập mục thường xuyên (large/frequent itemsets)
o Liệt kê các luật kết hợp tìm được

1.1.2.6 Lựa chọn thuộc tính (Attribute selection)


Để xác định những thuộc tính nào là quạn trọng nhất

Trong Weka, một phương pháp lựa chọn thuộc tính bao gồm 2 phần:

- Attribute Evaluator: để xác định một phương pháp đsanh giá mức độ phù hợp
của các thuộc tính

Ví dụ: correlation-based, wrapper, information gain, chisquared,…

- Search Method: để xác định một phương pháp (thứ tự) xét các thuộc
tính Ví dụ: best-first, random, exhaustive, ranking, …

1.1.2.7 Hiển thị dữ liệu


- Hiển thị dữ liệu rất cần thiết trong thực tế: giúp để xác định mức đọ khó khăn
của bài toán học
- Weka có thể hiển thị: Mỗi thuộc tính riêng lẻ (1-D visualization), mỗt cặp thuộc
tính (2-D visualization)
- Các giá trị (các nhãn) lớp khác nhau sẽ được hiển thị bằng các màu khác nhau

7
lOMoARcPSD|10258662

- Thanh trượt Jitter hỗ trợ việc hiển thị rõ ràng hơn, khi có quá nhiều ví dụ (điểm)
tập xung quanh một vị trí trên biểu đồ
- Tính năng phóng to/thu nhỏ ( bằng cách tăng/giảm giá trị của Plotsize và
Pointsize)

1.1.3 Cách sử dụng Weka


Weka có 3 giao điện đồ họa để sử dụng: Explorer, Experimenter, KnowledgeFlow.

Cách dễ nhất để sử dụng Weka là thông qua một giao diện người dùng đồ họa
được gọi là Explorer. Điều này cho phép truy cập đến tất cả các chức năng bằng cách sử
dụng menu và form. Ví dụ, bạn có thể nhanh chóng đọc trong một tập dữ liệu từ một tập
tin ARFF (hoặc spreadsheet) và xây dựng một cây quyết định từ nó. Nhưng học cây
quyết định chỉ là khởi đầu: nhiều thuật toán khác để khám phá. Giao diện Explorer sẽ
giúp bạn làm việc đó.Nó hướng dẫn bạn bằng cách đưa ra sự lựa chọn menu, bằng cách
buộc bạn phải làm việc trong một trật tự thích hợp các lựa chọn cho đến khi chúng được
áp dụng và bằng cách điền vào các form. Công cụ tool-tips hiển thị cửa sổ mô tả khi con
trỏ chuột đi qua các mục trên màn hình để giải thích những gì họ làm. Giá trị mặc định
hợp lý đảm bảo rằng bạncó thể nhận được kết quả mà chỉ cần công sức bỏ ra nhỏ nhất,
nhưng bạn sẽ phải suy nghĩ về những gì bạn đang làm để hiểu kết quả có ý nghĩa gì.

Giao diện Knowledge Flow cho phép bạn thiết kế cấu hình cho trực tiếp xử lý dữ
liệu. Một bất lợi cơ bản của giao diện Explorer là nó nắm giữ tất cả mọi thứ trong bộ nhớ
chính khi bạn mở một tập dữ liệu, nó ngay lập tức tải tất cả lên bộ nhớ. Điều này có nghĩa
rằng Explorer chỉ có thể được áp dụng cho các vấn đề kích thước nhỏ đến trung bình.
Tuy nhiên, Weka chứa một số thuật toán gia tăng có thể được sử dụng để xử lý các bộ dữ
liệu rất lớn. Giao diện Knowledge Flow cho phép bạn kéo hộp thoại về các thuật toán học
và nguồn dữ liệu quanh màn hình và kết chúng lại với nhau thành cấu hình bạn mong

8
lOMoARcPSD|10258662

muốn. Nó cho phép bạn chỉ định một dòng dữ liệu bằng cách kết nối các thành phần đại
diện cho nguồn dữ liệu, công cụ tiền xử lý, các thuật toán học, phương pháp đánh giá, và
mô-đun trực quan. Nếu các bộ lọc và các thuật toán học có khả năng học tập gia tăng, dữ
liệu sẽ được nạp và xử lý từng bước.

Giao diện thứ ba của Weka là Experimenter, giao diện này được thiết kế để giúp
bạn trả lời cơ bản câu hỏi thực tế khi áp dụng các kỹ thuật phân lớp và hồi quy: phương
pháp và các giá trị tham số nào làm việc tốt nhất cho các vấn đề nhất định? Thường không
có cách nào để trả lời câu hỏi này một độ ưu tiên, và một lý do chúng tôi phát triển phần
mềm là để cung cấp một môi trường cho phép Weka người sử dụng để so sánh một loạt
các kỹ thuật học. Điều này có thể được thực hiện tương tác bằng cách sử dụng giao diện
Explorer. Tuy nhiên, giao diện Experimenter cho phép bạn tự động hóa quá trình bằng
cách làm cho nó dễ dàng để chạy phân lớp và các bộ lọc với các cài đặt tham số khác nhau
trên một bộ dữ liệu, thu thập số liệu thống kê hiệu suất, và để thực hiện các kiểm tra quan
trọng. Người dùng cao cấp có thể sử dụng Experimenter để phân phối tải các phép tính
toán trên nhiều máy tính bằng cách sử dụng Java để gọi phương thức từ xa (Remote
Method Invocation - RMI). Bằng cách này, bạn có thể thiết lập Experimenter thống kê quy
mô lớn và để chúng chạy.

Đằng sau những giao diện tương tác nằm các chức năng cơ bản của Weka, Weka có
thể được truy cập ở dạng thô bằng cách nhập vào các lệnh văn bản, cho phép truy cập cho
tất cả mọi ngườicác tính năng của hệ thống. Khi bạn mở ứng dụng Weka, bạn phải lựa
chọn trong số bốn giao diện người dùng khác nhau: Explorer, Knowledge Flow,
Experimenter, và giao diện dòng lệnh (Command Line Interface - CLI). Hầu hết mọi người
ban đầu chọn Explorer để đơn giản.

9
lOMoARcPSD|10258662

Chương 2: Giới thiệu về cây quyết định


2.1 Mô hình cây quyết định
Cây quyết định (decision tree) là một trong những hình thức mô tả dữ liệu trực quan nhất,
dễ hiểu nhất đối với người dùng. Cấu trúc của một cây quyết định bao gồm các nút và các
nhánh. Nút dưới cùng được gọi là nút lá, trong mô hình phân lớp dữ liệu chính là các giá
trị của các nhãn lớp (gọi tắt là nhãn). Các nút khác nút lá được gọi là các nút con, đây
còn là các thuộc tính của tập dữ liệu, hiển nhiên các thuộc tính này phải khác thuộc tính
phân lớp. Mỗi một nhánh của cây xuất phát từ một nút p nào đó ứng với một phép so
sánh dựa trên miền giá trị của nút đó. Nút đầu tiên được gọi là nút gốc của cây. Xem
xét một ví dụ về một cây quyết định như sau[1]:

Từ bảng dữ liệu trên, ta xây dựng được cây quyết định như sau:

10
lOMoARcPSD|10258662

Cây quyết định của ví dụ trên có thể được giải thích như sau: các nút lá chứa các giá trị
của thuộc tính phân lớp (thuộc tính “Play”). Các nút con tương ứng với các thuộc tính
khác thuộc tính phân lớp; nút gốc cũng được xem như một nút con đặc biệt, ở đây chính
là thuộc tính “Outlook”. Các nhánh của cây từ một nút bất kỳ tương đương một phép
so sánh có thể là so sánh bằng, so sánh khác, lớn hơn nhỏ hơn… nhưng kết quả các phép
so sánh này bắt buộc phải thể hiện một giá trị logic (Đúng hoặc Sai) dựa trên một giá trị
nào đó của thuộc tính của nút. Lưu ý cây quyết định trên không có sự tham gia của thuộc
tính “thu nhập” trong thành phần cây, các thuộc tính như vậy được gọi chung là các
thuộc tính dư thừa bởi vì các thuộc tính này không ảnh hưởng đến quá trình xây dựng
mô hình của cây.

Các thuộc tính tham gia vào quá trình phân lớp thông thường có các giá trị liên tục hay
còn gọi là kiểu số (ordered or numeric values) hoặc kiểu rời rạc hay còn gọi là kiểu dữ
liệu phân loại (unordered or category values). Ví dụ kiểu dữ liệu lương biểu diễn bằng số
thực là kiểu dữ liệu liên tục, kiểu dữ liệu giới tính là kiểu dữ liệu rời rạc (có thể rời rạc
hóa thuộc tính giới tính một cách dễ dàng).

2.2 Chiến lược cơ bản để xây dựng cây quyết định


 Bắt đầu từ nút đơn biểu diễn tất cả các mẫu
 Nếu các mẫu thuộc về cùng một lớp, nút trở thành nút lá và được gán nhãn
bằng lớp đó
 Ngược lại, dùng độ đo thuộc tính để chọn thuộc tính sẽ phân tách tốt nhất các
mẫu vào các lớp
11
lOMoARcPSD|10258662

 Một nhánh đƣợc tạo cho từng giá trị của thuộc tính được chọn và các mẫu
được phân hoạch theo
 Dùng đệ quy cùng một quá trình để tạo cây quyết định
 Tiến trình kết thúc chỉ khi bất kỳ điều kiện nào sau đây là đúng
- Tất cả các mẫu cho một nút cho trƣớc đều thuộc về cùng một lớp.
- Không còn thuộc tính nào mà mẫu có thể dựa vào để phân hoạch xa
hơn.
- Không còn mẫu nào cho nhánh test_attribute = ai

Tuy nhiên, nếu không chọn được thuộc tính phân lớp hợp lý tại mỗi nút, ta sẽ tạo
ca cây rất phức tạp, ví dụ như cây dưới đây:

Như vậy, vấn đề đặt ra là phải chọn được thuộc tính phân lớp tốt nhất. Phần tiếp theo
sẽ giới thiệu các tiêu chuẩn, dựa vào các tiêu chuẩn này, ta sẽ chọn ra thuộc tính phân
lớp tốt nhất tại mỗi nút.

12
lOMoARcPSD|10258662

2.3 Một số thuật toán


Với tiêu chí xây dựng cây quyết định ngày càng đơn giản, cho độ chính xác phân lớp cao,
chi phí thấp, có khả năng mở rộng,… thì có rất nhiều tác giả đã cho ra đời các thuật toán
ngày càng tối ưu hơn. Một số thuật toán tiêu biểu sau:
Algorithms References
CLS(Concept learning System) C. I. Hovland và E. B. Hunt
CART(Classification And Regression Tree) Breiman et al.(1984)
ID3(Interactive Dichotomizer 3) Quinlan(1986)
C4.5 Quinlan(1993)
CHAID (CHi-squared Automatic Interaction Detecor) Kass(1980)
QUEST LohandShih(1997)
CAL5 Muller and Wysotzki(1994)
FACT Loh and Vanichsetakul(1988)
LMDT Brodley and Utgoff(1995)
T1 Holte(1993)
PUBLIC Rastogi and Shim(2000)
MARS Friedman(1991)
SLIQ (Supervised Learning in Quest) Mehta(1996)
SPRINT(A Scalable Parallel Classifier for Shafer, Agrawal, Mehta
DataMining)

…. ….

Trong phạm vi đồ án môn học này chúng tôi xin trình bày cụ thể 4 thuật toán gồm thuật
toán CLS, ID3, C4.5, SPRINT.

2.3.1 Thuật Toán CLS


Thuật toán này được Hovland và Hint giới thiệu trong Concept learning System (CLS)
vào những năm 50 của thế kỷ 20. Sau đó gọi tắt là thuật toán CLS. Thuật toán CLS
được thiết kế theo chiến lược chia để trị từ trên xuống. Nó gồm các bước sau [2]:

13
lOMoARcPSD|10258662

1. Tạo một nút T, nút này gồm tất cả các mẫu của tập huấn luyện.
2. Nếu tất cả các mẫu trong T thuộc cùng một lớp và có thuộc tính quyết định
mang giá trị :
 “yes” thì gán nhãn cho nút T là "yes" và dừng lại. T lúc này là nút lá.
 "no” thì gán nhãn cho nút T là "no" và dừng lại. T lúc này là nút lá.
3. Trường hợp ngược lại các mẫu của tập huấn luyện thuộc cả hai lớp "yes" và
"no" thì:
 Chọn một thuộc tính X trong tập thuộc tính của tập mẫu dữ liệu, X có các
giá trị v1, v2, …vn.
 Chia tập mẫu trong T thành các tập con T1, T2,….,Tn. chia theo giá trị của
X.
 Tạo n nút con Ti (i=1,2…n) với nút cha là nút T.
 Tạo các nhánh nối từ nút T đến các nút Ti (i=1,2…n) là các thuộc tính của X.
4. Thực hiện lặp cho các nút con Ti(i =1,2..n) và quay lại bước 2.

Ví dụ 3.1: Cho tập huấn luyện gồm 14 mẫu, dựa vào thời tiết để xác định người đó có đi
chơi Tennis hay không?

Ngày Quang Cảnh Nhiệt Độ ẩm Gió Chơi


độ Tennis
D1 Nắng Nóng Cao Nhẹ Không
D2 Nắng Nóng Cao Mạnh Không
D3 Âm u Nóng Cao Nhẹ Có
D4 Mưa Ấm áp Cao Nhẹ Có
D5 Mưa Mát TB Nhẹ Có
D6 Mưa Mát TB Mạnh Không
D7 Âm u Mát TB Mạnh Có
D8 Nắng Ấm áp Cao Nhẹ Không
D9 Nắng Mát TB Nhẹ Có
D10 Mưa Ấm áp TB Nhẹ Có
D11 Nắng Ấm áp TB Mạnh Có
D12 Âm u Ấm áp Cao Mạnh Có
D13 Âm u Nóng TB Nhẹ Có
D14 Mưa Ấm áp Cao Mạnh Không

Theo các bước của thuật toán ta có cây quyết định như sau:

14
lOMoARcPSD|10258662

Quang

Nắn Âm Mư

T1[D1, D2, D8, T2[D3, D7, D12, T3[D4, D5,


Nhiệt D13] G

Má Ấm Nón Nh
[D [D8, [D1,
Độ C
C khô
T Ca

C khô

Ta nhận thấy trong bước 3 của thuật toán, thuộc tính được chọn để triển khai cây là tuỳ ý.
Nếu ta chọn thuộc tính “Độ ẩm” làm thuộc tính để triển khai T1 thì ta có 1 cây khác:

Quang

Nan Am MU

T1[D1, D2, D8, D9, T2[D3, D7, D12, T3[D4, D5, D6,
D13]
Oo G

T Ca Nh M

C kha
C
15
lOMoARcPSD|10258662

Do vậy cùng với một tập mẫu dữ liệu huấn luyện nếu áp dụng thuật toán CLS với thứ tự
chọn thuộc tính triển khai cây khác nhau, sẽ cho ra các cây có hình dạng khác nhau. Việc
lựa chọn thuộc tính sẽ ảnh hưởng tới độ rộng, độ sâu, độ phức tạp của cây. Vì vậy một
câu hỏi đặt ra là thứ tự thuộc tính nào được chọn để triển khai cây sẽ là tốt nhất. Vấn đề
này sẽ được giải quyết trong thuật toán ID3 dưới đây.

2.3.2 Thuật Toán ID3


Thuật toán ID3 được phát biểu bởi tác giả Quinlan (trường đại học Syney, Australia) và
được công bố vào cuối thập niên 70 của thế kỷ 20. Sau đó, thuật toán này được giới thiệu
và trình bày trong mục Induction on decision trees, machine learning năm 1986. ID3
được xem như là một cải tiến của CLS với khả năng lựa chọn thuộc tính tốt nhất để tiếp
tục triển khai cây tại mỗi bước. ID3 xây dựng cây quyết định từ trên- xuống (top - down).
ID3 sử dụng độ đo Information Gain (trình bày ở 2.1.1.1)để đo tính hiệu quả của các
thuộc tính phân lớp. Trong quá trình xây dựng cây quyết định theo thuật toán ID3 tại mỗi
bước phát triển cây, thuộc tính được chọn để triển khai là thuộc tính có giá trị Gain lớn
nhất. Hàm xây dựng cây quyết định trong thuật toán ID3 [2]
Function induce_tree(tập_ví_dụ, tập_thuộc_tính)
begin
if mọi ví dụ trong tập_ví_dụ đều nằm trong cùng một lớp then
return một nút lá được gán nhãn bởi lớp đó

else if tập_thuộc_tính là rỗng then


return nút lá được gán nhãn bởi tuyển của tất cả các lớp trong tập_ví_dụ
else begin
chọn một thuộc tính P, lấy nó làm gốc cho cây hiện tại;
xóa P ra khỏi tập_thuộc_tính;
với mỗi giá trị V của P
begin
tạo một nhánh của cây gán nhãn V;
Đặt vào phân_vùng các ví dụ trong tập_ví_dụ có giá trị
V
V
tại thuộc tính
P; Gọi induce_tree(phân_vùng , tập_thuộc_tính), gắn kết quả
V
vào nhánh V
end
end
end
lOMoARcPSD|10258662

Xét ví dụ 3.1 cho thuật toán ID3:


- Gọi tập huấn luyện là S, số mẫu thuộc lớp Có ký hiệu là (+) và số mẫu thuộc lớp
Không ký hiệu là (-), ta có S[9+,5-] tức tập huấn luyện S có 14 mẫu trong đó có 9
mẫu thuộc lớp Có và 5 mẫu thuộc lớp Không.
- Để xác định thuộc tính phân lớp ta cần tính Information Gain cho từng thuộc tính
của mẫu huấn luyện:
o Thuộc tính Quang Cảnh
Value(QC)={Nắng, Mưa, Âm
u}
Gọi SNắng là tập các mẫu có QC=Nắng ta có
SNắng=[2+,3-] Tương tự ta có S Mưa=[3+,2-], SÂm
=[4+,0-]
u
ISvI
Gain(S, QC) = Entropy(S) − L ( ) Entropy(S ) = Entropy(S) −
V
(SN ) VEValue QC I SI
4 Entropy(S ) − 5 Entropy(S ) = 0.94 − 5 × 0.971 −
− 5 Entropy Âm u Mưa
14 ắng 14 14 14
4 × 0 − 5 × 0.971 ≈ 0.246
14 14
Tư tượng đối với các thuộc tính Nhiệt độ, Độ ẩm, Gió ta có Gain tương ứng như sau:
- Gain(S,ND)= 0.029

- Gain(S,DA)= 0.151
- Gain(S,G)= 0.048
-+Chọn Quang cảnh làm thuộc tính phân lớp vì có Gain lớn nhất
- Vẽ cây quyết định:
lOMoARcPSD|10258662

Quang Cảnh

Nang Am Mưa
u

Do Quang cảnh=Nắng và Quang cảnh=Mưa chưa xác định được thuộc tính phân lớp
nên ta chia tập huấn liệu thành 2 bảng như hình trên và tiếp tục tìm thuộc tính phân lớp
cho 2 bảng mẫu huấn luyện. Kết quả cuối cùng ta có cây quyết định sau:

18
lOMoARcPSD|10258662

Quang Cảnh

Nang Am Mưa
u

[D1, D2, D8, D9, [D3, D7, D12, [D4, D5, D6,
D11] D13] D10
S
S Nang[2+,3-] S Am u[4+,0-] [3+
Mưa

Độ am Có Gió
T Cao Nh!
B ;

S S cao [0+,3-
[2+,0-] ] S Nh!;
TB [3+,0-]
kh6n
Có Có
Từ cây quyết định trên tạo ra các luật:
– R1: IF QC=Âm u THEN Chơi Tennis=Có.
– R2: IF QC=Nắng AND Độ ẩm=TB THEN Chơi Tennis=Có.
– R3: IF QC=Nắng AND Độ ẩm=Cao THEN Chơi Tennis=Không.
– R4: IF QC=Mưa AND Gió=Nhẹ THEN Chơi Tennis=Có
– R5: IF QC=Mưa AND Gió=Mạnh THEN Chơi Tennis=Không
Nhận xét: Với việc tính toán giá trị Gain để lựa chọn thuộc tính tối ưu cho việc triển
khai cây, thuật toán ID3 được xem là một cải tiến của thuật toán CLS. Tuy nhiên thuật
toán ID3 còn các vấn đề chưa được giải quyết như sau:
o Vấn đề overfitting (sẽ trình bày kỹ ở mục 4)
o Độ đo Information Gain chưa thật sự tốt vì còn thiên về các thuộc tính có nhiều
giá trị.
o Xử lý các thuộc tính có kiểu giá trị liên tục (ví dụ như kiểu số thực)
o Xử lý các bộ học thiếu giá thuộc tính (missing-value attributes)
19
lOMoARcPSD|10258662

o Xử lý các thuộc tính có chi phí (cost) khác nhau

20
lOMoARcPSD|10258662

Chương 3: Chức năng phân lớp sử dụng trong Weka


3.1 Phân lớp dữ liệu trong Weka
Phân lớp (còn được gọi là cây phân lớp hoặc cây quyết định) là một thuật toán
khai thác dữ liệu tạo ra một hướng dẫn từng bước làm thế nào để xác định sản lượng của
một trường hợp dữ liệu mới. Cây nó tạo ra là chính xác rằng: một cây mà mỗi nút trong
cây đại diện cho một vị trí mà một quyết định phải được tạo ra dựa trên dữ liệu đầu vào
và sau đó di chuyển đến nút tiếp theo và tiếp theo cho đến khi tới nút lá cho biết dự đoán
đầu ra.

Ví dụ: Từ dữ liệu thô đầu vào là bảng dữ liệu quyết định đi chơi tennis dựa vào
thời tiết

21
lOMoARcPSD|10258662

Cây phân lớp đơn giản này tìm cách trả lời câu hỏi "Bạn sẽ hiểu cây phân loại
không?" Tại mỗi nút, bạn trả lời các câu hỏi và di chuyển vào chi nhánh đó cho đến khi
tới nút lá, tại đó mà câu trả lời là có hoặc không. Mô hình này có thể được sử dụng cho
bất kỳ trường hợp dữ liệu không rõ, và bạn có thể dự đoán liệu trường hợp dữ liệu không
biết này sẽ học các cây phân loại bằng cách yêu cầu họ chỉ có hai câu hỏi đơn giản. Đó là
dường như lợi thế lớn của một cây phân loại nó không đòi hỏi phải có rất nhiều thông tin
về các dữ liệu để tạo ra một cây mà có thể là rất chính xác và rất nhiều thông tin.

Một trong những khái niệm quan trọng của cây phân loại là khái niệm của việc sử
dụng một "tập huấn luyện" để tạo ra các mô hình. Điều này giúp làm một tập dữ liệu với
giá trị đầu ra được biết và sử dụng dữ liệu này để xây dựng mô hình. Sau đó, bất cứ khi
nào chúng ta có một tập dữ liệu mới, với giá trị đầu ra không rõ, chúng tôi đặt nó thông
qua các mô hình và đưa ra các dữ liệu dự đoán.Tất cả điều này giống như trong mô hình
hồi quy. Tập huấn luyện được chia thành hai phần: khoảng 60-80% của các dữ liệu và đặt
nó vào tập huấn luyện, được sử dụng để tạo ra các mô hình; sau đó, nhận các dữ liệu còn
lại và đặt nó vào một tập kiểm tra, tập này sẽ được sử dụng ngay lập tức sau khi tạo mô
hình để kiểm tra tính chính xác của mô hình vừa được tạo ra.

Tại sao là đây là bước mở rộng quan trọng trong mô hình này? Vấn đề này được
gọi là overfitting: Nếu chúng ta cung cấp các dữ liệu quá nhiều vào mô hình tạo ra, mô
hình sẽ thực sự được tạo ra hoàn hảo, nhưng chỉ dành cho dữ liệu đó thôi. Hãy nhớ rằng:
Chúng ta muốn sử dụng mô hình để dự đoán những điều chưa biết trong tương lai, chúng
ta không muốn mô hình dự đoán những điều chúng ta đã biết. Đây là lý do tại sao chúng
ta tạo ra một tập kiểm tra. Sau khi tạo ra các mô hình, chúng ta kiểm tra để đảm bảo rằng
sự chính xác của mô hình chúng tôi xây dựng không giảm với các thiết lập thử nghiệm.
Điều này đảm bảo rằng mô hình của chúng tôi sẽ dự đoán chính xác giá trị tương lai vô
định. Chúng ta sẽ thấy điều này trong các thao tác sử dụng WEKA.

Điều này sẽ mang đến một một trong những khái niệm quan trọng của cây phân
lớp: khái niệm cắt tỉa (prunning). Prunning liên quan đến việc loại bỏ các nhánh của cây
phân lớp. Tại sao lại muốn loại bỏ thông tin từ cây? Điều này là do các khái niệm về
overfitting. Khi bộ dữ liệu phát triển lớn hơn và số thuộc tính phát triển lớn hơn, chúng ta
có thể tạo ra các cây trở nên ngày càng phức tạp. Về mặt lý thuyết, có thể có một cây với
leaves = (rows * attributes) . Điều đó sẽ không giúp chúng ta ở tất cả các dự đoán chưa
biết trong tương lai, vì nó hoàn toàn phù hợp cho dữ liệu huấn luyện hiện tại. Chúng ta
muốn tạo ra một sự cân bằng. Chúng ta muốn cây của chúng ta đơn giản càng tốt, với
các nút càng ít càng tốt. Nhưng chúng ta cũng muốn nó được là chính xác nhất có thể.

Cuối cùng, việc nâng cao về phân loại trước khi sử dụng WEKA là khẳng định sai
và phủ định sai (false positive và false negative). Về cơ bản, một khẳng định sai là một ví
dụ dữ liệu nơi mà các mô hình chúng ta đã tạo ra dự đoán nó phải là tích cực, nhưng thay
vào đó, giá trị thực tế là tiêu cực. Ngược lại, phủ định sai là một ví dụ dữ liệu mô hình dự
22
lOMoARcPSD|10258662

đoán nó phải được tiêu cực, nhưng giá trị thực tế là tích cực.

Những lỗi này cho thấy có vấn đề trong mô hình của chúng ta, như là mô hình
phân lớp không chính xác một số dữ liệu. Trong khi một số phân lớp không chính xác có
thể được mong đợi, thì việc tạo ra mô hình để xác định tỷ lệ phần trăm chấp nhận được
lỗi là những gì. Ví dụ, nếu các kiểm tra theo dõi nhịp tim ở bệnh viện, rõ ràng, bạn sẽ yêu
cầu một tỷ lệ lỗi rất thấp. Mặt khác, nếu bạn chỉ sử dụng khai thác dữ liệu đơn giản trong
một bài viết về khai thác dữ liệu nào đó, việc chấp nhận được tỷ lệ phần trăm lỗi của bạn
có thể cao hơn nhiều. Để thực hiện việc này thậm chí còn thêm một bước nữa, bạn cần
phải quyết định % phủ định sai, so với khẳng định sai có thể chấp nhận được. Ví dụ một
mô hình thư rác: khẳng định sai (một thực tế e-mail mà được gọi là spam) có lẽ là nguy
hiểm hơn rất nhiều hơn so với một phủ định sai (thư rác nhận được dán nhãn không phải
spam). Trong một ví dụ như thế này, bạn có thể đánh giá một tối thiểu là tỷ lệ 100/1 phủ
định sai trên khẳng định để có thể chấp nhận được.

3.2 Xây dựng tập dữ liệu cho Weka


Dữ liệu có thể được nhập vào từ một tập tin có khuôn dạng: ARFF, CVS, hoặc từ
một cơ sở dữ liệu thông qua JDBC. Phương pháp ưa tiên của Weka để tải dữ liệu theo
định dạng tập tin ARFF (File Format Attribute-Relation File Format), tập tin này có thể
xác định các loại dữ liệu được nạp, sau đó cung cấp các dữ liệu chính nó. Trong tập tin,
bạn xác định mỗi cột và mỗi cột có chứa những gì. Trong trường hợp của mô hình hồi
quy, bạn bị giới hạn một cột NUMERIC hoặc một cột DATE . Cuối cùng, bạn cung cấp
mỗi dòng dữ liệu trong một định dạng phân cách bằng dấu phẩy.

Ví dụ: định dạng của tập dữ liệu

3.3 Ứng dụng phân lớp trong Weka


Sự phát triển của các ứng dụng khai thác dữ liệu chẳng hạn như phân lớp và phân
nhóm đã cho thấy sự cần thiết phải các thuật toán học được áp dụng cho các dữ liệu quy
23
lOMoARcPSD|10258662

mô lớn. Trong phần này trình bày sự so sánh khác nhau kỹ thuật phân lớp bằng cách sử
dụng WEKA. WEKA là một phần mềm mã nguồn mở bao gồm một tập hợp các thuật
toán máy học cho các nhiệm vụ khai thác dữ liệu. Mục đích của phần này là để điều tra
việc thực hiện phân lớp khác nhau hoặc phương pháp phân nhóm cho một tập hợp các dữ
liệu lớn. Các thuật toán hoặc các phương pháp thử nghiệm các thuật toán Bayes Network,
Radial Basis Function, Pruned Tree, Single Conjunctive Rule Learner and Nearest
Neighbors.

3.3.1 Dữ liệu đầu vào


Sử dụng tập dữ liệu của sở thú để phân lớp nhóm động vật. Cơ sở dữ liệu đầu vào
gồm 2 tập tin: zoo.data và zoo.names (Nguồn: http://archive.ics.uci.edu/ml/machine-
learning-databases/zoo/ )

Mô tả dữ liệu:

3.3.1.1 Đây là một cơ sở dữ liệu đơn giản có chứa 17 thuộc tính giá trị Boolean. Thuộc
tính “type” là thuộc tính lớp.
3.3.1.2 Số các trường hợp :101
3.3.1.3 Số các thuộc tính: 18 (animal name, 15 Boolean attributes, 2 numerics)
3.3.1.4 Thông tin thuộc tính: (tên và kiểu dữ liệu)
1. animal name: Unique for each instance
2. hair Boolean
3. feathers Boolean
4. eggs Boolean
5. milk Boolean
6. airborne Boolean
7. aquatic Boolean
8. predator Boolean
9. toothed Boolean
10. backbone Boolean
11. breathes Boolean
12. venomous Boolean
13. fins Boolean
14. legs Numeric (set of values: {0,2,4,5,6,8})
15. tail Boolean
16. domestic Boolean
17. catsize Boolean
18. type Numeric (integer values in range [1,7])
3.3.1.5 Dữ liệu được chia ra làm 7 lớp nhưa sau:

24
lOMoARcPSD|10258662

1 -- (41) aardvark, antelope, bear, boar, buffalo, calf, cavy, cheetah, deer,
dolphin, elephant, fruitbat, giraffe, girl, goat, gorilla, hamster, hare,
leopard, lion, lynx, mink, mole, mongoose, opossum, oryx, platypus, polecat,
pony, porpoise, puma, pussycat, raccoon, reindeer, seal, sealion, squirrel,
vampire, vole, wallaby,wolf
2 -- (20) chicken, crow, dove, duck, flamingo, gull, hawk, kiwi, lark,
ostrich,

3 -- (5) pitviper, seasnake, slowworm, tortoise, tuatara


4 -- (13) bass, carp, catfish, chub, dogfish, haddock, herring, pike,
piranha, seahorse, sole, stingray, tuna
5 -- (4) frog, frog, newt, toad
6 -- (8) flea, gnat, honeybee, housefly, ladybird, moth, termite, wasp
7 -- (10) clam, crab, crayfish, lobster, octopus, scorpion, seawasp, slug,
starfish, worm
Từ hai tập tin zoo.data và zoo.names, ta tạo ra tập tin theo định dạng ARFF để
Weka có thể đọc được.

3.3.2 Phân lớp dữ liệu bằng Weka


3.3.2.1 Tiền xử lý:
3.3.2.1.1 Mở giao diện Explorer

3.3.2.1.2 Mở tập tin zoo.arff vừa mới tạo ra

25
lOMoARcPSD|10258662

3.3.2.1.3 Nhấn Visualize All để xem biểu đồ bộ dữ liệu Zoo

3.3.2.2 Phân lớp bằng Navie Bayes


3.3.2.2.1 Mở tab Classify

26
lOMoARcPSD|10258662

3.3.2.2.2 Chọn thuật toán Naive Bayes trong mục Classifier

3.3.2.2.3 Trong mục Test option, ta dùng Cross-validation Folds 10. Đây là kỹ
thuật chủ yếu được sử dụng trong xây dựng predictive Model. Trong đó
dữ liệu gốc sẽ được chia thành n phần bằng nhau (n-fold), và quá trình
Train/Test Model thực hiện lặp lại n lần. Tại mỗi lần Train/Test Model, 1
phần dữ liệu dùng để Test và (n-1) phần còn lại dùng để Train.
3.3.2.2.4 Chọn thuộc tính phân lớp là (Nom) type
3.3.2.2.5 Nhấn vào Start để tiến hành phân lớp. Kết quả:
3.3.2.2.5.1 Phân được 7 lớp : mammal, bird, reptile, fish, amphibian, insect,
invertebrate
3.3.2.2.5.2 Phân loại chính xác: 95,0495 % các trường hợp
3.3.2.2.5.3 Phân loại không chính xác: 4,9505 % các trường hợp

27
lOMoARcPSD|10258662

=== Summary ===

Correctly Classified Instances 96 95.0495 %


Incorrectly Classified Instances 5 4.9505 %
Kappa statistic 0.9352
Mean absolute error 0.0153
Root mean squared error 0.098
Relative absolute error 6.9784 %
Root relative squared error 29.693 %
Total Number of Instances 101

=== Detailed Accuracy By Class ===

TP Rate FP Rate Precision Recall F-Measure ROC Area Class


0.951 0 1 0.951 0.975 1 mammal
1 0 1 1 1 1 bird
0.4 0 1 0.4 0.571 0.994 reptile
1 0.034 0.813 1 0.897 1 fish
1 0.021 0.667 1 0.8 1 amphibian
1 0 1 1 1 1 insect
1 0 1 1 1 1 invertebrate
0.95 0.005 0.963 0.95 0.947 1 Weighted Avg.

=== Confusion Matrix ===

a b c d e f g <-- classified as
39 0 0 2 0 0 0 | a = mammal
0 20 0 0 0 0 0 | b = bird
0 0 2 1 2 0 0 | c = reptile
0 0 0 13 0 0 0 | d = fish
0 0 0 0 4 0 0 | e = amphibian
0 0 0 0 0 8 0 | f = insect
1 0 0 0 0 0 10 | g = invertebrate

3.3.2.3 Phân lớp bằng J48


3.3.2.3.1 Cùng dữ liệu nhập vào ở trên, trong tab Classify, Chọn thuật toán J48 trong
Classifier.

28
lOMoARcPSD|10258662

3.3.2.3.2 Chọn Cross validation Folds trong mục Test options là 10


3.3.2.3.3 Chọn thuộc tính để phân lớp là type
3.3.2.3.4 Nhấn Start để thực thi phân lớp. Kết quả
3.3.2.3.4.1 Phân được 7 lớp : mammal, bird, reptile, fish, amphibian, insect,
invertebrate
3.3.2.3.4.2 Phân loại chính xác: 92.0792 % các trường hợp
3.3.2.3.4.3 Phân loại không chính xác: 7.9208 % các trường hợp
=== Summary ===

Correctly Classified Instances 93 92.0792 %


Incorrectly Classified Instances 8 7.9208 %
Kappa statistic 0.8955
Mean absolute error 0.0225
Root mean squared error 0.14
Relative absolute error 10.2478 %
Root relative squared error 42.4398 %
Total Number of Instances 101

=== Detailed Accuracy By Class ===

TP Rate FP Rate Precision Recall F-Measure ROC Area Class


1 0 1 1 1 1 mammal
1 0 1 1 1 1 bird
0.6 0.01 0.75 0.6 0.667 0.793 reptile
1 0.011 0.929 1 0.963 0.994 fish
0.75 0 1 0.75 0.857 0.872 amphibian
0.625 0.032 0.625 0.625 0.625 0.92 insect
0.8 0.033 0.727 0.8 0.762 0.986 invertebrate
0.921 0.008 0.922 0.921 0.92 0.976 Weighted Avg.

=== Confusion Matrix ===

a b c d e f g <-- classified as

29
lOMoARcPSD|10258662

41 0 0 0 0 0 0 | a = mammal
0 20 0 0 0 0 0 | b = bird
0 0 3 1 0 1 0 | c = reptile
0 0 0 13 0 0 0 | d = fish
0 0 1 0 3 0 0 | e = amphibian
0 0 0 0 0 5 3 | f = insect
1 0 0 0 0 2 8 | g = invertebrate

3.3.3 Nhận xét


3.3.3.1 Sau khi phân lớp bằng 2 thuật toán: Naïve Beyes và J48, ta thấy thuật toán
Naïve Bayes thực hiện bài toán phân lớp hiệu quả hơn.
3.3.3.2 Thuật toán J48 cho ra giao diện đồ họa về cây phân lớp, từ đây ta rút ra
được kết
luận về các luật về 7 lớp động vật:

30
lOMoARcPSD|10258662

Chương 4: Kết luận


Cây phân loại là tạo ra một cây với các nhánh, các nút, và lá cho phép chúng ta lấy
điểm dữ liệu không rõ và cho xuống cây, áp dụng các thuộc tính của các điểm dữ liệu cho
cây cho đến khi đạt được một lá và đầu ra của dữ liệu có thể được xác định. Chúng ta đã
học được rằng để tạo ra một mô hình phân loại cây tốt, chúng ta cần phải có một dữ liệu
hiện có với dữ liệu đầu ra rõ, từ đó chúng ta có thể xây dựng mô hình của chúng ta.
Chúng ta cũng thấy rằng chúng ta cần phải phân chia dữ liệu thành hai phần: một tập
huấn luyện, được sử dụng để tạo ra các mô hình và thiết lập một thử nghiệm, được sử
dụng để xác minh rằng mô hình là chính xác và không overfitted.

31

You might also like