Professional Documents
Culture Documents
lOMoARcPSD|10258662
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
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
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
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:
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.
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.
- 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
- …
- 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
- 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
- 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
- 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
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
- 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, …
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)
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
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).
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
…. ….
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.
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?
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ư
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.
- 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
20
lOMoARcPSD|10258662
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.
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.
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,
25
lOMoARcPSD|10258662
26
lOMoARcPSD|10258662
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
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
28
lOMoARcPSD|10258662
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
30
lOMoARcPSD|10258662
31