1. Lý do chọn đề tài Bệnh đái tháo đường (ĐTĐ) là một bệnh lý mạn tính, xảy ra khi cơ thể không thể sản xuất đủ insulin hoặc sử dụng insulin một cách hiệu quả. Insulin là một nội tiết tố giúp cơ thể chuyển hóa lượng đường trong máu (glucose) thành năng lượng. Khi cơ thể không có đủ insulin hoặc không thể sử dụng insulin một cách hiệu quả, lượng đường trong máu sẽ tăng cao. Điều này có thể dẫn đến nhiều biến chứng nghiêm trọng, bao gồm bệnh tim, đột quỵ, mù lòa, suy thận và cắt cụt chi. Theo số liệu thống kê từ Liên đoàn Đái tháo đường Thế giới (IDF) năm 2021 cho thấy, cả thế giới có tới 537 triệu người mắc bệnh ĐTĐ, tương ứng với tỉ lệ cứ 10 người lớn độ tuổi 20 79 tuổi có một người mắc ĐTĐ. Đặc biệt, có tới 44.7% số người trưởng thành mắc ĐTĐ mà không được chẩn đoán. IDF chỉ ra, bệnh ĐTĐ hiện nay có thể coi là một loại bệnh dịch toàn cầu với 240 triệu người sống chung với bệnh ĐTĐ không được chẩn đoán. Tại Việt Nam, số liệu từ Hội nội tiết và ĐTĐ cho biết, hiện có tới 3,53 triệu người đang “chung sống” với căn bệnh ĐTĐ và mỗi ngày có ít nhất 80 trường hợp tử vong vì các biến chứng liên quan. Dự báo, số người bắc bệnh có thể tăng lên 6,3 triệu vào năm 2045. Cùng nằm trong xu hướng đó, Việt Nam được xếp trong 10 quốc gia có tỉ lệ gia tăng bệnh nhân ĐTĐ cao nhất thế giới với tỉ lệ tăng 5,5% mỗi năm. Bệnh ĐTĐ rất nguy hiểm và cần được điều trị suốt đời. Thông thường, chẩn đoán bệnh ĐTĐ thường dựa trên các xét nghiệm máu, bao gồm xét nghiệm đường huyết lúc đói, xét nghiệm đường huyết sau khi ăn 2 giờ và xét nghiệm HbA1c. Tuy nhiên, các xét nghiệm này thường tốn kém và đòi hỏi phải có đủ trang thiết bị y tế hỗ trợ. Và chẩn đoán bệnh là công việc yêu cầu tính chuyên môn và độ chính xác cao của đội ngũ chuyên gia, bác sĩ. Chính vì điều này nên đa số người dân không chủ động làm các kiểm tra định kỳ hay các xét nghiệm để chẩn đoán sớm nguy cơ mắc bệnh ĐTĐ, mà chỉ thực hiện khi đã có các dấu hiệu phát bệnh, giai đoạn mà không được kiểm soát chặt chẽ sẽ dẫn tới những biến chứng rất nguy hiểm. Hiện nay, có rất nhiều hệ thống (website) giới thiệu về bệnh ĐTĐ cũng như cách phòng chữa bệnh này. Ví dụ như ứng dụng đo đường huyết POPS là sản phẩm theo dõi đường huyết khá sáng tạo của công ty POPS Diabetes Care tại Minneapolis Mỹ (Care). Theo đó, hệ thống này gồm phần cứng là thiết bị POPS nhỏ gọn, có thể dính vào phía sau điện thoại thông minh của người dùng. Từ đó lấy mẫu máu, phân tích và đưa ra kết quả. Ưu điểm sản phẩm này là độ chính xác khá cao, nhỏ gọn, tiện dụng, có thể mang theo bên mình mọi lúc cùng chiếc điện thoại di động, kết quả được trả về sau 30 giây, một khoảng thời gian khá ấn tượng so với các cách lấy mẫu và trả kết quả truyền thống. Nhưng nhược điểm là người dùng bắt buộc phải lấy máu qua thiết bị để có kết quả chỉ số đường huyết và sản phẩm không được cung cấp miễn phí. Hay như ứng dụng kiểm soát đường huyết Glucose Meter do công ty DVMS Việt Nam viết phần mềm và phát hành (DVMS). Ứng dụng có chức năng chính là kiểm tra tình trạng đường huyết thông qua chế độ ăn uống thường ngày. Người dùng cập nhật thông tin về tên và khối lượng thực phẩm sử dụng hàng ngày trên ứng dụng. Ứng dụng sẽ tự động tính toán chỉ số đường huyết trong thực phẩm tiêu thụ mỗi ngày, đưa ra giới hạn vùng đường huyết an toàn cho người bệnh. Ưu điểm của Glucose Meter giúp người bệnh kiểm soát được lượng đường nạp vào cơ thể hàng ngày để điều chỉnh chế độ ăn uống phù hợp, lành mạnh nhưng nhược điểm là tùy lứa tuổi, giai đoạn bệnh, mức độ các biến chứng, bệnh mắc kèm… mà vùng đường huyết an toàn của mỗi người bệnh có thể khác nhau. Vì vậy toàn bộ dữ liệu trên ứng dụng chỉ mang tính tham khảo. Ứng dụng chỉ dừng lại ở việc cung cấp một số thông tin về bệnh nhưng chưa giải quyết được vấn đề quan trọng đó là giúp người dùng tự dự đoán được nguy cơ mắc bệnh ĐTĐ của bản thân. Hay như nghiên cứu khoa học của hai tác giả Nguyễn Văn Chức và Trần Thị Kim Hằng về “ứng dụng kỹ thuật cây quyết định xây dựng hệ thống dự đoán bệnh đái tháo đường” đăng trên kỷ yếu hội thảo khoa học CITA 2014 “CNTT và ứng dụng trong các lĩnh vực” cũng sử dụng cây quyết định để xây dựng mô hình dự đoán nguy cơ mắc bệnh ĐTĐ (Chức Hằng, 2014). Trong nghiên cứu của Nguyễn Văn Chức và Trần Thị Kim Hằng, tập dữ liệu huấn luyện mẫu bao gồm các thông tin về giới tính, tuổi, cân nặng, chiều cao, huyết áp, chỉ số mỡ máu. Kết quả nghiên cứu của bài báo nhằm hỗ trợ cho người dùng có thể tự kiểm tra nguy cơ mắc bệnh ĐTĐ. Nhưng mẫu thông tin huấn luyện còn ít và dừng lại ở các thông tin cơ bản. Triệu chứng của bệnh ĐTĐ bao gồm khát nước quá mức và khô miệng, đi tiểu thường xuyên, thiếu năng lượng, mệt mỏi, vết thương chậm lành, nhiễm trùng tái phát ở da, mờ mắt, ngứa ran hoặc tê ở tay và chân. Những triệu chứng này có thể nhẹ hoặc không có, vì vậy những người mắc bệnh ĐTĐ có thể sống chung với bệnh này vài năm trước khi phát hiện. Từ những hạn chế của các nghiên cứu trước đây, và nhận thấy sự cần thiết về việc phổ cập kiến thức các triệu chứng đặc trưng của bệnh ĐTĐ cũng như giúp cho mọi người có thể dễ dàng chẩn đoán sớm xem mình có khả năng mắc bệnh hay không là lý do chính để thực hiện đề tài. Hệ thống này cho phép người dùng cung cấp các thông tin liên quan đến sức khỏe cá nhân như tuổi, giới tính, tiền sử triệu chứng đặc trưng của bệnh ĐTĐ thì có thể kiểm tra được nguy cơ mắc bệnh ĐTĐ của bản thân. Luận văn tập trung nghiên cứu về kỹ thuật phân lớp dữ liệu dựa vào cây quyết định trong khai phá dữ liệu kết hợp với bộ dữ liệu được thu thập từ hồ sơ bệnh án bao gồm các triệu chứng đặc trưng của bệnh ĐTĐ của các bệnh nhân được chẩn đoán mắc bệnh hoặc không mắc bệnh. Từ tri thức phát hiện được sẽ xây dựng ứng dụng dự đoán giúp người dùng phát hiện sớm xem có thể mắc bệnh hay không mắc bệnh ĐTĐ. Ứng dụng này có thể được sử dụng rộng rãi trong cộng đồng để nâng cao nhận thức về bệnh ĐTĐ và giúp người dân chủ động phòng ngừa bệnh. 2. Mục đích nghiên cứu Nghiên cứu và phân tích các vấn đề về phân lớp dữ liệu bằng cây quyết định của các nghiên cứu trong và ngoài nước, luận văn đưa ra mục đích nghiên cứu chính như sau: Xây dựng mô hình học phân lớp dữ liệu bằng cây quyết định. Đề xuất thuật toán C4.5 bằng cây quyết định cho bài toán phân lớp nhằm đạt hiệu quả trong dự đoán và đơn giản đối với người dùng. Để đáp ứng cho các mục đích nghiên cứu trên, luận văn tập trung nghiên cứu các nội dung chính sau: Nghiên cứu các thuật toán học cây truyền thống ID3 (Iterative Dichotomiser 3), C4.5 (a successor of ID3) và CART trên mỗi tập mẫu huấn luyện để tìm phương pháp học đạt hiệu quả dự đoán cao. Nghiên cứu phương pháp chia tập mẫu huấn luyện cho việc học cây quyết định từ các kho dữ liệu. Nghiên cứu để đề xuất các thuật toán C4.5 phân lớp bằng cây quyết định nhằm đạt hiệu quả trong dự đoán và đơn giản đối với người dùng. Phân tích và đánh giá kết quả của các thuật toán học đã đề xuất với các thuật toán khác trên các bộ dữ liệu để đối sánh. 3. Nhiệm vụ nghiên cứu Nhiệm vụ nghiên cứu của luận văn về khoa học: Xây dựng mô hình học phân lớp dữ liệu bằng cây quyết định từ tập mẫu huấn luyện. Đề xuất phương pháp chia tập mẫu huấn luyện cho việc học phân lớp bằng cây quyết định từ dữ liệu. Luận văn đã xây dựng bài toán phân lớp bằng cây quyết định, sử dụng thuật toán C4.5. Áp dụng học phân lớp dữ liệu bằng cây quyết định cho bài toán phân lớp dữ liệu bệnh đái tháo đường. Những đóng góp chính của luận văn về thực tiễn: Góp phần chứng tỏ khả năng ứng dụng phong phú của cây quyết định trong biểu diễn và xử lý thông tin. Luận văn đã góp phần vào việc giải quyết vấn đề khai phá tri thức từ dữ liệu bệnh đái tháo đường. 4. Đối tượng và phạm vi nghiên cứu Phân lớp dữ liệu là vấn đề lớn và quan trọng của khai phá dữ liệu. Cây quyết định là giải pháp hữu hiệu của bài toán phân lớp, nó bao gồm từ mô hình cho quá trình học đến các thuật toán huấn luyện cụ thể để xây dựng cây. Đối tượng luận văn tập trung vào bệnh ĐTĐ, nghiên cứu mô hình cho quá trình huấn luyện cây từ tập mẫu huấn luyện, nghiên cứu phương pháp xử lý thuật toán học phân lớp dữ liệu bằng cây quyết định C4.5 nhằm đạt hiệu quả trong dự đoán bệnh ĐTĐ. Phạm vi nghiên cứu của luận văn dựa vào nguồn dữ liệu thống kê về bệnh ĐTĐ, ứng dụng giải thuật C4.5 nhằm khai phá dữ liệu để có thể tìm được tri thức giúp đóng góp cho nghiên cứu cũng như ứng dụng thực tế. Bên cạnh đó là đánh giá hiệu quả, độ chính xác của thuật toán C4.5 với các thuật toán ID3 và CART. 5. Phương pháp nghiên cứu Phương pháp nghiên cứu tài liệu, tổng hợp và hệ thống hóa: tìm hiểu kiến thức, tìm kiếm, thu thập tài liệu về các công trình nghiên cứu đã được công bố ở các bài báo đăng ở các hội thảo và tạp chí lớn; nghiên cứu các phương pháp xây dựng cây quyết định đã có, nhằm phân tích những thuận lợi và khó khăn trong quá trình học phân lớp dữ liệu bằng cây quyết định. Từ đó làm tiền đề để nắm bắt kiến trúc hệ thống, các giải thuật xử lý dữ liệu cũng như các bước tiến hành để xây dựng ứng dụng. Nghiên cứu kiến thức về khai phá dữ liệu nhằm nắm bắt các kỹ thuật, các giải thuật xử lý dữ liệu cũng như các bước tiến hành để xây dựng ứng dụng. Tìm hiểu kiến thức về ngôn ngữ lập trình, cơ sở dữ liệu và các công cụ hỗ trợ khác để phát triển hệ thống. Phương pháp thực nghiệm khoa học: nghiên cứu thông tin dữ liệu về bệnh đái tháo đường. Phân tích dữ liệu các bệnh án, hỗ trợ chẩn đoán bệnh đái tháo đường. Sử dụng bộ dữ liệu thực tế về bệnh đái tháo đường cho quá trình thử nghiệm, đánh giá. Thực hiện việc thử nghiệm, đánh giá thuật toán C4.5 trong luận văn nhằm minh chứng cho tính hiệu quả về độ chính xác trong quá trình dự đoán. 6. Bố cục luận văn Ngoài phần mở đầu và tài liệu tham khảo, luận văn được chia làm 3 chương. Nội dung của luận văn được trình bày với bố cục như sau: Chương 1: Cây quyết định và thuật toán C4.5. Chương này trình bày các vấn đề cơ bản của bài toán phân lớp dữ liệu bằng cây quyết định, các hạn chế của cây quyết định và sự cần thiết của bài toán phân lớp bằng cây quyết định. Chương 2: Bài toán hỗ trợ chẩn đoán bệnh đái tháo đường. Chương này trình bày thông tin về dữ liệu bệnh đái tháo đường và phân tích thiết kế hệ thống để triển khai áp dụng giải thuật C4.5 vào ứng dụng thực tế. Chương 3: Kết quả và ứng dụng chẩn đoán bệnh đái tháo đường. Chương này trình bày kết quả khi sử dụng thuật toán C4.5 vào dự đoán bệnh đái tháo đường và ứng dụng thực tiễn về chẩn đoán bệnh đái tháo đường.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DUY TÂN
NGUYỄN ANH QUÂN
ÁP DỤNG THUẬT TOÁN CÂY QUYẾT ĐỊNH C4.5 ĐỂ ỨNG DỤNG VÀO CHẨN ĐOÁN BỆNH TIỂU ĐƯỜNG
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
ĐÀ NẴNG, 2024
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DUY TÂN
NGUYỄN ANH QUÂN
ÁP DỤNG THUẬT TOÁN CÂY QUYẾT ĐỊNH C4.5 ĐỂ ỨNG DỤNG VÀO CHẨN ĐOÁN BỆNH TIỂU ĐƯỜNG
Chuyên ngành: Khoa học máy tính
Mã số: 8480101
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Người hướng dẫn khoa học: TS HÀ THỊ NHƯ HẰNG
ĐÀ NẴNG, 2024
Trang 3Tôi xin được bày tỏ lòng biết ơn sâu sắc tới TS Hà Thị Như Hằng là người hướng dẫn trực tiếp và chỉ bảo cho tôi hoàn thành luận văn.
Tôi xin chân thành cảm ơn gia đình, bạn bè và đồng nghiệp đã động viên, khích lệ, tạo điều kiện và giúp đỡ tôi trong suốt quá trình thực hiện và hoàn thành luận văn này
TÁC GIẢ LUẬN VĂN
Nguyễn Anh Quân
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi, dưới sự hướng dẫn khoa học của TS Hà Thị Như Hằng.
Các số liệu và kết quả nghiên cứu trong luận văn này là trung thực và không trùng lặp với các đề tài khác Mọi sự giúp đỡ cho việc thực hiện luận văn này cũng như các trích dẫn hay tài liệu học thuật tham khảo đã được trích dẫn trong luận văn đã được chỉ rõ nguồn gốc.
TÁC GIẢ LUẬN VĂN
Nguyễn Anh Quân
Trang 5MỤC LỤC
LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
DANH MỤC CÁC TỪ VIẾT TẮT v
DANH MỤC CÁC KÝ HIỆU vi
DANH MỤC CÁC BẢNG BIỂU vii
DANH MỤC CÁC HÌNH VẼ viii
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục đích nghiên cứu 3
3 Nhiệm vụ nghiên cứu 4
4 Đối tượng và phạm vi nghiên cứu 4
5 Phương pháp nghiên cứu 5
6 Bố cục luận văn 5
Chương 1 CÂY QUYẾT ĐỊNH VÀ THUẬT TOÁN C4.5 7
1.1 Khái niệm cây quyết định 7
1.2 Các loại cây quyết định 8
1.3 Khởi tạo cây quyết định 8
1.4 Sử dụng cây quyết định 10
1.5 Duyệt cây và phân lớp dữ liệu 11
1.6 Độ đo đánh giá hiệu suất phân loại 15
1.7 Đánh giá độ chính xác của mô hình phân lớp 17
1.8 Ưu và nhược điểm của cây quyết định 19
1.9 Thuật toán sử dụng xây dựng cây quyết định 19
1.10 Thuật toán C4.5 20
1.11 Kết luận chương 1 28
Chương 2 BÀI TOÁN HỖ TRỢ CHẨN ĐOÁN BỆNH ĐÁI THÁO ĐƯỜNG 29
2.1 Mô tả bài toán ứng dụng 29
Trang 62.2 Phân tích thiết kế hệ thống 31
2.3 Dữ liệu bệnh đái tháo đường 44
2.4 Mô tả thuộc tính dữ liệu 45
2.5 Xây dựng mô hình cây quyết định với thuật toán C4.5 48
2.6 Xây dựng các luật cho hệ thống chẩn đoán 50
2.7 Kết luận chương 2 50
Chương 3 ỨNG DỤNG CHẨN ĐOÁN BỆNH ĐÁI THÁO ĐƯỜNG VÀ KẾT QUẢ………… 51
3.1 Môi trường thực nghiệm 51
3.2 Triển khai xây dựng mô hình cây quyết định C4.5 bằng phần mềm Weka 51
3.3 Đánh giá và kết quả 53
3.4 Giới thiệu ứng dụng 56
3.5 Giao diện và tính năng 57
3.6 Kết luận chương 3 62
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 63
1 Kết luận 63
2 Hướng phát triển của đề tài 64
TÀI LIỆU THAM KHẢO
PHỤ LỤC
QUYẾT ĐỊNH GIAO ĐỀ TÀI (Bản sao)
Trang 7Phòng phát triển trí tuệ doanh nghiệp
CART Classification And
Regression Tree
Cây phân loại và hồi quy
CNTT Công nghệ thông tin Công nghệ thông tin
CITA Conference on
Information Technology
and its Applications
Hội thảo khoa học công nghệ thông tin
và ứng dụng trong các lĩnh vực
ĐTĐ Đái tháo đường Đái tháo đường
IDF International Diabetes
Federation
Liên đoàn Đái tháo đường thế giới
ID3 Iterative Dichotomiser Phép phân đôi lặp đi lặp lại
Gain Gain Information Độ lợi thông tin
GainRati
o
Gain Information Ratio Tỉ lệ độ lợi thông tin
FN False Negative Âm tính giả
FP False Positive Dương tính giả
Recall Recall Độ bao phủ
Ngôn ngữ truy vấn có cấu trúc
TN True Negative Thực âm
TNR True Negative Rate Tỉ lệ thực âm
TP True Positive Thực dương
TPR True Positive Rate Tỉ lệ thực dương
WHO World Health
Organization
Tổ chức Y tế Thế giới
DANH MỤC CÁC KÝ HIỆU
E(A) Thông tin mong đợi để phân lớp những đối tượng trong tất cả các
Trang 8cây con
Gain(A) Độ lợi thông tin nhận được bởi việc phân nhánh thuộc tính A GainRatio(A
)
Tỉ lệ độ lợi thông tin của thuộc tính A
Gini(D) Chỉ số Gini của tập D
Gini(D)Split Tỉ lệ hệ số Gini
O(log n) Độ phức tạp logarit của thuật toán
SplitInfo(A) Hệ số phân chia của thuộc tính A
Trang 9DANH MỤC CÁC BẢNG BIỂU
Bảng 1.1: Cơ sở dữ liệu mẫu 22
Bảng 1.2: Độ đo GainRatio của 16 thuộc tính 23
Bảng 1.3: Mẫu dữ liệu với thuộc tính Polyuria có giá trị Yes(S1) 25
Bảng 1.4: Độ đo GainRatio của 15 thuộc tính 26
Bảng 1.5: Mẫu dữ liệu với thuộc tính Alopecia có giá trị Yes(S2) 27
Bảng 1.6: Độ đo GainRatio của 14 thuộc tính 27
Bảng 2.1: Các thuộc tính và giá trị của dữ liệu 46
Bảng 2.2: Số liệu bản ghi phân loại theo độ tuổi, giới tính và kết quả dương tính 48
Bảng 2.3: 20 mẫu trong tập dữ liệu bệnh đái tháo đường sau khi xử lý 49
Bảng 3.1: Kết quả giữa thuật toán C4.5, ID3 và CART 55
Bảng 3.2: So sánh kết quả hiệu quả của thuật toán C4.5, ID3 và CART 56
Trang 10DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Cấu trúc cây quyết định 7
Hình 1.2: Minh họa chỉ số Gini (Lân, 2018) 13
Hình 1.3: Ma trận dự đoán 22 và công thức tính percision, recall, accuracy 15
Hình 1.4: Phương pháp Holdout 17
Hình 1.5: Đánh giá chéo 10 lần 18
Hình 1.6: Cây quyết định tại thuộc tính Polyuria 24
Hình 1.7: Cây quyết định tại thuộc tính Alopecia 26
Hình 1.8: Cây quyết định với bảng dữ liệu mẫu 28
Hình 2.1: Quy trình triển khai ứng dụng 31
Hình 2.2: Kiến trúc hệ thống đề xuất 31
Hình 2.3: Lược đồ ngữ cảnh 31
Hình 2.4: Lược đồ use case Quản trị 32
Hình 2.5: Lược đồ use case Người sử dụng 32
Hình 2.6: Biểu đồ hoạt động Đăng nhập 37
Hình 2.7: Biểu đồ hoạt động Thêm dữ liệu 38
Hình 2.8: Biểu đồ hoạt động Sửa dữ liệu 38
Hình 2.9: Biểu đồ hoạt động Xóa dữ liệu 39
Hình 2.10: Biểu đồ tuần tự Đăng nhập 40
Hình 2.11: Biểu đồ tuần tự Thêm dữ liệu 41
Hình 2.12: Biểu đồ tuần tự Sửa dữ liệu 42
Hình 2.13: Biểu đồ tuần tự Xóa dữ liệu 43
Hình 2.14: Biểu đồ triển khai 44
Hình 3.1: Tổng quan thuộc tính 51
Hình 3.2: Cài đặt các tham số cho thuật toán 53
Hình 3.3: Mô hình cây quyết định C4.5 53
Hình 3.4: Cây quyết định hình thành với dữ liệu bệnh đái tháo đường 54
Hình 3.5: So sánh accuracy, precision và recall 55
Trang 11Hình 3.6: Truy cập ứng dụng Hỗ trợ chẩn đoán bệnh đái tháo đường 57
Hình 3.7: Giao diện trang chủ website 57
Hình 3.8: Giao diện trang kết quả nếu không mắc bệnh 58
Hình 3.9: Giao diện trang kết quả người dùng mắc bệnh 58
Hình 3.10: Giao diện trang đăng nhập quản trị 58
Hình 3.11: Giao diện trang quản trị dữ liệu 59
Hình 3.12: Giao diện trang thêm mới dữ liệu 60
Hình 3.13: Giao diện xác nhận xóa Thông tin 61
Hình 3.14: Giao diện trang giới thiệu 61
Trang 12độ tuổi 20 - 79 tuổi có một người mắc ĐTĐ Đặc biệt, có tới 44.7% số người trưởngthành mắc ĐTĐ mà không được chẩn đoán IDF chỉ ra, bệnh ĐTĐ hiện nay có thểcoi là một loại bệnh dịch toàn cầu với 240 triệu người sống chung với bệnh ĐTĐkhông được chẩn đoán Tại Việt Nam, số liệu từ Hội nội tiết và ĐTĐ cho biết, hiện
có tới 3,53 triệu người đang “chung sống” với căn bệnh ĐTĐ và mỗi ngày có ít nhất
80 trường hợp tử vong vì các biến chứng liên quan Dự báo, số người bắc bệnh cóthể tăng lên 6,3 triệu vào năm 2045 Cùng nằm trong xu hướng đó, Việt Nam đượcxếp trong 10 quốc gia có tỉ lệ gia tăng bệnh nhân ĐTĐ cao nhất thế giới với tỉ lệtăng 5,5% mỗi năm
Bệnh ĐTĐ rất nguy hiểm và cần được điều trị suốt đời Thông thường, chẩnđoán bệnh ĐTĐ thường dựa trên các xét nghiệm máu, bao gồm xét nghiệm đườnghuyết lúc đói, xét nghiệm đường huyết sau khi ăn 2 giờ và xét nghiệm HbA1c Tuynhiên, các xét nghiệm này thường tốn kém và đòi hỏi phải có đủ trang thiết bị y tế
hỗ trợ Và chẩn đoán bệnh là công việc yêu cầu tính chuyên môn và độ chính xáccao của đội ngũ chuyên gia, bác sĩ Chính vì điều này nên đa số người dân khôngchủ động làm các kiểm tra định kỳ hay các xét nghiệm để chẩn đoán sớm nguy cơmắc bệnh ĐTĐ, mà chỉ thực hiện khi đã có các dấu hiệu phát bệnh, giai đoạn màkhông được kiểm soát chặt chẽ sẽ dẫn tới những biến chứng rất nguy hiểm Hiệnnay, có rất nhiều hệ thống (website) giới thiệu về bệnh ĐTĐ cũng như cách phòng
Trang 13chữa bệnh này Ví dụ như ứng dụng đo đường huyết POPS là sản phẩm theo dõiđường huyết khá sáng tạo của công ty POPS! Diabetes Care tại Minneapolis Mỹ(Care) Theo đó, hệ thống này gồm phần cứng là thiết bị POPS! nhỏ gọn, có thểdính vào phía sau điện thoại thông minh của người dùng Từ đó lấy mẫu máu, phântích và đưa ra kết quả Ưu điểm sản phẩm này là độ chính xác khá cao, nhỏ gọn,tiện dụng, có thể mang theo bên mình mọi lúc cùng chiếc điện thoại di động, kếtquả được trả về sau 30 giây, một khoảng thời gian khá ấn tượng so với các cách lấymẫu và trả kết quả truyền thống Nhưng nhược điểm là người dùng bắt buộc phảilấy máu qua thiết bị để có kết quả chỉ số đường huyết và sản phẩm không đượccung cấp miễn phí Hay như ứng dụng kiểm soát đường huyết Glucose Meter docông ty DVMS Việt Nam viết phần mềm và phát hành (DVMS) Ứng dụng có chứcnăng chính là kiểm tra tình trạng đường huyết thông qua chế độ ăn uống thườngngày Người dùng cập nhật thông tin về tên và khối lượng thực phẩm sử dụng hàngngày trên ứng dụng Ứng dụng sẽ tự động tính toán chỉ số đường huyết trong thựcphẩm tiêu thụ mỗi ngày, đưa ra giới hạn vùng đường huyết an toàn cho người bệnh.
Ưu điểm của Glucose Meter giúp người bệnh kiểm soát được lượng đường nạp vào
cơ thể hàng ngày để điều chỉnh chế độ ăn uống phù hợp, lành mạnh nhưng nhượcđiểm là tùy lứa tuổi, giai đoạn bệnh, mức độ các biến chứng, bệnh mắc kèm… màvùng đường huyết an toàn của mỗi người bệnh có thể khác nhau Vì vậy toàn bộ dữliệu trên ứng dụng chỉ mang tính tham khảo Ứng dụng chỉ dừng lại ở việc cung cấpmột số thông tin về bệnh nhưng chưa giải quyết được vấn đề quan trọng đó là giúpngười dùng tự dự đoán được nguy cơ mắc bệnh ĐTĐ của bản thân Hay như nghiêncứu khoa học của hai tác giả Nguyễn Văn Chức và Trần Thị Kim Hằng về “ứngdụng kỹ thuật cây quyết định xây dựng hệ thống dự đoán bệnh đái tháo đường”đăng trên kỷ yếu hội thảo khoa học CITA 2014 “CNTT và ứng dụng trong các lĩnhvực” cũng sử dụng cây quyết định để xây dựng mô hình dự đoán nguy cơ mắc bệnhĐTĐ (Chức & Hằng, 2014) Trong nghiên cứu của Nguyễn Văn Chức và Trần ThịKim Hằng, tập dữ liệu huấn luyện mẫu bao gồm các thông tin về giới tính, tuổi, cânnặng, chiều cao, huyết áp, chỉ số mỡ máu Kết quả nghiên cứu của bài báo nhằm hỗtrợ cho người dùng có thể tự kiểm tra nguy cơ mắc bệnh ĐTĐ Nhưng mẫu thông
Trang 14tin huấn luyện còn ít và dừng lại ở các thông tin cơ bản Triệu chứng của bệnh ĐTĐbao gồm khát nước quá mức và khô miệng, đi tiểu thường xuyên, thiếu năng lượng,mệt mỏi, vết thương chậm lành, nhiễm trùng tái phát ở da, mờ mắt, ngứa ran hoặc tê
ở tay và chân Những triệu chứng này có thể nhẹ hoặc không có, vì vậy nhữngngười mắc bệnh ĐTĐ có thể sống chung với bệnh này vài năm trước khi phát hiện
Từ những hạn chế của các nghiên cứu trước đây, và nhận thấy sự cần thiết vềviệc phổ cập kiến thức các triệu chứng đặc trưng của bệnh ĐTĐ cũng như giúp chomọi người có thể dễ dàng chẩn đoán sớm xem mình có khả năng mắc bệnh haykhông là lý do chính để thực hiện đề tài Hệ thống này cho phép người dùng cungcấp các thông tin liên quan đến sức khỏe cá nhân như tuổi, giới tính, tiền sử triệuchứng đặc trưng của bệnh ĐTĐ thì có thể kiểm tra được nguy cơ mắc bệnh ĐTĐcủa bản thân Luận văn tập trung nghiên cứu về kỹ thuật phân lớp dữ liệu dựa vàocây quyết định trong khai phá dữ liệu kết hợp với bộ dữ liệu được thu thập từ hồ sơbệnh án bao gồm các triệu chứng đặc trưng của bệnh ĐTĐ của các bệnh nhân đượcchẩn đoán mắc bệnh hoặc không mắc bệnh Từ tri thức phát hiện được sẽ xây dựngứng dụng dự đoán giúp người dùng phát hiện sớm xem có thể mắc bệnh hay khôngmắc bệnh ĐTĐ Ứng dụng này có thể được sử dụng rộng rãi trong cộng đồng đểnâng cao nhận thức về bệnh ĐTĐ và giúp người dân chủ động phòng ngừa bệnh
2 Mục đích nghiên cứu
Nghiên cứu và phân tích các vấn đề về phân lớp dữ liệu bằng cây quyết địnhcủa các nghiên cứu trong và ngoài nước, luận văn đưa ra mục đích nghiên cứu chínhnhư sau:
- Xây dựng mô hình học phân lớp dữ liệu bằng cây quyết định
- Đề xuất thuật toán C4.5 bằng cây quyết định cho bài toán phân lớp nhằm đạthiệu quả trong dự đoán và đơn giản đối với người dùng
Để đáp ứng cho các mục đích nghiên cứu trên, luận văn tập trung nghiên cứucác nội dung chính sau:
- Nghiên cứu các thuật toán học cây truyền thống ID3 (Iterative Dichotomiser3), C4.5(a successor of ID3) và CART trên mỗi tập mẫu huấn luyện để tìm phươngpháp học đạt hiệu quả dự đoán cao
Trang 15- Nghiên cứu phương pháp chia tập mẫu huấn luyện cho việc học cây quyếtđịnh từ các kho dữ liệu.
- Nghiên cứu để đề xuất các thuật toán C4.5 phân lớp bằng cây quyết địnhnhằm đạt hiệu quả trong dự đoán và đơn giản đối với người dùng Phân tích và đánhgiá kết quả của các thuật toán học đã đề xuất với các thuật toán khác trên các bộ dữliệu để đối sánh
3 Nhiệm vụ nghiên cứu
Nhiệm vụ nghiên cứu của luận văn về khoa học:
- Xây dựng mô hình học phân lớp dữ liệu bằng cây quyết định từ tập mẫuhuấn luyện Đề xuất phương pháp chia tập mẫu huấn luyện cho việc học phân lớpbằng cây quyết định từ dữ liệu
- Luận văn đã xây dựng bài toán phân lớp bằng cây quyết định, sử dụng thuậttoán C4.5 Áp dụng học phân lớp dữ liệu bằng cây quyết định cho bài toán phân lớp
dữ liệu bệnh đái tháo đường
Những đóng góp chính của luận văn về thực tiễn:
- Góp phần chứng tỏ khả năng ứng dụng phong phú của cây quyết định trongbiểu diễn và xử lý thông tin
- Luận văn đã góp phần vào việc giải quyết vấn đề khai phá tri thức từ dữ liệubệnh đái tháo đường
4 Đối tượng và phạm vi nghiên cứu
Phân lớp dữ liệu là vấn đề lớn và quan trọng của khai phá dữ liệu Cây quyếtđịnh là giải pháp hữu hiệu của bài toán phân lớp, nó bao gồm từ mô hình cho quátrình học đến các thuật toán huấn luyện cụ thể để xây dựng cây Đối tượng luận văntập trung vào bệnh ĐTĐ, nghiên cứu mô hình cho quá trình huấn luyện cây từ tậpmẫu huấn luyện, nghiên cứu phương pháp xử lý thuật toán học phân lớp dữ liệubằng cây quyết định C4.5 nhằm đạt hiệu quả trong dự đoán bệnh ĐTĐ Phạm vinghiên cứu của luận văn dựa vào nguồn dữ liệu thống kê về bệnh ĐTĐ, ứng dụnggiải thuật C4.5 nhằm khai phá dữ liệu để có thể tìm được tri thức giúp đóng góp cho
Trang 16nghiên cứu cũng như ứng dụng thực tế Bên cạnh đó là đánh giá hiệu quả, độ chínhxác của thuật toán C4.5 với các thuật toán ID3 và CART.
5 Phương pháp nghiên cứu
- Phương pháp nghiên cứu tài liệu, tổng hợp và hệ thống hóa: tìm hiểu kiếnthức, tìm kiếm, thu thập tài liệu về các công trình nghiên cứu đã được công bố ở cácbài báo đăng ở các hội thảo và tạp chí lớn; nghiên cứu các phương pháp xây dựngcây quyết định đã có, nhằm phân tích những thuận lợi và khó khăn trong quá trìnhhọc phân lớp dữ liệu bằng cây quyết định Từ đó làm tiền đề để nắm bắt kiến trúc hệthống, các giải thuật xử lý dữ liệu cũng như các bước tiến hành để xây dựng ứngdụng
Nghiên cứu kiến thức về khai phá dữ liệu nhằm nắm bắt các kỹ thuật, các giảithuật xử lý dữ liệu cũng như các bước tiến hành để xây dựng ứng dụng Tìm hiểukiến thức về ngôn ngữ lập trình, cơ sở dữ liệu và các công cụ hỗ trợ khác để pháttriển hệ thống
- Phương pháp thực nghiệm khoa học: nghiên cứu thông tin dữ liệu về bệnhđái tháo đường Phân tích dữ liệu các bệnh án, hỗ trợ chẩn đoán bệnh đái tháođường Sử dụng bộ dữ liệu thực tế về bệnh đái tháo đường cho quá trình thửnghiệm, đánh giá
Thực hiện việc thử nghiệm, đánh giá thuật toán C4.5 trong luận văn nhằmminh chứng cho tính hiệu quả về độ chính xác trong quá trình dự đoán
6 Bố cục luận văn
Ngoài phần mở đầu và tài liệu tham khảo, luận văn được chia làm 3 chương.Nội dung của luận văn được trình bày với bố cục như sau:
Chương 1: Cây quyết định và thuật toán C4.5 Chương này trình bày các vấn
đề cơ bản của bài toán phân lớp dữ liệu bằng cây quyết định, các hạn chế của câyquyết định và sự cần thiết của bài toán phân lớp bằng cây quyết định
Chương 2: Bài toán hỗ trợ chẩn đoán bệnh đái tháo đường Chương này trìnhbày thông tin về dữ liệu bệnh đái tháo đường và phân tích thiết kế hệ thống để triểnkhai áp dụng giải thuật C4.5 vào ứng dụng thực tế
Trang 17Chương 3: Kết quả và ứng dụng chẩn đoán bệnh đái tháo đường Chương nàytrình bày kết quả khi sử dụng thuật toán C4.5 vào dự đoán bệnh đái tháo đường vàứng dụng thực tiễn về chẩn đoán bệnh đái tháo đường.
Trang 18Chương 1 CÂY QUYẾT ĐỊNH VÀ THUẬT TOÁN C4.5
1.1 Khái niệm cây quyết định
Cây quyết định là một sơ đồ có cấu trúc giống như cây, trong đó mỗi nút bêntrong đại diện cho một phép thử trên một thuộc tính, mỗi nhánh đại diện cho mộtkết quả của phép thử, nhãn lớp được đại diện bởi mỗi nút lá (hoặc nút cuối)(Quinlan, 1986) Cho trước một bộ giá trị X, các giá trị thuộc tính của bộ này đượckiểm tra dựa trên cây quyết định Một đường dẫn được truy từ gốc đến nút lá chứa
dự đoán lớp cho bộ giá trị Có thể dễ dàng chuyển đổi cây quyết định thành các luậtphân lớp (Patel & Rana, 2014)
Hình 1.1: Cấu trúc cây quyết định
Một nút gốc là cha của tất cả các nút và như tên cho thấy nó là nút trên cùngtrong cây Cây quyết định là cây mà mỗi nút hiển thị một đặc điểm (thuộc tính), mỗiliên kết (nhánh) hiển thị một quyết định (luật) và mỗi lá hiển thị một kết quả (giá trịphân loại hoặc tiếp tục) (Patel & Prajapati, 2018)
Cây quyết định có thể được sử dụng để phân loại trường hợp bằng cách bắtđầu từ gốc của cây và di chuyển qua nó cho đến khi gặp lá Tại mỗi nút quyết địnhkhông phải nút lá, kết quả của trường hợp cho phép thử tại nút được xác định và sự
Trang 19chú ý chuyển sang gốc của cây con tương ứng với kết quả này Khi quá trình nàykết thúc dẫn đến một lá, lớp của trường hợp được dự đoán sẽ được ghi lại ở lá(Quinlan, 2014).
1.2 Các loại cây quyết định
Cây quyết định có 2 loại cơ bản sau đây:
Cây hồi quy(Regression tree) được sử dụng để ước lượng các hàm giá có giátrị là số thực thay vì được sử dụng cho các nhiệm vụ phân loại Ví dụ: ước tính giámột ngôi nhà hoặc khoảng thời gian một bệnh nhân nằm viện hoặc dự đoán điểm sốcủa học sinh
Cây phân loại (Classification tree) được sử dụng để phân loại các mẫu dữ liệuthành các lớp nhãn rời rạc Ví dụ: nếu y là một biến phân loại như giới tính (namhay nữ), kết quả của một trận đấu (thắng hay thua) (Quốc, 2018)
Ngoài ra, cây quyết định còn có thể được phân loại dựa trên các tiêu chí khác,chẳng hạn như kiểu phân chia, phương pháp xây dựng và mục đích sử dụng Kiểuphân chia là cây quyết định có thể được phân chia dựa trên các thuộc tính có giá trịrời rạc (cây quyết định rời rạc) hoặc các thuộc tính có giá trị liên tục (cây quyết địnhliên tục) Phương pháp xây dựng là cây quyết định có thể được xây dựng bằng cácthuật toán khác nhau, chẳng hạn như ID3, C4.5, CART, và Random Forest Mụcđích sử dụng là cây quyết định có thể được sử dụng cho cả bài toán phân loại và hồiquy
1.3 Khởi tạo cây quyết định
Quá trình xây dựng cây quyết định đều được chia ra làm 3 giai đoạn cơ bản:tạo cây, tỉa cây và đánh giá cây Giai đoạn thứ nhất: tạo cây Giai đoạn này pháttriển bắt đầu từ gốc, đến từng nhánh và phát triển quy nạp theo cách thức chia để trịcho tới khi đạt được cây quyết định với tất cả các lá được gán nhãn lớp Giai đoạnthứ hai: cắt, tỉa bớt các nhánh trên cây quyết định Giai đoạn này nhằm mục đíchđơn giản hóa và khái quát hóa từ đó làm tăng độ chính xác của cây quyết định bằngcách loại bỏ sự phụ thuộc vào mức độ nhiễu, lỗi của dữ liệu huấn luyện mang tính
Trang 20chất thống kê, hay những sự biến đổi mà có thể là đặc tính riêng biệt của dữ liệuhuấn luyện Giai đoạn đánh giá cây: kiểm tra độ chính xác của cây kết quả.
Trang 21A Tạo cây
Sử dụng các thuật toán phân lớp để phân chia tập dữ liệu huấn luyện một cách
đệ quy cho đến khi mọi nút lá đều thuần khiết (Lân, 2018) Các nút (không phải lànút lá) là các điểm phân nhánh của cây Việc phân nhánh tại các nút có thể dựa trênviệc kiểm tra một hay nhiều thuộc tính để xác định việc phân chia dữ liệu
Quá trình xây dựng một cây quyết định cụ thể bắt đầu bằng một nút rỗng baogồm toàn bộ các đối tượng huấn luyện và làm như sau:
Bước 1: Nếu tại nút hiện thời, tất cả các đối tượng huấn luyện đều thuộc vàomột lớp nào đó thì nút này chính là nút lá có tên là nhãn lớp chung của các đốitượng
Bước 2: Trường hợp ngược lại, sử dụng một độ đo, chọn thuộc tính điều kiệnphân chia tốt nhất tập mẫu huấn luyện có tại nút
Bước 3: Tạo một lượng nút con của nút hiện thời bằng số các giá trị khác nhaucủa thuộc tính được chọn Gán cho mỗi nhánh từ nút cha đến nút con một giá trị củathuộc tính rồi phân chia các đối tượng huấn luyện vào các nút con tương ứng
Bước 4: Nút con K được gọi là thuần nhất, trở thành lá, nếu tất cả các đốitượng mẫu tại đó đều thuộc vào cùng một lớp
Bước 5: Lặp lại các bước 1 - 3 đối với mỗi nút chưa thuần nhất
Trong bước tạo cây, cây quyết định được khởi tạo với một nút gốc chứa toàn
bộ tập dữ liệu huấn luyện Sau đó, quá trình xây dựng cây quyết định được lặp lạicho đến khi tất cả các nút đều thuần nhất hoặc đạt đến một giới hạn nào đó Trongmỗi lần lặp, thuật toán sẽ chọn thuộc tính điều kiện phân chia tốt nhất để phân chiatập dữ liệu hiện tại Thuộc tính điều kiện phân chia tốt nhất là thuộc tính có khảnăng phân chia tập dữ liệu thành các tập con càng đồng nhất càng tốt Sau khi chọnđược thuộc tính điều kiện phân chia, thuật toán sẽ tạo các nút con của nút hiện tại.Mỗi nút con tương ứng với một giá trị của thuộc tính điều kiện phân chia đượcchọn Cuối cùng, các đối tượng trong nút hiện tại sẽ được phân chia vào các nút contương ứng Quá trình xây dựng cây quyết định sẽ dừng lại khi tất cả các nút đềuthuần nhất Một nút được coi là thuần nhất nếu tất cả các đối tượng trong nút đó đều
Trang 22có cùng nhãn lớp Tất cả các nút lá trong cây quyết định sẽ được gán nhãn bằngnhãn lớp phổ biến nhất của các đối tượng trong nút lá đó Các nút trong cây quyếtđịnh có thể được biểu diễn dưới dạng một biểu đồ Trong biểu đồ này, mỗi nút sẽđược biểu diễn bằng một hình vuông hoặc hình tròn Các cạnh của biểu đồ sẽ biểuthị các mối quan hệ phân chia giữa các nút.
B Tỉa cây
Những cây được mở rộng hoàn toàn đôi khi không tốt bằng những cây nhỏhơn vì nhiễu và sự thay đổi trong dữ liệu, có thể dẫn đến bị quá mức (Shi, 2007).Sau giai đoạn tạo cây, cắt tỉa cây quyết định là việc làm rất cần thiết để khắc phụcnhững khiếm khuyết của cây Cắt tỉa cây là cố gắng loại bỏ những nhánh không phùhợp hay những nhánh gây ra lỗi (Lân, 2018) Có thể dùng phương pháp “Độ dài mô
tả ngắn nhất” hay giá trị tối thiểu của độ lợi thông tin để tỉa cây Có thể chọn giá trịtối thiểu của độ lợi thông tin trong giai đoạn tạo cây đủ nhỏ để cho cây phát triểntương đối sâu, sau đó lại nâng giá trị này lên để tỉa cây
C Đánh giá cây
Dùng để đánh giá độ chính xác của cây kết quả trước khi đưa vào ứng dụngtrong thực tế Tiêu chí đánh giá là tổng số mẫu được phân lớp chính xác trên tổng sốmẫu đưa vào (tỉ lệ phần trăm được dự đoán chính xác)
Việc tạo cây là giai đoạn quan trọng nhất, nó chính là quá trình tạo ra mô hìnhlogic cho cây Để xây dựng cây quyết định, tại mỗi nút trong cần xác định mộtthuộc tính thích hợp để kiểm tra, phân chia dữ liệu thành các tập con (Lân, 2018)
1.4 Sử dụng cây quyết định
Kiểm tra những giá trị thuộc tính của từng nút bắt đầu từ nút gốc của câyquyết định Từ các nhánh chứa các giá trị của thuộc tính, ta tìm lần đến một phânlớp cuối cùng và từ đây ta có thể suy ra các luật tương ứng để mô tả cho quá trìnhkhám phá tri thức từ các mẫu dữ liệu
Việc chuyển đổi từ cây quyết định sang luật (rules) dạng if-then tạo ra nhữngquy tắc phân lớp dễ hiểu, dễ áp dụng Mỗi một đường dẫn từ gốc đến lá trong cây
Trang 23tạo thành một luật Mỗi cặp giá trị thuộc tính trên một đường dẫn tạo nên một sựliên kết Nút lá giữ quyết định phân lớp dự đoán Các luật tạo được dễ hiểu hơn cáccây.
1.5 Duyệt cây và phân lớp dữ liệu
A. Lựa chọn tiêu chuẩn phân lớp
Ta có thể chọn bất kỳ thuộc tính nào làm nút của cây, điều này có khả năngxuất hiện nhiều cây quyết định khác nhau cùng biểu diễn một tập mẫu, có cây xuấthiện nhiều nút hoặc cây đơn giản, điều quan trọng là chọn thuộc tính nào để có thểphân lớp tốt dữ liệu sau này, một cách trực quan là ta nên chọn thuộc tính có độphân biệt cao lên gần với nút gốc của cây, tức là chọn thuộc tính cho cây quyết địnhnhỏ nhất theo các cách sau Cách thứ nhất là tạo ra các nhóm sao cho một lớp chiếm
ưu thế trong từng nhóm Với cách thứ hai thì thuộc tính được chọn là thuộc tính cho
độ đo tốt nhất, có lợi nhất cho quá trình phân lớp
Độ đo lựa chọn thuộc tính là phép tính toán tìm tòi để chọn tiêu chí phân chia
“tốt nhất” Có ba biện pháp lựa chọn thuộc tính phổ biến là Information Gain, GainRatio và Gini Index (Han, 2011)
B. Điều kiện để dừng việc phân chia
Phân vùng đệ quy chỉ dừng lại khi bất kỳ điều kiện kết thúc nào sau đây làđúng: (Han, 2011)
o Tất cả những mẫu huấn luyện thuộc về cùng một lớp
o Không còn thuộc tính còn lại nào để phân chia tiếp Trong trường hợp này,biểu quyết đa số được sử dụng
o Không có bộ dữ liệu nào cho một nhánh nhất định
Các thuật toán trên cây quyết định điểm khác biệt chính là tiêu chuẩn phânchia như liệt kê bên trên, luận văn áp dụng thuật toán C4.5 nên trong nội dung chỉ
đề cập đến độ lợi thông tin để chọn lựa thuộc tính phân lớp
C. Độ lợi thông tin và tỉ lệ độ lợi thông tin
Trang 24a Entropy
Một bít là một chữ số nhị phân nên ta sử dụng một bít để đại diện cho đốitượng thì ta chỉ phân biệt được hai đối tượng, với n bít sẽ phân biệt được 2n đốitượng khác nhau Theo đó chúng ta có thể phân biệt n đối tượng bằng log2(n) bít.Một bộ mã P thiết kế để phân biệt các phần tử của tập {x}, để nhận diện được{x}, chúng ta cần –log2P(x) bít Nếu muốn xác định một phân phối thì ít nhất ta cầnphải dùng số bít kỳ vọng để nhận diện một phần tử là:
(công thức 1.1)gọi là nội dung thông tin hay Entropy của một phân phối (Sokolova & Lapalme, 2009)
b Độ lợi thông tin
Độ lợi thông tin là đại lượng được sử dụng để lựa chọn thuộc tính có độ lợithông tin lớn nhất để phân lớp dữ liệu (Quinlan, 1986) Giả sử cho P, N là hai lớp và
C là tập dữ liệu chứa p phần tử của lớp P và n phần tử của lớp N Khối lượng của
thông tin cần để quyết định một mẫu tùy ý trong C thuộc về lớp P hoặc N được định
nghĩa như sau:
c Tỉ lệ độ lợi thông tin
Ta nhận thấy độ lợi thông tin có xu hướng chọn các thuộc tính có nhiều giá trị,
tuy nhiên thuộc tính có nhiều giá trị không phải lúc nào cũng cho việc phân lớp tốtnhất, vì vậy ta cần chuẩn hóa độ lợi thông tin, việc chọn thuộc tính không chỉ dựavào độ lợi thông tin mà còn phụ thuộc vào hệ số phân chia
Trang 25Giả sử thuộc tính A trong tập D có k giá trị, được làm k tập D 1 , D 2 ,…, D k Hệ số
phân chia của thuộc tính A trong tập D ký hiệu là SplitInfo(A) được cho bởi công thức
1.5
(công thức 1.5)
Như vậy, tỉ lệ độ lợi thông tin của thuộc tính A là:
(công thức 1.6)
Đây là công thức tính tỉ lệ độ lợi thông tin cho thuộc tính A trên cơ sở dữ liệu
D, sau đó ta chọn thuộc tính nào có tỉ lệ độ lợi thông tin lớn nhất để phân lớp theo
thuộc tính đó
d Hệ số Gini và tỉ lệ hệ số Gini
Hệ số Gini là tỉ lệ phần trăm giữa diện tích của vùng nằm giữa đường bìnhđẳng tuyệt đối và đường cong Lorenz với diện tích của vùng nằm giữa đường bìnhđẳng tuyệt đối và đường bất bình đẳng tuyệt đối Hệ số Gini được đưa ra dựa vàohàm phân bố xác xuất, nó dựa trên việc tính bình phương các xác suất thành viêncho mỗi thể loại đích trong nút
Hình 1.2: Minh họa chỉ số Gini (Lân, 2018)
Trang 26Giả sử tập D được chia làm n lớp khác nhau, tần suất xuất hiện của lớp i trong
D là pi, chỉ số Gini của tập D được ký hiệu là Gini(D), được cho bởi công thức 1.7
(Patel & Rana, 2014)
(công thức 1.7)
Nếu tập D được tách thành 2 tập con D1, D2 thì hệ số Gini của tập D khi được chia tách được gọi là tỉ lệ hệ số Gini (GiniSplitIndex) ký hiệu là Gini(D)Split đượcxác định như công thức 1.8
(công thức 1.8)
D Vấn đề quá khớp trong phân lớp dữ liệu
Cây được tạo ra có thể quá khớp với dữ liệu huấn luyện Có hai cách tiếp cận
để tránh quá khớp dữ liệu như sau:
Khi có độ nhiễu của dữ liệu, một số có thể phản ánh sự dị thường vì nhữngphần tử hỗn loạn hoặc những phần tử nằm ngoài phân lớp, dữ liệu huấn luyện quá íttạo thành các giá trị tối đa cục bộ trong tìm kiếm tham lam, đôi lúc mỗi mẫu dữ liệucho ta một khái niệm Kết quả nhận được cây quá nhiều nhánh, thiếu chính xác đốivới những mẫu chưa biết Vì thế, trong thuật toán quy nạp chúng ta đã dùng các độ
đo để chọn thuộc tính phân lớp cây vừa đủ sâu và cho kết quả phân lớp tốt nhất.Tuy nhiên, ngay cả sử dụng các độ đo vẫn còn có quá nhiều các khái niệm nhấtquán với không gian giả thuyết trên tập huấn luyện, có những trường hợp chỉ có vàimẫu dữ liệu cho một khái niệm, như vậy cây quyết định được kết hợp để phân lớptất cả các trường hợp của tập huấn luyện một cách chính xác có thể thực hiện mộtcách nghèo nàn trên các mẫu mới mà đã không được sử dụng để xây dựng câyquyết định, ta nói đây là trường hợp quá khớp với dữ liệu huấn luyện bởi vì dữ liệuhuấn luyện chỉ là một tập con của tất cả các mẫu trong kho dữ liệu Vấn đề làm thếnào xây dựng được mô hình tốt nhất dự đoán cho các mẫu chưa biết
Có hai cách tiếp cận để tránh quá khớp dữ liệu như sau:
Tỉa trước: cách tiếp cận này dùng để dừng sự tăng trưởng của cây sớm hơn
trước khi nó tìm đến một điểm mà tại đó phân lớp hoàn hảo tập dữ liệu huấn luyện.Điều đó có nghĩa là không tiếp tục phân vùng một nút nếu điều này tạo kết quả ởdưới một ngưỡng theo một hệ đánh giá nhất định Khi dừng lại một nút thì nút đó
Trang 27trở thành nút lá và nó có thể chứa hầu hết tần suất xuất hiện các lớp giữa các tập concủa mẫu hoặc phân phối xác suất của toàn bộ mẫu Khó khăn nhất trong việc tỉatrước là tạo ra một ngưỡng thích hợp để dừng việc phân chia tại một nút.
Tỉa sau: đây là cách tiếp cận phổ biến nhất, cho phép một cây tăng trưởng đầy
đủ, sau đó ta mới tiến hành cắt tỉa bằng cách duyệt từ dưới lên Tại mỗi nút trongcủa cây, ta tính tỉ lệ sai số kỳ vọng khi nó bị cắt bỏ và khi chưa cắt Tỉ lệ sai số khi
nó bị cắt được tính dựa vào hợp nhất các thể hiện ở các nhánh con của nó Tỉ lệ sai
số khi nó chưa bị cắt được tính theo tỉ lệ sai số ở mỗi nhánh kết hợp với trọng sốcủa mỗi nhánh Nếu việc cắt bỏ một nút dẫn đến tỉ lệ sai số trông đợi lớn hơn thì nút
đó được giữ lại, ngược lại thì cắt bỏ Nút bị cắt bỏ sẽ trở thành nút lá và nhãn lớpđược thay bằng hầu hết tần suất xuất hiện giữa các lớp trong các nhánh tạo thànhnó
E Cây quyết định với cơ sở dữ liệu lớn
Sự phân lớp là một vấn đề cổ điển được nghiên cứu một cách mở rộng bởinhững nhà thống kê và những nhà nghiên cứu máy học, chúng có tính co giãn vìvậy phân lớp các tập dữ liệu có hàng triệu mẫu và hàng trăm thuộc tính với tốc độchấp nhận được
Quy nạp cây quyết định được đánh giá cao trong khai phá dữ liệu lớn vì nhữngnguyên nhân như tốc độ học tương đối nhanh so với những phương pháp phân loạikhác Có thể hoán chuyển được thành những luật phân lớp đơn giản và dễ hiểu Cóthể sử dụng ngôn ngữ truy vấn có cấu trúc (SQL) để truy xuất cơ sở dữ liệu Sựchính xác phân lớp có thể so sánh được với những phương pháp khác
Giải thuật cây quyết định là mô hình dạng cây Không có giới hạn cho khốilượng dữ liệu đầu vào cũng như số lượng thuộc tính được gán vào giải thuật, khốilượng càng lớn cây càng lớn, càng rộng và càng sâu hơn
1.6 Độ đo đánh giá hiệu suất phân loại
Trong học máy và trong các bài toán phân lớp theo thống kê, ma trận nhầmlẫn còn gọi là ma trận lỗi hoặc ma trận so khớp là bảng vuông, hai chiều cho phépthể hiện trực quan các chỉ tiêu đánh giá thuật toán cây quyết định cho lớp bài toánphân lớp, dự đoán
Trang 28Hình 1.3: Ma trận dự đoán 22 và công thức tính percision, recall, accuracy
Trong ma trận, mỗi dòng mô tả các trường hợp xảy ra theo thực tế, mỗi cột thểhiện các trường hợp xảy ra theo dự đoán hoặc ngược lại khi bảng đổi dòng thành cột(hay ma trận được chuyển vị) Trường hợp số lớp là n, ma trận nhầm lẫn sẽ là nn(Jurafsky & Martin, 2023)
Trong đó false positive (FP) là số mẫu bị phân lớp sai là dương tính; truepositive (TP) là số mẫu được phân lớp đúng là dương tính; false negative (FN) là sốmẫu bị phân lớp sai là âm tính; true negative (TN) là số mẫu được phân lớp đúng là
âm tính Việc đánh giá hiệu năng của các cây quyết định được thực hiện qua việc đo
và so sánh các chỉ số (Patel & Prajapati, 2018)
Trang 29o Độ bao phủ (recall) hay tỉ lệ thực dương (true positive rate -TPR) hay độnhạy hay tỉ lệ trúng đích
(công thức 1.10)
Độ bao phủ được định nghĩa là tỉ lệ số điểm dương tính mô hình dự đoán đúngtrên tổng số điểm thật sự là dương tính (hay tổng số điểm được gán nhãn là dươngtính ban đầu)
Độ bao phủ càng cao, tức là số điểm là dương tính bị bỏ sót càng ít Độ baophủ bằng 1, tức là tất cả số điểm có nhãn là dương tính đều được mô hình nhận ra
Độ chính xác và độ bao phủ mong muốn càng cao càng tốt Tuy nhiên trongthực tế nếu ta điều chỉnh để tăng độ bao phủ quá mức có thể dẫn đến độ chính xácgiảm và ngược lại, cố điều chỉnh model để tăng độ chính xác có thể làm giảm độbao phủ
o Độ đặc hiệu (specificity – SPC) hay tỉ lệ thực âm (true negative rate –TNR)
(công thức 1.11)
o Độ chính xác (precision)
(công thức 1.12)
o Thời gian huấn luyện và kiểm tra
Điều này đề cập đến chi phí tính toán liên quan đến việc tạo và sử dụng bộphân loại đã cho
1.7 Đánh giá độ chính xác của mô hình phân lớp
Có nhiều kỹ thuật đánh giá độ chính xác dự báo như: đánh giá chéo K-fold,Holdout, Re-substitution và Leave-one-out (Mehta, 1996) Trong đó phương phápđánh giá phổ biến là holdout và k-fold cross-validation Cả 2 kỹ thuật này đều dựatrên các phân hoạch ngẫu nhiên tập dữ liệu ban đầu
Phương pháp holdout, dữ liệu đưa ra được phân chia ngẫu nhiên thành 2 phầnlà: tập dữ liệu đào tạo và tập dữ liệu kiểm tra Thông thường 2/3 dữ liệu cấp cho tập
dữ liệu đào tạo, phần còn lại cho tập dữ liệu kiểm tra
Trang 30Hình 1.4: Phương pháp Holdout
Phương pháp K-fold (k-fold cross validation) tập dữ liệu ban đầu được chia
ngẫu nhiên thành k tập con (fold) có kích thước xấp xỉ nhau S 1 , S 2 , …, Sk Quá trình
học và kiểm tra được thực hiện k lần Tại lần lặp thứ i, S i là tập dữ liệu kiểm tra, cáctập còn lại hợp thành tập dữ liệu đào tạo Có nghĩa là, đầu tiên việc dạy được thực
hiện trên các tập S 2 , S 3 ,…, S k , sau đó kiểm tra trên tập S 1; tiếp tục quá trình dạy được
thực hiện trên tập S 1 , S 3 , S 4 ,…, S k , sau đó kiểm tra trên tập S 2; và cứ thế tiếp tục Độ
chính xác là toàn bộ số phân lớp đúng từ k lần lặp chia cho tổng số mẫu của tập dữ
liệu ban đầu
Trang 31Hình 1.5: Đánh giá chéo 10 lần
Do đó, đánh giá chéo K-fold được xem là hiệu quả, phù hợp với các cây quyết
định Các bản ghi được phân ngẫu nhiên thành k tập con; một tập con được chỉ định
là tập dữ liệu kiểm tra và các tập con còn lại được xử lý như tập dữ liệu huấn luyện
Sau đó, quá trình đánh giá chéo lặp lại k lần, cũng như độ chính xác phân lớp có thể được kiểm tra thông qua các độ chính xác phân lớp trung bình từ k lần đánh giá.
Đánh giá chéo K-fold đặc biệt phù hợp với nguồn dữ liệu huấn luyện lớn, trái vớiđánh giá Leave-one-out, tốn nhiều thời gian để thực hiện
Trang 321.8 Ưu và nhược điểm của cây quyết định
Cây quyết định là một thuật toán đơn giản và phổ biến Thuật toán này được
sử dụng rộng rãi bởi những lợi ích của nó nhưng đi kèm là các ưu và nhược điểmsau:
Ưu điểm:
Mô hình sinh ra các quy tắc dễ hiểu cho người đọc, tạo ra bộ luật với mỗinhánh lá là một luật của cây Dữ liệu đầu vào có thể là dữ liệu còn thiếu, không cầnchuẩn hóa hoặc tạo biến giả Có thể làm việc với cả dữ liệu số và dữ liệu phân loại
Có thể xác thực mô hình bằng cách sử dụng các kiểm tra thống kê Có khả năng làmviệc với dữ liệu lớn
Nhược điểm:
Mô hình cây quyết định phụ thuộc rất lớn vào dữ liệu Thậm chí, với một sựthay đổi nhỏ trong bộ dữ liệu, cấu trúc mô hình cây quyết định có thể thay đổi hoàntoàn Cây quyết định hay gặp vấn đề quá khớp
1.9 Thuật toán sử dụng xây dựng cây quyết định
Có rất nhiều thuật toán khác nhau có thể được sử dụng để xây dựng cây quyếtđịnh Một số thuật toán phổ biến bao gồm: ID3, C4.5 và CART Các thuật toán nàyđều có những ưu điểm và nhược điểm riêng
A Thuật toán ID3
Iterative Dichotomiser 3 là một thuật toán học cây quyết định đơn giản đượcQuinlan giới thiệu vào năm 1986 Ý tưởng cơ bản của thuật toán ID3 là xây dựngcây quyết định bằng cách sử dụng tìm kiếm tham lam từ trên xuống thông qua cáctập hợp đã cho để kiểm tra từng thuộc tính tại mỗi nút cây Trong phương pháp câyquyết định, phương pháp thu thập thông tin thường được sử dụng để xác định thuộctính phù hợp cho từng nút của cây quyết định được tạo Do đó, chúng ta có thể chọnthuộc tính có độ lợi thông tin cao nhất (công thức 1.4) làm thuộc tính thử nghiệmcủa nút hiện tại Bằng cách này, thông tin cần thiết để phân loại tập con mẫu huấnluyện thu được từ quá trình phân vùng sau này sẽ là nhỏ nhất Vì vậy, việc sử dụngthuộc tính này để phân vùng tập mẫu có trong nút hiện tại sẽ làm cho mức độ hỗn
Trang 33hợp của các loại khác nhau đối với tất cả các tập hợp con mẫu được tạo sẽ giảmxuống mức tối thiểu Do đó, việc sử dụng cách tiếp cận lý thuyết thông tin sẽ làmgiảm một cách hiệu quả số lượng phân chia cần thiết của việc phân loại đối tượng.
B Thuật toán CART
CART viết tắt của Cây phân loại và hồi quy được Breiman giới thiệu vào năm
1984 Nó xây dựng cả cây phân loại và cây hồi quy Việc xây dựng cây phân loạibằng CART dựa trên việc phân tách nhị phân các thuộc tính Chỉ số Gini (công thức1.7) được sử dụng làm thước đo phân tách trong việc lựa chọn thuộc tính phân tách.CART khác với thuật toán dựa trên Hunt khác vì nó cũng được sử dụng để phântích hồi quy với sự trợ giúp của cây hồi quy Tính năng phân tích hồi quy được sửdụng để dự báo một biến phụ thuộc dựa trên một tập hợp các biến dự đoán trongmột khoảng thời gian nhất định CARTS hỗ trợ dữ liệu thuộc tính danh nghĩa vàliên tục và có tốc độ xử lý trung bình
Nhận xét: ID3 là thuật toán đơn giản và hiệu quả, nhưng chúng có thể dẫn đếncác cây quyết định quá phức tạp CART là một thuật toán linh hoạt hơn, nhưng nó
có thể khó hiểu hơn Và C4.5 là một phiên bản cải tiến của ID3, thích hợp cho các
dữ liệu phân loại có kích thước lớn và cây quyết định đơn giản dễ hiểu
1.10 Thuật toán C4.5
Thuật toán C4.5 do Quinlan phát triển vào năm 1996 Thuật toán C4.5 là mộtthuật toán được cải tiến từ thuật toán ID3 với việc cho phép xử lý trên tập dữ liệu cócác thuộc tính số và làm việc được với tập dữ liệu bị thiếu và bị nhiễu (Quinlan,2014) Nhiệm vụ của giải thuật C4.5 là học cây quyết định từ một tập các dữ liệuhuấn luyện bằng cách xét từng thuộc tính của tập dữ liệu huấn luyện để tìm ra thuộctính có độ lợi thông tin cao nhất và phân nhánh cho thuộc tính đó Biểu diễn nàycho phép chúng ta xác định phân loại một đối tượng bằng cách kiểm tra các giá trịcủa nó trên một số thuộc tính nào đó
Tiêu chí chọn thuộc tính thuật toán C4.5 là xét tất cả các phép thử có thể đểphân chia tập dữ liệu đã cho và chọn ra một phép thử có giá trị GainRatio tốt nhất(công thức 1.6 và công thức 1.5)
Trang 34Ý tưởng giải thuật C4.5 như sau:
Đầu vào: Một tập hợp các mẫu huấn luyện Mỗi mẫu huấn luyện bao gồm cácthuộc tính mô tả một tình huống, hay một đối tượng nào đó, và một giá trị phân loạicủa nó
Đầu ra: Cây quyết định có khả năng phân loại đúng đắn các mẫu huấn luyệntrong tập dữ liệu rèn luyện, và phân loại đúng cho cả các bộ chưa gặp trong tươnglai
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 trongtập_mẫu_huấn_luyện
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 V các mẫu trong tập_mẫu_huấn_luyện có giá trị V tại
thuộc tính P; Gọi induce_tree(phân_vùng V, tập_thuộc_tính), gắn kết
Trang 35trong D (Han, 2011) Như vậy độ phức tạp của C4.5 là O(m n log n) với m là
số thuộc tính, n là số thể hiện của tập huấn luyện.
Ví dụ về cách thức thực hiện thuật toán C4.5 với 21 mẫu dữ liệu huấn luyệntheo bảng 1.1
Bảng 1.1: Cơ sở dữ liệu mẫu
Sudden Weight Loss
Ta áp dụng tính độ đo GainRatio cho các thuộc tính theo bảng dữ liệu mẫutrên để xác định thuộc tính nào được chọn trong quá trình tạo cây quyết định
Bộ mẫu dữ liệu của chúng ta có 02 miền giá trị {d, a} (d ứng với “Positive” và
Trang 36Entropy của thuộc tính PolyuriaSTT Polyuria di ai I(di, ai)
I(d1, a1) = - * log2 - * log2 = 0.684
I(d2, a2) = -* log2 - * log2
Do đó:
Gain(Polyuria) = I(S) – E(Polyuria) = 0.985 – 0.358 = 0.627Tính độ đo SplitInfo cho thuộc tính Polyuria:
SplitInfo(Polyuria) = Vậy ta tính được độ đo GainRatio cho thuộc tính Polyuria:
= Tương tự độ đo GainRatio cho thuộc tính Polyuria, tiến hành tính cho 15thuộc tính còn lại Độ đo GainRatio của 16 thuộc tính được sắp xếp giảm dần theobảng 1.2
Bảng 1.2: Độ đo GainRatio của 16 thuộc tính
Trang 37Hình 1.6: Cây quyết định tại thuộc tính Polyuria
Nhận xét: Sau khi phân nhánh cây theo thuộc tính “Polyuria”, ở nút con có
thuộc tính “No” có tất cả các mẫu thuộc về một lớp, tuy nhiên thuộc tính “Yes” vẫnchưa có mẫu nào thuộc về một lớp Vì vậy ta lập bảng dữ liệu phân theo giá trịtương ứng theo từng nút và tiếp tục phân nhánh cây quyết định theo từng nút này
Trang 38Bảng 1.3: Mẫu dữ liệu với thuộc tính Polyuria có giá trị Yes(S1)
Sudden Weight Loss
Tiếp tục áp dụng thuật toán C4.5 cho từng nút tương ứng dữ liệu bảng 1.3
Tính lượng thông tin trên tất cả mẫu dữ liệu S1:
I(S) = -0.684
Tính GainRatio cho thuộc tính Gender:
Bảng Entropy của thuộc tính Gender
Trang 39Bảng 1.4: Độ đo GainRatio của 15 thuộc tính
Hình 1.7: Cây quyết định tại thuộc tính Alopecia
Tiếp tục áp dụng thuật toán cho dữ liệu thuộc tính Alopecia nhánh “Yes” Ta
có dữ liệu S2 như bảng 1.5:
Trang 40Bảng 1.5: Mẫu dữ liệu với thuộc tính Alopecia có giá trị Yes(S2)
Sudden Weight Loss
Tương tự tính độ đo GainRatio của 13 thuộc tính còn lại và được sắp xếp giảmdần như bảng 1.6:
Bảng 1.6: Độ đo GainRatio của 14 thuộc tính
Như vậy thuộc tính có độ đo GainRatio lớn nhất là “Polydipsia”, “Itching”,
“Irritability” Ta chọn thuộc tính “Polydipsia” Cây quyết định với thuật toán C4.5
có dạng như hình 1.8: