1. Trang chủ
  2. » Luận Văn - Báo Cáo

Á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

87 23 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Á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
Tác giả Nguyễn Anh Quân
Người hướng dẫn TS. Hà Thị Như Hằng
Trường học Trường Đại Học Duy Tân
Chuyên ngành Khoa Học Máy Tính
Thể loại Luận Văn Thạc Sĩ
Năm xuất bản 2024
Thành phố Đà Nẵng
Định dạng
Số trang 87
Dung lượng 1,97 MB

Nội dung

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 1

BỘ 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 2

BỘ 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 3

Tô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 4

LỜ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 5

MỤ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 6

2.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 7

Phò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 8

câ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 9

DANH 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 10

DANH 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 11

Hì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 13

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â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 14

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ữ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 16

nghiê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 17

Chươ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 18

Chươ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 19

chú ý 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 20

chấ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 21

A 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 22

có 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 23

tạ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 24

a 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 25

Giả 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 26

Giả 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 27

trở 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 28

Hì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 29

o Độ 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 30

Hì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 31

Hì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 32

1.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 33

hợ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 35

trong 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 36

Entropy 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 37

Hì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 38

Bả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 39

Bả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 40

Bả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:

Ngày đăng: 25/02/2024, 11:55

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w