Tải bản đầy đủ (.pdf) (36 trang)

(Tiểu luận) đề tài xây dựng mô hình phân lớp kết hợp dạng voting dựa trên mô hình phân lớp cơ sở naivebayes, cây quyết định (j48) và k – lân cận để dự đoán trên tập dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.58 MB, 36 trang )

ĐẠI HỌC HUẾ
TRƯỜNG ĐẠI HỌC KINH TẾ
KHOA HỆ THỐNG THÔNG TIN KINH TẾ

ĐỒ ÁN KẾT THÚC HỌC PHẦN
MÔN KHAI PHÁ DỮ LIỆU
Đề tài: Xây dựng mơ hình phân lớp kết hợp dạng Voting dựa trên
mơ hình phân lớp cơ sở Naivebayes, Cây quyết định (J48) và K –
Lân Cận để dự đoán trên tập dữ liệu

Giảng viên hướng dẫn:

TS. NGUYỄN ĐÌNH HOA CƯƠNG

Sinh viên thực hiện:

LÊ CHÁNH NHẪN

Lớp:

K51 TIN HỌC KINH TẾ

Mã sinh viên:

17K4081030

Huế, 06/2022
1

h



2

h


LỜI CẢM ƠN
Em xin chân thành cảm ơn thầy giáo Nguyễn Đình Hoa Cương – giảng viên
phụ trách học phần Khai phá dữ liệu đã hướng dẫn và định hướng cho em cũng như
các bạn trong lớp K53 Tin học kinh tế những cách thực hiện để có một bài báo cáo kết
thúc học phần. Với cá nhân em, từ sự hướng dẫn của thầy, em đã có được những định
hướng về một đề án kết thúc môn học và thực hiện tốt hơn các bước trong quy trình
làm bài báo cáo. Qua đây, em muốn gửi lời cảm ơn đến thầy giáo Nguyễn Đình Hoa
Cương và q thầy cơ trong Khoa Hệ Thống Thơng Tin Quản Lí đã giúp đỡ, hướng
dẫn cho em trong suốt quá trình học tập và thực hiện hoàn thành bài báo cáo.
Do kinh nghiệm làm đồ án, tiểu luận chưa nhiều nên trong quá trình làm bài
khơng tránh khỏi các lỗi sai và thiếu sót, em rất mong được nhận được nhiều hơn sự
hướng dẫn, chỉ bảo từ giảng viên học phần Khai phá dữ liệu - thầy giáo Nguyễn Đình
Hoa Cương cùng quý thầy cô trong khoa. Qua bài báo cáo này, một lần nữa em xin
chân thành gửi lời cảm ơn sâu sắc, lời chúc sức khỏe đến quý thầy cô Khoa Hệ Thống
Thông Tin Quản Lý, chúc thầy cô luôn đạt được nhiều thành tựu và luôn thành công
trong sự nghiệp giảng dạy của mình.

Em xin chân thành cảm ơn !

Lê Chánh Nhẫn

I

h



MỤC LỤC

LỜI CẢM ƠN.............................................................................................................. I
MỤC LỤC................................................................................................................... II
DANH MỤC HÌNH VẼ............................................................................................IV
DANH MỤC BẢNG BIỂU........................................................................................V
DANH MỤC THUẬT NGỮ.....................................................................................VI
CHƯƠNG I: CƠ SỞ LÝ THUYẾT...........................................................................1
1.1 Tổng quan về khai phá dữ liệu.........................................................................1
1.1.1 Khái niệm khai phá dữ liệu........................................................................1
1.1.2 Quá trình phát hiện tri thức trong cơ sở dữ liệu........................................1
1.1.3 Lợi ích của khai phá dữ liệu.......................................................................2
1.1.4 Thách thức của khai phá dữ liệu................................................................3
1.2 Các phương pháp khai phá dữ liệu..................................................................4
1.2.1 Khai phá luật kết hợp..................................................................................4
1.2.2 Phân lớp dữ liệu.......................................................................................... 5
1.2.3 Phân cụm.................................................................................................... 6
1.3 Các mơ hình phân lớp được sử dụng trong tiểu luận.....................................6
1.3.1 Mơ hình Naive Bayes..................................................................................6
1.3.2 Mơ hình cây quyết định (J48).....................................................................7
1.3.3 Mơ hình K – lân cận...................................................................................8
1.3.4 Mơ hình kết hợp: Phương pháp Voting......................................................9
CHƯƠNG II: PHƯƠNG PHÁP NGHIÊN CỨU....................................................10
II

h



2.1 Mô tả dữ liệu....................................................................................................10
2.2 Phương pháp phân chia dữ liệu.....................................................................10
2.2.1 Phương pháp Hold - out...........................................................................10
2.2.2 Phương pháp Cross validation (10 – fold cross validation).....................11
2.2.3 Phân chia dữ liệu......................................................................................11
2.3 Xây dựng mơ hình...........................................................................................12
2.4 Đánh giá mơ hình............................................................................................21
2.4.1 Phép đo Precetion - Recall........................................................................22
2.4.2 Phép đo F1................................................................................................23
2.5 Kết quả thực hành...........................................................................................23
CHƯƠNG III: TỔNG KẾT THỰC HÀNH........................................................- 25 3.1 Kết luận....................................................................................................... - 25 3.2 Hạn chế........................................................................................................ - 25 DANH MỤC TÀI LIỆU THAM KHẢO.................................................................26
KẾT QUẢ KIỂM TRA ĐẠO VĂN..........................................................................28

III

h


DANH MỤC HÌNH VẼ

Hình 1: Minh họa quy trình phát hiện tri thức trong cơ sở dữ liệu (nguồn:
tailieuso.udn.vn)............................................................................................................ 2
Hình 2: Minh họa phân cụm (nguồn: bài giảng phân cụm – TS Nguyễn Đình Hoa
Cương).......................................................................................................................... 6
Hình 3: Minh họa mơ hình Nạve Bayes (nguồn: />Hình 4: Minh họa cây quyết định (J48) (nguồn: viblo.asia).........................................8
Hình 5: Minh họa mơ hình kNN (nguồn: viblo.asia).....................................................9
Hình 6: Quy trình phân chia dữ liệu...........................................................................12
Hình 7:Minh họa cho một sơ đồ vẽ đường ROC.........................................................21
Hình 8: Minh họa phép đo Precetion – Recall............................................................22
Hình 9: Đường ROC của các mơ hình với bộ dữ liệu Diabetes.arff (Nhãn lớp:

tested_negative).......................................................................................................... 24

IV

h


DANH MỤC BẢNG BIỂU

Bảng 1: Các thuộc tính của các bộ dữ liệu.................................................................10
Bảng 2: Kết quả mơ hình với bộ dữ liệu Diabetes.arff................................................23

V

h


DANH MỤC THUẬT NGỮ

Số thứ tự

Từ viết tắt

1

KDD

2
3


ROC
Arff

Khai thác tri thức ( Knowledge discovery in
databases)
Receiver Operating Characteristic
Attribute - Relation File Format

Tên tiếng Anh/ Nghĩa tiếng Việt

Số thứ tự

Từ tiếng Anh

Nghĩa tiếng Việt

1
2
3
4
5
6
7

Decision Tree
k – Nearest Neighbors
Clustering
Lazy learning
Weka
Association Rule Mining

Data Mining

Cây quyết định
k – lân cận
Phân cụm
Lười biếng
Waikato Environment for Knowledge Analysis
Khai phá luật kết hợp
Khai phá dữ liệu

VI

h


CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1.1 Tổng quan về khai phá dữ liệu
1.1.1 Khái niệm khai phá dữ liệu
Khai phá dữ liệu [1] hay Data Mining là một khái niệm ra đời vào những năm
cuối của thập kỷ 80. Nó bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thơng tin
có giá trị tiềm ẩn trong các tập dữ liệu lớn (các kho dữ liệu).
Khai phá dữ liệu là một tập hợp, một hệ thống các phương pháp tính tốn, thuật
tốn được áp dụng cho các cơ sở dữ liệu lớn và phức tạp mục đích loại bỏ các chi tiết
ngẫu nhiên, chi tiết ngoại lệ, khám phá các mẫu, mơ hình, quy luật tiềm ẩn, các thơng
tin có giá trị trong bộ dữ liệu. Khai phá dữ liệu là thành quả công nghệ tiên tiến ngày
nay, là q trình khám phá các kiến thức vơ giá bằng cách phân tích khối lượng lớn dữ
liệu đồng thời lưu trữ chúng ở nhiều cơ sở dữ liệu khác nhau.
1.1.2 Quá trình phát hiện tri thức trong cơ sở dữ liệu
Quá trình phát hiện tri thức (KDD) [2] là q trình tìm ra những thơng tin tiềm
ẩn có giá trị mà trước đó chưa được phát hiện, tìm ra những xu hướng phát triển và

những yếu tố tác động lên chúng.
Quá trình xử lý khai phá dữ liệu bắt đầu bằng cách xác định chính xác vấn đề cần
giải quyết. Sau đó sẽ xác định các dữ liệu liên quan dùng để xây dựng giải pháp. Bước
tiếp theo là thu thập các dữ liệu có liên quan và xử lý chúng thành dạng sao cho giải
thuật khai phá dữ liệu có thể hiểu được. Bước tiếp theo là chọn thuật tốn khai phá dữ
liệu thích hợp và thực hiện việc khai phá dữ liệu để tìm được các mẫu (pattern) có ý
nghĩa dưới dạng biểu diễn tương ứng với các ý nghĩa đó (thường được biểu diễn dưới
dạng các luật xếp loại, cây quyết định, luật sản xuất, biểu thức hồi quy,…).
Quá trình phát hiện tri thức bao gồm các bước:
-

Làm sạch dữ liệu (data cleaning): ở bước này các nhiễu và dữ liệu không nhất
quán sẽ được loại bỏ.

-

Tích hợp dữ liệu (data intergation): dữ liệu từ nhiều nguồn khác nhau có thể
được tổ hợp lại.
1

h


-

Lựa chọn dữ liệu (data selection): những dữ liệu thích hợp với nhiệm vụ phân
tích sẽ được trích rút ra từ cơ sở dữ liệu.

-


Chuyển đổi dữ liệu (data tranform): dữ liệu sau khi được chọn lọc sẽ được
chuyển đổi hay hợp nhất về dạng thích hợp cho việc khai phá.

-

Khai phá dữ liệu (data mining): đây là quá trình cốt lõi, tất yếu trong đó các
phương pháp thơng minh sẽ được áp dụng nhằm trích rút ra các mẫu dữ liệu.

-

Đánh giá mẫu (pattern evaluation): các nhà phân tích dữ liệu sẽ dựa trên một số
độ đo nào đó để xác định lợi ích thực sự, độ quan trọng của các mẫu biểu diễn
tri thức.

-

Biểu diễn tri thức (Knowledge presentation): ở giai đoạn này các kĩ thuật biểu
diễn và hiển thị tri thức sẽ được sử dụng để đưa tri thức đã lấy ra đến người
dùng.

Hình 1: Minh họa quy trình phát hiện tri thức trong cơ sở dữ liệu (nguồn: tailieuso.udn.vn)

1.1.3 Lợi ích của khai phá dữ liệu
Xét về lợi ích trong q trình phân chia dữ liệu:
-

Chọn lọc, loại bỏ tất cả các dữ liệu không liên quan và dữ liệu trùng lớp trong
tập dữ liệu.

-


Xác định các mẫu dữ liệu, dữ liệu có liên quan và dùng các thuật tốn phân
tích, tận dụng dữ liệu để dự báo kết quả đầu ra ví dụ như xu hướng, hành vi tiêu
dùng.

-

Với khai phá dữ liệu, chúng ta có thể phân tích khối lượng lớn dữ liệu trong
thời gian ngắn và sau đó chuyển đổi dữ liệu thành thơng tin, kiến thức có ý
nghĩa.
2

h


Xét về lợi ích sau cùng của khai phá dữ liệu:
-

Hỗ trợ ra quyết định tự động:
Khai phá dữ liệu cho phép các tổ chức liên tục phân tích dữ liệu và tự động hóa
các quyết định thơng thường và quan trọng mà khơng bị trì hỗn bởi yếu tố con
người. Các mơ hình tự động của khai phá dữ liệu có thể thu thập, phân tích và
xử lý dữ liệu một cách độc lập để hợp lý hóa việc ra quyết định và tăng năng
suất hoạt động, giảm thiểu thời gian giúp tăng lợi nhuận, quy trình làm việc,
sản xuất được tăng tốc.

-

Hỗ trợ đưa ra dự báo chính xác:
Khai phá dữ liệu tạo điều kiện lập kế hoạch và cung cấp cho các nhà quản lý dự

báo đáng tin cậy dựa trên các xu hướng trong quá khứ và các điều kiện hiện tại.

-

Hỗ trợ giảm thiểu chi phí:
Khai phá dữ liệu cho phép sử dụng nguồn lực hiệu quả hơn, qua đó giúp các tổ
chức kiểm sốt cấc hoạt động sản xuất, marketing, bán hàng,… và phân bổ
nguồn lực hợp lý thông qua các công cụ phân tích tự động của khai phá dữ liệu
đồng thời phát hiện và ngăn chặn kịp thời các rủi ro, sai sót, từ đó tránh lãng
phí và giảm chi phí hiệu quả.

-

Hỗ trợ khả năng thấu hiểu khách hàng:
Các công ty triển khai các mơ hình khai phá dữ liệu chun biệt để phân tích
dữ liệu khách hàng nhằm khám phá các đặc điểm chính, các điểm khác biệt về
sở thích, thói quen, hành vi,… của mỗi phân khúc khách hàng, xác định nhu
cầu mỗi khách hàng một cách chính xác nhất.

1.1.4 Thách thức của khai phá dữ liệu
Do khối lượng dữ liệu mà mỗi công ty, tổ chức phải thu thập ngày nay cực kì lớn
và phức tạp, đa dạng vô cùng, nhưng lại chứa đựng những thông tin hữu ích đem lại
những giá trị tiềm năng. Vì thế, thách thức trong việc đảm bảo sự hiệu quả trong quá
trình thu thập, xử lý và phân tích dữ liệu cho đến việc ứng dụng, triển khai các kết quả
đầu ra vào các giải pháp, chiến lược thực tế đối với dự án khai phá dữ liệu ngày một
cao hơn.

3

h



Thách thức của Big Data: Các thách thức của Big Data xuất hiện trong mọi lĩnh
vực có nhu cầu thu thập, lưu trữ và phân tích dữ liệu và được đặc trưng bởi 4 tính chất
cũng là 4 thách thức đối với khai phá dữ liệu[3] và một hệ thống khai phá dữ liệu phải
có khả năng đáp ứng các đặc trưng trên thì mới có thể khai thác được các giá trị dữ
liệu.
-

Volume {Citation} (Khối lượng dữ liệu): mô tả thách thức của việc lưu trữ và
xử lý số lượng dữ liệu khổng lồ được thu thập bởi các công ty.

-

Variety (Sự đa dạng dữ liệu): mô tả thách thức bao gồm nhiều loại dữ liệu khác
nhau được thu thập và lưu trữ. Công cụ khai phá dữ liệu đòi hỏi phải được
trang bị, nâng cấp để xử lý đồng thời một loạt các định dạng của dữ liệu.

-

Veracity (Độ chính xác dữ liệu): mơ tả thách thức về mức độ xác thực, độ chính
xác của dữ liệu bởi dữ liệu thu thập đa dạng từ nhiều nguồn khác nhau nên sẽ
có lúc dữ liệu khơng cung cấp thơng tin chính xác, dữ liệu lộn xộn, khơng đầy
đủ. Dữ liệu thu thập được càng nhanh thì càng nhiều lỗi xuất hiện trong bộ dữ
liệu. Thách thức của tính chính xác chính là cân bằng số lượng dữ liệu với chất
lượng của nó nhằm đạt mục đích sau cùng của khai phá dữ liệu.

-

Velocity (Tốc độ xử lý dữ liệu): mô tả thách thức về tốc độ xử lý ngày càng

tăng trong quá trình thu thập, lưu trữ và phân tích dữ liệu. Do khối lượng dữ
liệu lớn và đa dạng nên cần phải quan tâm đến tốc độ xử lý, nếu tốc độ xử lý
chậm và công ty không tìm thấy giá trị từ dữ liệu trong thời gian hợp lý sẽ dẫn
đến gia tăng chi phí, nguồn dữ liệu khai thác cũng không hiệu quả.

1.2 Các phương pháp khai phá dữ liệu
1.2.1 Khai phá luật kết hợp
Khai phá luật kết hợp [4] là tìm ra các mẫu có tần suất cao hoặc rất cao, các mẫu
kết hợp với nhau, liên quan hoặc các cấu trúc tồn tại giữa các tập hợp đối tượng trong
cơ sở dữ liệu các giao dịch, cơ sở dữ liệu quan hệ hoặc các kho chứa thơng tin. Có thể
được hiểu đây là q trình đi tìm tất cả các tập phổ biến từ bên trong dữ liệu.
Luật kết hợp[4] là mối quan hệ giữa các tập thuộc tính trong cơ sở dữ liệu. Luật
kết hợp là phương tiện hữu ích để khám phá các mối liên kết trong dữ liệu.

4

h


Cho một tập T= {t1, t2, …, tn} là tập các giao dịch (transaction) với n là số các giao
dịch có trong T (T⊂I), tập I = {i1, i2,…, im} là một tập gồm m tập mục khác nhau. Ta
có ti ⊂ I. Với X và Y là tập các mục. Luật kết hợp có thể biểu diễn bởi cơng thức sau:
X Y, với X Y, Y I và X Y=

(1)

Một giao dịch T được gọi là chứa X khi và chỉ khi A T.
Độ hỗ trợ (support)[5] của một luật X Y là tỷ lệ phần trăm các giao dịch trong T
mà chứa cả X và Y. Giúp xác định mức độ phổ biến của các giao dịch có chứa tập
mục ( X Y) trong tổng số tất cả các giao dịch. Cơng thức tính độ hỗ trợ (support):

support (XY) = = P(X Y)

(2)

Độ tin cậy (confidence) [5] của luật X Y là tỷ lệ phần trăm các giao dịch trong T
chứa cả X và Y trên tổng số các giao dịch trong T chỉ chứa X. Là đại lượng xác định
khả năng dự đốn của luật. Cơng thức tính độ tin cậy (confidence):
confidence (XY) = = P(X Y | X)

(3)

1.2.2 Phân lớp dữ liệu
Phân lớp (classification) là một trong những hình thức phân tích dữ liệu phổ biến
được dùng để tạo các mơ hình mơ tả các phân lớp dữ liệu quan trọng. Phân lớp còn
được dùng để dự đoán các nhãn phân lớp cho dữ liệu đầu vào tương ứng, giúp ta hiểu
về dữ liệu ở mức bao quát hơn.
Ứng dụng của phân lớp:
-

Phân loại hồ sơ tín dụng là an tồn hay rủi ro

-

Lựa chọn phương thức điều trị A, B, hay C cho bệnh nhân

-

Dự đốn sở thích của người nghe với một thể loại nhạc nhất định

-


Dự đoán hành vi mua hàng của khách hàng

Đặc trưng của phân lớp:
Các mơ hình được xây dựng với mục tiêu hướng tới khả năng dự báo có độ
chính xác cao nhất, hay tin cậy nhất, hoặc nằm trong khoảng chấp nhận được. Chính
vì vậy, dựa trên tập dữ liệu đầu vào người ta rút bớt một phần để làm tập dữ liệu kiểm
thử.
5

h


1.2.3 Phân cụm
Phân cụm [6] là quá trình tập hợp các dữ liệu vào các nhóm hay các lớp mà ở đó
những dữ liệu được xếp cùng nhóm có độ tương tự nhau cao và chúng khác biệt so với
những dữ liệu được xếp vào nhóm (hay lớp) khác. Những khác biệt (dissimilarities)
này được đánh giá dựa trên các giá trị thuộc tính dùng để mơ tả các đối tượng. Thơng
thường, các phép tính khoảng cách được sử dụng để thực hiện phân cụm.
Phân tích cụm (cluster analysis) được ứng dụng rộng rãi trong nhiều lĩnh vực
như: nghiên cứu thị trường, nhận dạng mẫu, phân tích dữ liệu và xử lý ảnh.

Hình 2: Minh họa phân cụm (nguồn: bài giảng phân cụm – TS Nguyễn Đình Hoa Cương)

1.3 Các mơ hình phân lớp được sử dụng trong tiểu luận
1.3.1 Mơ hình Naive Bayes
Trước khi đi đến mơ hình phân lớp Nạve Bayes [7], ta tìm hiểu khái niệm mơ
hình phân lớp, đó là một mơ hình Machine Learning dùng để phân loại
các vật mẫu dựa trên các đặc tính đã xác định. Mơ hình phân lớp Bayes là
một thuật tốn phân lớp được mơ hình hóa dựa trên định lý Bayes trong xác suất thống

kê.
Nguyên lý hoạt động của bộ phân lớp Naïve Bayes:
Cho D là tập dữ liệu huấn luyện cùng với các nhãn lớp tương ứng. Mỗi bộ dữ
liệu trong D được mơ tả bởi n thuộc tính và được diễn đạt dưới dạng vector n chiều X
= (x1, x2, …,xn).
6

h


Giả sử rằng có m nhãn lớp khác nhau gồm C1, C2, ..., Cm. Cho một bộ dữ
liệu X, bộ phân lớp Nạve Bayes sẽ dự đốn bộ dữ liệu X thuộc về phân lớp có xác
suất hậu nghiệm cao nhất.
P (Ci|X) > P (Cj|X) với 1 ≤ j ≤ m, j ≠ i
P (Ci|X) =

(4)

Do P(X) không đổi, nên ta chỉ cần cực đại hóa giá trị P (X| Ci).P (Ci)

Hình 3: Minh họa mơ hình Nạve Bayes (nguồn: />
1.3.2 Mơ hình cây quyết định (J48)
Thuật tốn cây quyết định [8] cho ra kết quả là một tập luật của những dữ liệu
huấn luyện có thuộc tính. Cây quyết định là một cấu trúc luồng dạng cây, là một công
cụ phổ biến trong khai phá và phân lớp dữ liệu. Đặc điểm của cây quyết định có cấu
trúc:
- Root (Gốc): Là nút trên cùng của cây.
- Node trong: Nút trung gian trên một thuộc tính đơn (hình Oval).
- Nhánh: Biểu diễn các kết quả của kiểm tra trên nút.
- Node lá: Biểu diễn lớp hay sự phân phối lớp (hình vng hoặc chữ nhật).

Cây quyết định [9] được sử dụng rất phổ biến bởi một số lí do sau:
-

Việc xây dựng cây quyết định khơng địi hỏi bất cứ kiến thức chuyên ngành
hay thiết lập tham số ban đầu nào cả. Vì vậy, nó phù hợp với viêc khám phá tri
thức.

-

Cây quyết định có thể quản lý dữ liệu có số chiều lớn.
7

h


-

Việc biểu đạt tri thức dưới dạng cây có thể được diễn đạt dễ dàng.

-

Quá trình học và phân lớp (sử dụng) của cây quyết định được thực hiện nhanh

-

Cây quyết định cho ra độ chính xác cao. Tuy nhiên điều này cịn phụ thuộc vào

chóng.
dữ liệu của chúng ta.


Hình 4: Minh họa cây quyết định (J48) (nguồn: viblo.asia)

1.3.3 Mô hình K – lân cận
K – lân cận (k - Nearest Neighbors) [10] là mơ hình có độ giám sát đơn giản nhất
được sử dụng nhiều trong khai phá dữ liệu và học máy. Với ý tưởng thuật toán của mơ
hình này, nó khơng học một điều gì từ tập dữ liệu học (nên k-Nearest Neighbors được
xếp vào loại lazy learning), mọi tính tốn được thực hiện khi nó cần dự đoán nhãn lớp
của dữ liệu mới. Lớp (Nhãn) của một đối tượng dữ liệu mới có thể dự đốn từ các lớp
(nhãn) của các hàng xóm gần nó nhất.

Hình 5: Minh họa mơ hình kNN (nguồn: viblo.asia)

8

h


1.3.4 Mơ hình kết hợp: Phương pháp Voting
Voting là phương pháp xây dựng một mơ hình kết hợp trên nền tảng nhiều mơ
hình phân lớp cơ sở khác nhau. Voting cung cấp cơ chế tổng hợp kết quả bỏ phiếu để
ra quyết định cuối cùng. Voting cung cấp cơ chế tổng hợp kết quả bỏ phiếu để ra quyết
định cuối cùng được gọi là combinationRule.

9

h


CHƯƠNG II: PHƯƠNG PHÁP NGHIÊN CỨU
2.1 Mô tả dữ liệu

Bộ dữ liệu được sử dụng trong bài tiểu luận lần này là bộ dữ liệu
Diabetes{Citation} có gốc Arff được lấy từ trong kho dữ liệu của phần mềm Weka
(Waikato Environment for Knowledge Analysis). Diabetes.arff được lấy từ cơ sở dữ
liệu về bệnh tiểu đường của Đại học Washington, St. Louis, MO. Được biên soạn bởi
Tiến sĩ Michael Kahn và được lưu trữ tại trang web UCI Machine Learning
Repository. Bộ dữ liệu mô tả về bệnh tiểu đường của người Pima Ấn Độ, trong bộ dữ
liệu có 768 mẫu, 9 thuộc tính và có 2 phân lớp là tested_negative và tested_postive.
Thống kê các thuộc tính của bộ dữ liệu Diabetes.arff như sau:
Bảng 1: Các thuộc tính của các bộ dữ liệu

Bộ dữ liệu

Số lượng Instance

Diabetes.arff

768

Số lượng thuộc Phân lớp
tính
9
2

2.2 Phương pháp phân chia dữ liệu
2.2.1 Phương pháp Hold - out
Phương pháp Hold - out [11] là phương pháp phân chia ngẫu nhiên tập dữ liệu
thành 2 tập dữ liệu độc lập đó là tập dữ liệu huấn luyện và tập dữ liệu kiểm định mơ
hình (tập dữ liệu kiểm thử). Tỉ lệ giữa training set và validation set được chọn tương
ứng là 70% và 30%.
Mục đích của phương pháp là kiểm tra độ hiệu quả của mơ hình khi sử dụng các

tập dữ liệu khác nhau. Cụ thể trong phương pháp Hold – out sẽ có tập dữ liệu:
-

Training set: dữ liệu phục vụ xây dựng mơ hình, xác định các thuật toán, biến dữ
liệu phù hợp.

-

Test set: là dữ liệu được sử dụng để đánh giá độ hiệu quả của mơ hình, mức độ
chính xác trong việc phân loại dữ liệu.

-

Validation set: là dữ liệu được xây dựng để đánh giá hiệu suất của mơ hình được
xây dựng trong giai đoạn huấn luyện, hỗ trợ thử nghiệm để tính chính xác các mô
10

h


hình và chọn mơ hình hoạt động tốt nhất. Khơng phải mọi thuật toán phân loại nào
cũng cần Validation set, nên phương pháp Hold – out thông thường chỉ dừng ở 2
tập dữ liệu training set và test set.
2.2.2 Phương pháp Cross validation (10 – fold cross validation)
Phương pháp Cross validation [12] là phương pháp phân chia tập dữ liệu thành
các tập con. Tại mỗi vòng lặp sử dụng một tập con là tập dữ liệu kiểm thử và các tập
con còn lại là tập dữ liệu huấn luyện, là phương pháp kiểm tra độ chính xác của một
máy học dựa trên tập dữ liệu cho trước.
2.2.3 Phân chia dữ liệu
Dựa trên cơ sở lý thuyết đã học, để xây dựng nên mơ hình phân lớp theo phương

pháp kết hợp Voting với các mơ hình phân lớp cơ sở NaiveBayes, Cây quyết định
(J48) và K - lân cận (k- Nearest Neighbors) ta thực hiện như sau:
-

Bước 1: Khởi động Weka chọn Weka Explore.
Bước 2: Chọn Open File, chọn thư mục Data của Weka để lấy bộ dữ liệu muốn
huấn luyện.

-

Bước 3: Lựa chọn phương pháp phân chia dữ liệu, chọn Choose → Filter →
Unsupervised

Instance → Remove Percentage → Tiếp theo, vào mục

Weka.gui.GrerericObjectEditor (Chia tỷ lệ theo yêu cầu 70 % và 30 %) lần lượt
dành cho tập dữ liệu huấn luyện (Train set) và tập dữ liệu kiểm thử (Test set).
-

Bước 4: Vào Open File tải lên tập dữ liệu huấn luyện (Train set) vừa được tạo
sau đó chọn Classify vào Choose vào Meta chọn Vote.

-

Bước 5: Chọn weka.gui.GrenericObjctEditor → kích Choose →các mơ hình
phân lớp cơ sở là NaiveBayes, Cây quyết định (J48), k-NN (Ibk với k =5) →
OK.

-


Bước 6: Thiết lập kiểu huấn luyện là 10 – fold cross validation sau đó nhấn
Start.

-

Bước 7: Tiến hành tải tập dữ liệu kiểm thử (Test set), chọn Supplied test set sau
đó tìm đến nơi lưu trữ tập dữ liệu kiểm thử (Test set) và tải lên → sau đó nhấn
OK.

11

h


-

Bước 8: Tìm đến mơ hình vừa chạy, kích chuột phải chọn Re-evalute model on
current test set để kiểm thử mơ hình với tập dữ liệu kiểm thử (Test set).

Hình 6: Quy trình phân chia dữ liệu

2.3 Xây dựng mơ hình
Chúng ta sẽ có thí nghiệm như sau:
-

Để thực hiện thí nghiệm, ta cần chuẩn bị trước bộ dữ liệu đầu vào Diabetes.arff
Tiếp theo, ta sẽ phân chia lần lượt các bộ dữ liệu đầu vào thành các tập dữ liệu
huấn luyện và tập dữ liệu kiểm thử:
 Diabetes_train.arff
 Diabetes_test.arff

Ta sử dụng phương pháp Hold – out với các bước:

-

Tải vào bộ nhớ train set.

-

Chuyển sang tab Classify.

-

Lựa chọn Percentage Split: 70%
Tiếp theo, xây dựng, lựa chọn và đánh giá mơ hình với KnowledgeFlow:
Cơng cụ KnowledgeFlow của Weka trong việc xây dựng các mơ hình khai phá

dữ liệu. KnowledgeFlow là công cụ rất quan trong đối với việc xây dựng mơ hình
khai phá dữ liệu vì KnowledgeFlow cho phép người xây dựng mơ hình có thể điều
chỉnh từng giai đoạn (phase) cũng như điều chỉnh các tham số tương ứng với từng
thuật tốn qua từng bước để có một mơ hình khai phá với kết quả tốt hơn. Cụ thể, cách
sử dụng KnowledgeFlow trong Weka để xây dựng mơ hình phân lớp (Classification
Model) trên Dataset Diabetes.
12

h


Về cơ bản, các bước xây dựng một KnowledgeFlow gồm các bước sau:
1. Xác định nguồn dữ liệu (Data Sources).
2. Xác định các kỹ thuật Train và Test Mơ hình (Evaluation).

3. Xác định các thuật tốn sử dụng trong mơ hình (Classification, Clustering,
Association Rule,…). Chúng ta có thể sử dụng nhiều thuật tốn để so sánh và chọn
mơ hình có kết quả tốt nhất.
4. Hiển thị kết quả mơ hình (Visualization).
Trong KnowledgeFlow dưới đây, xây dựng mơ hình phân lớp trên bộ dữ liệu bệnh tiểu
đường Diabetes sử dụng 3 thuật tốn phân lớp là Nạve Bayes, Cây quyết định (J48) và K-lân
cận.
Chọn KnowledgeFlow khi khởi động Weka.

13

h


Xác định nguồn và định dạng dữ liệu (DataSources): Chọn Arff Loader để nạp file dữ
liệu Diabetes.arff.

Chọn tab Evaluation và chọn ClassAssigner để xác định thuộc tính phân lớp (Category
Variable) của mơ hình. Để nạp dữ liệu từ dataset vào mơ hình, bấm phải chuột vào Diabetes
dataset và chọn dataSet, kéo và thả kến ClassAssigner.

14

h


Chọn kỹ thuật Train và Test mơ hình, trong Tab Evaluation chọn TestSetMaker. Nạp dữ
liệu vào TestSetMaker giống như nạp dữ liệu từ Diabetes dataSet vào ClassAssigner.

15


h


Chọn Tab Classifiers và chọn các thuật toán để xây dựng mơ hình (chọn thuật tốn
NaiveBayes, J48, k-lân cận và voting). Sau đó nạp dữ liệu để test mơ hình, bấm phải chuột
vào TestSetMaker chọn testSet nối với NaiveBayes, J48, IBK và Voting.

16

h


Hiệu chỉnh tham số của thuật tốn bằng cách kích đúp vào thuật tốn và kích vào
Browse để chọn file Classifier model to load theo mỗi thuật toán để chọn model.

17

h


×