Hồ Chí Minh Chuyên ngành: Công Nghệ Thông Tin MSHV: 1541860045 I- Tên đề tài: KHAI THÁC DỮ LIỆU PHÂN LỚP BỆNH NHÂN ĐIỀU TRỊ TẠI BỆNH VIỆN - Theo mã ICD II- Nhiệm vụ và nội dung: - Ng
Trang 1LÊ ANH TUẤN
KHAI THÁC DỮ LIỆU PHÂN LỚP BỆNH NHÂN ĐIỀU TRỊ TẠI BỆNH VIỆN - Theo mã ICD
LUẬN VĂN THẠC SĨ
Chuyên ngành: CÔNG NGHỆ THÔNG TIN
Mã số ngành: 60480201
TP HỒ CHÍ MINH, năm 2018
Trang 2LÊ ANH TUẤN
KHAI THÁC DỮ LIỆU PHÂN LỚP BỆNH NHÂN ĐIỀU TRỊ TẠI BỆNH VIỆN - Theo mã ICD
LUẬN VĂN THẠC SĨ
Chuyên ngành: CÔNG NGHỆ THÔNG TIN
Mã số ngành: 60480201 CÁN BỘ HƯỚNG DẪN KHOA HỌC: TS LÊ THỊ NGỌC THƠ
TP HỒ CHÍ MINH, năm 2018
Trang 3Cán bộ hướng dẫn khoa học: TS LÊ THỊ NGỌC THƠ
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Luận văn Thạc sĩ được bảo vệ tại Trường Đại học Công nghệ TP HCM ngày 17 tháng 06 năm 2018
Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ Luận văn Thạc sĩ)
3 TS Nguyễn Thị Thúy Loan Phản biện 2
Xác nhận của Chủ tịch Hội đồng đánh giá Luận sau khi Luận văn đã được sửa chữa (nếu có)
Chủ tịch Hội đồng đánh giá LV
CÁN BỘ HƯỚNG DẪN KHOA QUẢN LÝ CHUYÊN NGÀNH
(Họ tên và chữ ký) (Họ tên và chữ ký)
Trang 4NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: LÊ ANH TUẤN Giới tính: Nam
Ngày, tháng, năm sinh: 01/01/1980 Nơi sinh: TP Hồ Chí Minh
Chuyên ngành: Công Nghệ Thông Tin MSHV: 1541860045
I- Tên đề tài:
KHAI THÁC DỮ LIỆU PHÂN LỚP BỆNH NHÂN ĐIỀU TRỊ
TẠI BỆNH VIỆN - Theo mã ICD
II- Nhiệm vụ và nội dung:
- Nghiên cứu kỹ thuật phân lớp dữ liệu theo cây quyết định và các công
trình nghiên cứu có liên quan
- Thu thập, xử lý dữ liệu
- Áp dụng thuật giải phân lớp vào thực tế trong bài toán phân lớp bệnh
nhân được xây dựng từ nguồn dữ liệu thực tế của bệnh viện Phạm Ngọc
Thạch Dự đoán các loại bệnh (ICD) sẽ phát triển theo từng bệnh nhân
- Đánh giá hiệu quả thực nghiệm
III- Ngày giao nhiệm vụ: 15/03/2017
IV- Ngày hoàn thành nhiệm vụ: /12/2017
V- Cán bộ hướng dẫn: TS LÊ THỊ NGỌC THƠ
CÁN BỘ HƯỚNG DẪN KHOA QUẢN LÝ CHUYÊN NGÀNH
(Họ tên và chữ ký) (Họ tên và chữ ký)
Trang 5LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này
đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc
Học viên thực hiện Luận văn
(Ký và ghi rõ họ tên)
Lê Anh Tuấn
Trang 6LỜI CÁM ƠN
Trước tiên, tôi xin phép được gởi lời cám ơn đến Ban Giám hiệu, phòng Sau đại học, các Thầy Cô trong khoa Công nghệ thông tin Trường Đại học Công Nghệ TPHCM đã truyền đạt kiến thức cũng như cách học tập và nghiên cứu khoa học
Tôi xin chân thành cám ơn Ban Giám đốc Bệnh viện Phạm Ngọc Thạch, TS
BS Đặng Thị Minh Hà Trưởng phòng Kế hoạch tổng hợp, TS BS Nguyễn Thị Bích Yến, KTV Nguyễn Trần Hoài Diễm khoa Vi Sinh đã tư vấn và giúp đỡ tôi một cách nhiệt tình trong quá trình thực hiện nghiên cứu
Đặc biệt, tôi xin gởi lời cám ơn sâu sắc nhất tới TS Lê Thị Ngọc Thơ Cô đã hướng dẫn và định hướng, giúp tôi hoàn thành đề tài nghiên cứu này
Ngoài ra trong quá trình thực hiện luận văn, tôi đã nhận được sự giúp đỡ từ bạn
bè và các đồng nghiệp tại Bệnh viện Phạm Ngọc Thạch Mặc dù rất cố gắng nhưng không thể tránh được những thiếu sót trong quá trình thực hiện, tôi rất mong nhận được những ý kiến đóng góp từ Thầy Cô và các chuyên gia
Lê Anh Tuấn
Trang 7cụ trợ giúp ra quyết định nhanh và chính xác hơn cho các cơ quan cung cấp dịch vụ chăm sóc y tế
Bệnh lao: Trong các bệnh truyền nhiễm ở nước ta hiện nay, bệnh lao là bệnh thường gặp và có tỷ lệ tử vong đứng hàng thứ 2 sau HIV Ảnh hưởng đến 1/3 dân
số, hầu hết các trường hợp nhiễm khuẩn lao tiềm ẩn không nhận thấy được triệu chứng của bệnh Bệnh lao có khả năng lây lan từ người bệnh sang người lành, nếu không được chẩn đoán và điều trị kịp thời sẽ gây ảnh hưởng xấu đến tình hình sức khỏe cá nhân và cộng đồng Ở những người này, khi làm việc quá sức, thiếu dinh dưỡng có thể là điều kiện thuận lợi cho vi trùng lao bùng phát hoành hành Khả năng lây truyền phụ thuộc vào mức độ nhiễm khuẩn của người mắc phải, môi trường và thời gian phơi nhiễm và mức độc lực của vi khuẩn Việc lây truyền có thể được chấm dứt bằng cách cách ly người bệnh ở giai đoạn bệnh hoạt động và áp dụng biện pháp điều trị lao hiệu quả
Việc ứng dụng phần mềm thay thế cách làm thủ công để phân tích tình trạng bệnh nhân, phân tích khả năng khả năng diễn tiến bệnh khác nhau, trên cơ sở đó sẽ cho các bác sĩ cũng như chuyên gia tìm hiểu, chẩn đoán, đánh giá nguyên nhân cũng như cách thức điều trị, dự phòng bệnh hiệu quả Do đó một trong những yêu cầu khai thác dữ liệu là để phân tích, dự đoán tình hình phát triển của bệnh
Qua quá trình nghiên cứu luận văn đã đóng góp trong việc xây dựng bộ luật
áp dụng cho việc hỗ trợ sử dụng các phác đồ điều trị phù hợp với bệnh nhân, hạn chế tình trạng kháng thuốc; so sánh độ đo và thời gian thực hiện của các thuật toán;
so sánh các thuộc tính được lựa chọn bởi các chuyên gia với toàn bộ thuộc tính của
dữ liệu bài toán
Trang 8ABSTRACT
As information and digitized records become the standard in the medical profession, it allows the development of medical record review and analysis These solutions help in improving patient health from operational deployment model Then, they can apply the information obtained to detect or predict trends in data They are also tools to help making decisions faster and more accurately for health care providers
Tuberculosis (TB): Among the infectious diseases in our country nowadays, tuberculosis is a common disease and Additionally, TB is the second highest mortality rate after HIV Affecting by up to one third of the population, most latent
TB infections are not able to detect symptoms of the disease TB is possible to spread from patients to healthy person, and if not diagnosed and treated promptly, it can adversely affect the health of the individual and the community In these people, overwork, under-nutrition can be an advantage condition for TB germs to break out The ability to transmit depends on the level of infection of the infected person, the environment, the time of exposure and the virulence level of the bacteria Transmission can be terminated by isolating the patient at the disease stage and applying effective TB treatment
The software application replacing manual labor in analyzing patient status
as well as the possibility of disease progression will support doctors and experts to study, diagnose, evaluate the cause as well as the way to treat and prevent the disease effectively Therefore, one of the data mining requirements is to analyze and predict the lead time bias of the disease
The thesis researching process has contributed to the development of a code that applies to the support of the treatment regimens, limiting drug resistance, comparison of the measurements and the execution time of algorithms, comparison
of attributes selected by experts with all attributes of problem data
Trang 9MỤC LỤC
LỜI CAM ĐOAN i
LỜI CÁM ƠN ii
TÓM TẮT iii
ABSTRACT iv
MỤC LỤC v
DANH MỤC CÁC TỪ VIẾT TẮT viii
DANH MỤC CÁC BẢNG ix
DANH MỤC CÁC HÌNH x
CHƯƠNG 1: TỔNG QUAN 1
1.1 Lý do chọn đề tài 1
1.2 Mục tiêu, nội dung nghiên cứu 1
1.3 Phương pháp nghiên cứu 1
1.4 Cấu trúc luận văn 1
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 3
2.1 Khai phá dữ liệu 3
2.2 Quy trình và phương pháp khai phá dữ liệu 3
2.3 Khai phá dữ liệu được áp dụng trên các loại dữ liệu: 4
2.4 Một số kỹ thuật trong khai phá dữ liệu 4
2.5 Các ứng dụng của khai phá dữ liệu 5
2.6 Một số kỹ thuật phân lớp 5
2.6.1 k-Láng giềng gần nhất (k-Nearest Neighbor) 5
2.6.2 Mạng Nơron 6
2.6.3 Mạng Bayesian 6
2.6.4 Tập mờ và tập thô 6
2.6.5 Cây quyết định 7
2.6.6 Thuật toán ID3 8
2.6.7 Thuật toán C4.5 9
Trang 10CHƯƠNG 3: NGHIÊN CỨU VÀ ÁP DỤNG CHƯƠNG TRÌNH MÔ PHỎNG
TRONG KHAI THÁC DỮ LIỆU Y KHOA 11
3.1 Mục tiêu 11
3.2 Đối tượng và phạm vi 11
3.3 Phương pháp xử lý 11
3.4 Ứng dụng khai thác dữ liệu trong khai phá dữ liệu y khoa 11
3.4.1 Vai trò của bác sĩ, điều dưỡng trong khai phá dữ liệu y khoa 11
3.4.2 Tập dữ liệu y khoa 12
3.4.3 Phương pháp giải quyết 12
3.5 Ứng dụng khai phá dữ liệu trong khai phá dữ liệu bệnh nhân theo mã ICD 13
3.5.1 Thuộc tính ban đầu 14
3.5.2 Phương pháp giải quyết 15
3.5.3 Tập thuộc tính sau khi khai phá dữ liệu 15
3.6 Quy trình thực nghiệm 16
3.6.1 Tìm hiểu nhiệm vụ của bài toán 16
3.6.2 Thu thập dữ liệu 16
3.6.3 Chọn lựa kỹ thuật khai phá 17
CHƯƠNG 4: THỰC NGHIỆM VÀ KẾT QUẢ THỰC NGHIỆM 18
4.1 Phần mềm WEKA 18
4.1.1 Giới thiệu về Weka, lịch sử phát triển 18
4.1.2 Các chức năng, thuật toán, kiểu dữ liệu của Weka 18
4.1.3 Môi trường thực thi 19
4.2 Dữ liệu y khoa tại bệnh viện Phạm Ngọc Thạch và thực nghiệm 19
4.3 Xây dựng cây quyết định 23
4.4 Kết quả thực nghiệm 27
4.5 Đánh giá kết quả thực nghiệm 29
4.5.1 Đánh giá theo phương pháp Holdout (Splitting), chia dữ liệu ra thành 2 phần là 80% huấn luyện và 20% kiểm tra 29
4.5.2 Đánh giá theo phương pháp k-fold cross validation, chọn k=10 30
Trang 11CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 34
5.1 Kết luận: 34
5.2 Hướng phát triển 35
TÀI LIỆU THAM KHẢO 36
PHỤ LỤC
Trang 12
DANH MỤC CÁC TỪ VIẾT TẮT
ICD Bộ mã phân loại bệnh tật theo quốc tế
Trang 13DANH MỤC CÁC BẢNG
Bảng 4.1: Dữ liệu huấn luyện 22
Bảng 4.2: Độ lợi thông tin của thuộc tính Kháng sinh đồ 24
Bảng 4.3: So sánh kết quả tính GainRatio 25
Bảng 4.4: Luật từ cây quyết định 27
Bảng 4.5: Bảng phân loại bệnh 27
Bảng 4.6: Bảng so sánh đánh giá theo phương pháp Holdout 28
Bảng 4.7: Bảng so sánh đánh giá theo phương pháp k-fold cross validation 29
Trang 14DANH MỤC CÁC HÌNH
Hình 2.1: Quá trình khám phá tri thức từ CSDL 4
Hình 2.2: Biểu diễn cây quyết định cơ bản 7
Hình 2.3: Cây quyết định cho việc chơi tenis 8
Hình 3.1: Phần mềm tại bệnh viện Phạm Ngọc Thạch 13
Hình 4.1: Kết quả cây quyết định 26
Hình 4.8: Biểu đồ độ đo trong phương pháp Holdout 30
Hình 4.9: Biểu đồ độ đo phương pháp k-fold cross validation 30
Hình 4.10: Biểu đồ so sánh thời gian huấn luyện của hai phương pháp 31
Hình 4.11: Cây quyết định được tạo bởi 11 thuộc tính 31
Trang 15CHƯƠNG 1: TỔNG QUAN
1.1 Lý do chọn đề tài
Sự phát triển mạnh mẽ của công nghệ thông tin đã làm cho việc thu thập và lưu trữ thông tin tăng lên hết sức nhanh chóng Đồng thời việc tin học hóa trong các hoạt động sản xuất, thương mại, y tế, và nhiều lĩnh vực khác đã tạo ra một khối lượng dữ liệu khổng lồ Hàng triệu cơ sở dữ liệu đã được sử dụng dẫn đến yêu cầu cần thiết phải có những kỹ thuật và công cụ để có thể khai phá những dữ liệu đó thành các tri thức có ích
Để hỗ trợ trong việc khai phá dữ liệu chuyển thành tri thức có ích đã có nhiều phần mềm, nhiều thuật toán được sinh ra và cải tiến phát triển theo thời gian Trong nội dung nghiên cứu của luận văn sẽ tập trung tìm hiểu nghiên cứu khai thác
dữ liệu phân lớp
1.2 Mục tiêu, nội dung nghiên cứu
Luận văn tập trung nghiên cứu so sánh độ đo và thời gian thực hiện của các thuật toán, so sánh các thuộc tính được chọn từ chuyên gia, xây dựng bộ luật từ dữ liệu từ hồ sơ bệnh án điện tử của bệnh nhân đến thăm khám và điều trị tại Bệnh viện Phạm Ngọc Thạch nhằm hỗ trợ sử dụng các phác đồ phù hợp với bệnh nhân được chẩn đoán các bệnh về đường hô hấp, đặc biệt là bệnh lao
1.3 Phương pháp nghiên cứu
Đề tài nghiên cứu những nội dung chính như sau:
- Nghiên cứu kỹ thuật phân lớp dữ liệu C4.5
- Thu thập, xử lý dữ liệu
- Áp dụng thuật giải phân lớp vào bài toán phân lớp bệnh nhân được xây dựng từ nguồn dữ liệu thực tế của bệnh viện Phạm Ngọc Thạch
- Dự đoán các loại bệnh (ICD) sẽ phát triển theo từng bệnh nhân
- Đánh giá hiệu quả thực nghiệm
1.4 Cấu trúc luận văn
Luận văn gồm có 5 chương:
Chương 1: TỔNG QUAN
Trang 16Chương 2: CƠ SỞ LÝ THUYẾT
Chương 3: NGHIÊN CỨU VÀ ÁP DỤNG CHƯƠNG TRÌNH MÔ PHỎNG
TRONG KHAI THÁC DỮ LIỆU Y KHOA
Chương 4: THỰC NGHIỆM VÀ KẾT QUẢ THỰC NGHIỆM
Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Trang 17CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Đây là những khối dữ liệu khổng lồ, nhưng thông tin mà nó thể hiện ra không được sắp xếp thích hợp Kích thước của khối dữ liệu khổng lồ đó tăng với tốc
độ rất nhanh chiếm nhiều dung lượng lưu trữ Khai phá dữ liệu giúp trích xuất các mẫu, biến chúng thành những tri thức hữu ích
2.2 Quy trình và phương pháp khai phá dữ liệu
Quá trình khai phá dữ liệu được xem là một bước trong quá trình khám phá tri thức trong CSDL có sử dụng nhiều phương pháp và công cụ bao gồm các thuật toán chuyên dùng, dưới một số quy định về hiệu quả tính toán có thể chấp nhận được để tìm ra các mẫu Quá trình này được mô tả trong hình 2.1, gồm các bước sau:
- Xác định mục tiêu bài toán
- Thu thập dữ liệu
- Làm sạch dữ liệu, loại bỏ dữ liệu nhiễu và không phù hợp
- Tích hợp dữ liệu, nơi nhiều nguồn dữ liệu kết hợp lại
- Lựa chọn dữ liệu, các dữ liệu liên quan đến công việc phân tích
- Chuyển đổi dữ liệu, hợp nhất thành các hình thức thích hợp để khai thác
- Khai phá dữ liệu, là quá trình cốt yếu Ở giai đoạn này các thuật toán khác nhau được sử dụng một cách phù hợp để trích xuất thông tin có ích hoặc các mẫu điển hình trong dữ liệu
- Đánh giá mẫu, là giai đoạn cuối trong quá trình khai phá dữ liệu Ở giai đoạn này các mẫu được chiết xuất nhưng không phải mẫu nào cũng đều hữu ích, đôi khi còn bị sai lệch
Trang 18Hình 2.1: Quá trình khám phá tri thức từ CSDL
2.3 Khai phá dữ liệu được áp dụng trên các loại dữ liệu:
Khai phá dữ liệu được áp dụng trên nhiều loại dữ liệu khác nhau:
- Cơ sở dữ liệu quan hệ: là những CSDL được tổ chức theo mô hình quan
hệ Các hệ quản trị CSDL hỗ trợ mô hình này như Access, SQL, Oracle,
- Cơ sở dữ liệu đa chiều: dữ liệu được nhọn từ nhiều nguồn khác nhau và chứa những đặc tính khác nhau
- Cơ sở dữ liệu giao tác: là loại dữ liệu được sử dụng nhiều trong ngân hàng, siêu thị, trung tâm thương mại,
- Cơ sở dữ liệu quan hệ - hướng đối tượng: là mô hình lai giữa mô hình hướng đối tượng và CSDL quan hệ
- Cơ sở dữ liệu không gian và thời gian: chứa những thông tin về địa lý hoặc theo thời gian
- Cơ sở dữ liệu đa phương tiện: là loại dữ liệu có nhiều trên mạng, như âm thanh, hình ảnh, văn bản,
2.4 Một số kỹ thuật trong khai phá dữ liệu
Các kỹ thuật khai phá dữ liệu được chia thành 2 nhóm chính:
Biến đổi dữ liệu Đánh giá Khai thác dữ liệu
Tiền xử lý dữ liệu
Trích lọc dữ liệu
Tri thức
Dữ
liệu
Trang 19- Kỹ thuật dự đoán: có nhiệm vụ đưa ra các dự đoán dựa vào các suy diễn trên CSDL hiện thời Nhóm kỹ thuật này gồm các phương pháp: phân lớp, cây quyết định, thống kê
- Kỹ thuật mô tả: có nhiệm vụ mô tả các tính chất hoặc các đặc tính chung của dữ liệu hiện có Nhóm kỹ thuật này gồm các phương pháp: phân nhóm, tổng hợp hóa, phân tích luật kết hợp, phát hiện biến đổi và độ lệch
2.5 Các ứng dụng của khai phá dữ liệu
Khai phá dữ liệu được ứng dụng để giải quyết các vấn đề thuộc nhiều lĩnh vực khác nhau như:
- Tìm kiếm tài nguyên, hình ảnh vệ tinh, trong việc phát triển các hệ thống quản lý (phân tích khách hàng, mức tiêu thụ sản phẩm, )
- Áp dụng cho các vấn đề xã hội, tăng cường an ninh, trong y khoa phân tích chẩn đoán ra quyết định trong việc thăm khám và phương pháp điều trị
- Lĩnh vực khoa học, quan sát thiên văn, dữ liệu sinh học, tìm kiếm thông tin di truyền
- Sản xuất và chế biến, quy trình phương pháp chế biến và xử lý sự cố
- Lĩnh vực ngân hàng, quảng bá sản phẩm, quản lý rủi ro, phát hiện gian lận, quản trị quan hệ khách hàng
2.6 Một số kỹ thuật phân lớp
Có nhiều kỹ thuật phân lớp dữ liệu khác nhau nhằm thực hiện hai chức năng chính là mô tả và dự đoán Một số kỹ thuật phổ biến thường được sử dụng để khai phá dữ liệu:
2.6.1 k-Láng giềng gần nhất (k-Nearest Neighbor)
k-Nearest Neighbor là một trong những thuật toán đơn giản nhất trong Dataming Thuật toán này tìm ra các láng giềng gần nhất của mẫu dữ liệu và quy về các nhãn lớp của chúng dựa trên các nhãn đa số, có nghĩa là các mẫu quy về cùng lớp khi chúng là lân cận nhau Lợi thế của thuật toán k-Láng giềng gần nhất là dễ
Trang 20thực thi và kết quả nó mang lại dễ dàng giải thích Điểm bất lợi thuật toán này đưa
ra các mô hình lớn với một tập dữ liệu nhỏ
2.6.2 Mạng Nơron
Là kỹ thuật khai phá dữ liệu được sử dụng phổ biến, dựa trên nền tảng toán học, khả năng huấn luyện trong kỹ thuật này dựa trên mô hình hoạt động của hệ thần kinh trung ương con người Đó là một cấu trúc dữ liệu của các hàm với một hoặc nhiều trọng số đầu vào với kết quả đầu ra là một nhãn các lớp Phương pháp này thường đưa đến một khoảng thời gian huấn luyện dài
Kết quả mà mạng Nơron học được có khả năng tạo ra các mô hình dự báo,
dự đoán với độ chính xác và tin cậy cao Nó có khả năng phát hiện ra các xu hướng phức tạp mà các kỹ thuật thông thường khó có thể phát hiện được Tuy nhiên phương pháp này rất phức tạp và quá trình tiến hành gặp nhiều khó khăn do đòi hỏi thời gian huấn luyện dài, đưa ra các kết quả khó hiểu, nhiều dữ liệu
2.6.3 Mạng Bayesian
Mạng Bayesian là một mô hình xác suất và đồ thị cho phép thu thập, tích lũy,
mô phỏng, khai thác các nhận thức Các nút miêu tả các biến thuộc tính và các trạng thái, mỗi một cạnh miêu tả khả năng phụ thuộc giữa chúng Kết hợp với mỗi nút là các lớp cục bộ và các cung được vẽ từ nút nguyên nhân tới nút ảnh hưởng
Lợi thế của mạng Bayesian là thường đưa ra các kết quả dễ hiểu, được sử dụng cho việc mô hình hóa tri thức trong các hệ thống y học, kỹ thuật, phân tích văn bản, xử lý hình ảnh
2.6.4 Tập mờ và tập thô
Lý thuyết tập thô được phát triển trên nền tảng toán học vững chắc, cung cấp các công cụ để giải quyết các bài toán với khối lượng dữ liệu lớn, chứa đựng thông tin mơ hồ không chắc chắn Đối với các mô hình tập thô, một giới hạn trên và giới hạn dưới sẽ được xác định, giới hạn trên bao gồm các đối tượng chắc chắn thuộc, giới hạn dưới chứa tất cả các đối tượng có khả năng thuộc về tập đó
Trong việc xử lý các thuộc tính số trong CSDL, phân chia các giá trị số vào các tập rõ có thể dẫn đến việc đánh giá cao hoặc thấp các giá trị biên Tập mờ có thể
Trang 21khắc phục vấn đề bằng cách cho phép một phần tử có thể thuộc vào các tập khác nhau
2.6.5 Cây quyết định
Kỹ thuật phân lớp sử dụng cây quyết định là một công cụ mạnh và hiệu quả trong công tác phân lớp và dự đoán Dùng để phân tách các dữ liệu cho đến khi mỗi phần chứa đựng hầu hết các mẫu từ một lớp đặc trưng, kết quả của quá trình sẽ cho
ra một cây quyết định Trong đó, mỗi nút trong biểu diễn một thuộc tính, mỗi nhánh biểu diễn giá trị có thể có của thuộc tính, mỗi lá biểu diễn các lớp quyết định và đỉnh trên cùng của cây gọi là nút gốc Các giá trị của đối tượng dữ liệu chưa biết sẽ được dự đoán
Tri thức rút ra trong kỹ thuật này được mô tả đơn giản, trực quan, dễ hiểu đối với người sử dụng Lợi thế của cây quyết định là các thuật toán chạy khá nhanh, kết quả tốt, tuy nhiên điểm bất lợi của thuật toán này là có thể gặp phải là chúng có thể tìm ra các điểm tới hạn cục bộ, đưa ra các kết quả chưa đúng
Hình 2.2: Biểu diễn cây quyết định cơ bản Trong lĩnh vực máy học, cây quyết định là một kiểu mô hình dự báo, nghĩa là ánh xạ từ các quan sát về một sự vật hiện tượng tới các kết luận về giá trị mục tiêu của sự vật hiện tượng
Ví dụ: Một người có chơi tennis hay không?
Nút gốc
Nút trong Nút lá
Trang 22Hình 2.3: Cây quyết định cho việc chơi tenis
2.6.6 Thuật toán ID3
Thuật toán ID3 là một trong những thuật toán trong khai phá dữ liệu ID3 biểu diễn các khái niệm ở dạng cây quyết định, biểu diễn này cho phép chúng ta xác định phân loại của 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 đó
Thuật toán ID3 được phát biểu bởi Quinlan trường đại học Syney và được công bố vào cuối thập niên 70 Sau đó ID3 được giới thiệu và trình bày trong mục Induction on decision tres, machine learning năm 1986 [3]
Như vậy nhiệm vụ của thuật toán ID3 là học cây quyết định từ một tập các ví dụ rèn luyện hay còn gọi là dữ liệu rèn luyện
Giải thuật ID3 xây dựng cây quyết định như sau:
- Chọn A<= thuộc tính quyết định tốt nhất cho nút kế tiếp
- Gán A là thuộc tính quyết định cho nút
- Với mỗi giá trị của A, tạo nhánh con mới của nút
- Phân loại các mẫu huấn luyện cho các nút lá
- Nếu các mẫu huấn luyện được phân loại hoàn toàn thì ngưng
- Ngược lại thì lặp với các nút lá mới
Ưu điểm:
- Sử dụng thuật tìm kiếm leo đồi dựa trên giá trị Gain để tìm các thuộc tính trong toàn bộ cây quyết định
- Sử dụng dữ liệu huấn luyện ở từng bước
- Đầu ra chỉ là một kết quả duy nhất
Trang 23- Sử dụng các thuộc tính tĩnh, hạn chế lỗi cho những bản ghi dữ liệu riêng
lẻ
- Kiểm soát dữ liệu rác bằng các giảm bớt yêu cầu tiêu chuẩn cho việc chấp nhận những dữ liệu chưa hoàn chỉnh
Khuyết điểm:
- Không xử lý các thuộc tính có kiểu giá trị liên tục (số thực)
- Không hiệu quả khi xuất hiện những dữ liệu không mong muốn
- Cây quyết định khi sinh ra lớn, chưa được tối ưu ở mức có thể
2.6.7 Thuật toán C4.5
Thuật toán C4.5 là kết quả nghiên cứu của HUNT và các cộng sự của ông trong thập niên 50-60 Phiên bản đầu tiên ra đời là ID3 (Quinlan, 1979) là một hệ thống đơn giản ban đầu chứa khoảng 600 dòng lệnh Pascal Năm 1993, J Ross Quinlan kế thừa các kết quả đó và phát triển thành C4.5 với 9000 dòng lệnh C [4]
Với những đặc điểm C4.5 là thuật toán phân lớp dữ liệu dựa trên cây quyết định hiệu quả và phổ biến trong những ứng dụng khai phá cơ sở dữ liệu có kích thước nhỏ C4.5 sử dụng cơ chế lưu trữ dữ liệu thường trú trong bộ nhớ, chính đặc điểm này làm C4.5 chỉ thích hợp với những cơ sở dữ liệu nhỏ, và cơ chế sắp xếp lại
dữ liệu tại mỗi node trong quá trình phát triển cây quyết định C4.5 còn chứa một kỹ thuật cho phép biểu diễn lại cây quyết định dưới dạng một danh sách sắp thứ tự các luật if-then (một dạng quy tắc phân lớp dễ hiểu) Kỹ thuật này cho phép làm giảm bớt kích thước tập luật và đơn giản hóa các luật mà độ chính xác so với nhánh tương ứng cây quyết định là tương đương [1]
Thuật toán C4.5 đượ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ố (numeric atributes) và làm việc được với tập dữ liệu
bị thiếu và bị nhiễu Nó thực hiện phân lớp tập mẫu dữ liệu theo chiến lược ưu tiên theo chiều sâu (Depth - First) Thuật toán 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 GainRatio
là một đại lượng để đánh giá độ hiệu quả của thuộc tính dùng để thực hiện phép tách trong thuật toán để phát triển cây quyết định [2]
Trang 24Một số cải tiến của thuật toán C4.5
- Mạnh mẽ khi gặp những dữ liệu tạp, có khả năng phòng tránh hiện tượng Overfitting: là hiện tượng lượng dữ liệu không cần thiết (hoàn toàn có thể loại bỏ) vẫn được đưa vào Cây khiến cho kết quả trả về không tối ưu, cây lớn và rườm rà Ở các thuật toán tiên tiến hơn, vấn đề này đã được giải quyết, kết quả trả về cuối cùng sẽ được tối ưu hóa hơn
- Thích hợp được sử dụng với các dữ liệu liên tục
- Có thể chuyển đổi từ Cây quyết định thành các Luật
Trang 25CHƯƠNG 3: NGHIÊN CỨU VÀ ÁP DỤNG CHƯƠNG TRÌNH MÔ PHỎNG TRONG KHAI THÁC DỮ LIỆU Y
KHOA
3.1 Mục tiêu
Phân tích dữ liệu hồ sơ bệnh nhân, đánh giá tình trạng bệnh nhân, khả năng phát bệnh
Dữ liệu được đưa vào phần mềm là những dấu hiệu lâm sàng, cận lâm sàng
và thông tin bệnh nhân khi khám và nhập viện
3.4 Ứng dụng khai thác dữ liệu trong khai phá dữ liệu y khoa
3.4.1 Vai trò của bác sĩ, điều dưỡng trong khai phá dữ liệu y khoa
Các triệu chứng bệnh đường hô hấp là đa dạng Do đó việc chọn thuộc tính khai phá không đúng, thiếu hoặc dư thừa dẫn đến các luật thừa vô nghĩa, sinh ra các
mô hình chẩn đoán sai Để chọn thuộc tính khai phá chính xác, sử dụng tri thức chuyên gia bác sĩ, điều dưỡng là mục tiêu chính của khai phá dữ liệu y khoa
Tri thức sử dụng của điều dưỡng, bác sĩ là:
- Kiến thức chuyên môn: các bác sĩ, điều dưỡng được đào tạo chuyên sâu
về lĩnh vực chuyên môn chẩn đoán và điều trị bệnh, chăm sóc cho bệnh nhân, do đó những triệu chứng lâm sàng đã theo tiêu chuẩn nhất định
- Kinh nghiệm: ngoài các kiến thức chuyên môn đã được đào tạo, với kinh nghiệm làm việc lâu năm, các triệu chứng lâm sàn được thu hẹp lại
Trang 26- Y học chứng cứ và y học thực chứng: nghiên cứu chẩn đoán bệnh là một trong những đề tài khoa học được các y bác sĩ chứng minh qua thực tế lâm sàn chữa bệnh Tất cả các triệu chứng lâm sàn có giá trị chẩn đoán được chứng minh qua những điều trị cho bệnh nhân cụ thể, những bệnh
Công việc 1: chọn ra các tập con Ai, mỗi bác sĩ có thể có những tập đặc tính khác nhau, do đó để không thể bỏ sót trong chẩn đoán bệnh nên kết hợp kinh nghiệm của nhiểu chuyên gia càng tốt
Công việc 2: kiểm tra độ chính xác của từng tập con của công việc 1 bằng cách tiến hành thực nghiệm chẩn đoán bệnh cho bệnh nhân mới, sử dụng các kỹ thuật của khai phá dữ liệu để chẩn đoán bệnh
Công việc 3: chuẩn hóa tập thuộc tính có độ chính xác cao khi chẩn đoán
3.4.3 Phương pháp giải quyết
Phương pháp giải quyết công việc 1
Chọn ra các tập con đặc tính Ai có thể thực hiện một trong ba cách sau:
- Chọn theo kinh nghiệm của chuyên gia
- Chọn ngẫu nhiên
- Chọn theo vét cạn hay sử dụng các thuật toán rút gọn
Trong các cách trên, sử dụng kinh nghiệm của chuyên gia bác sĩ là tốt nhất vì:
Trang 27- Chọn vét cạn hay sử dụng các thuật toán rút gọn thuộc tính sẽ cho ra các tập con dư thừa Ai vì nó có thể không liên quan đến giá trị trong chẩn đoán
- Chọn ngẫu nhiên sẽ dẫn đến thiếu các tập con Ai mà những tập con này
có khả năng có giá trị trong chẩn đoán
- Chọn theo kinh nghiệm của chuyên gia khắc phục được khuyết điểm trên Phương pháp giải quyết công việc 2
Sử dụng một số kỹ thuật khai phá dữ liệu bằng cây quyết định để tiến hành chẩn đoán bệnh nhân mới
3.5 Ứng dụng khai phá dữ liệu trong khai phá dữ liệu bệnh nhân theo mã ICD
Tập dữ liệu y khoa các bệnh về đường hô hấp sử dụng trong luận văn này được trích xuất từ dữ liệu thật trên phần mềm tại bệnh viện Phạm Ngọc Thạch
Hình 3.1: Phần mềm tại bệnh viện Phạm Ngọc Thạch
Trang 28Danh sách các thuộc tính và đặc tính chẩn đoán như sau:
3.5.1 Thuộc tính ban đầu
Khi bệnh nhân đến khám bệnh hoặc nhập viện, có những thông tin sau: Thông tin hành chính
- Tỉnh táo hay hôn mê
- Đến khám ngày thứ mấy của bệnh
Trang 293.5.2 Phương pháp giải quyết
Phương pháp 1
Chọn ra các tập con đặc tính Ai
Chọn theo kinh nghiệm của chuyên gia
Tham khảo ý kiến chuyên gia bác sĩ tại bệnh viện Phạm Ngọc Thạch để chọn
ra các thuộc tính có đặc tính liên quan chẩn đoán:
- Chọn thuộc tính ICD (bộ mã phân loại bệnh tật theo quốc tế)
- Thông số, kết quả xét nghiệm:
- Thuộc tính các loại chỉ định xét nghiệm
- Kết quả xét nghiệm của các mẫu đàm, mẫu dịch, mẫu hạch, mủ, nước tiểu, phân, gốc trùng chuẩn
Phương pháp 2
Sử dụng kỹ thuật khai phá dữ liệu bằng cây quyết định với thuật toán C4.5 để tạo ra các luật và tiến hành chẩn đoán bệnh nhân mới
3.5.3 Tập thuộc tính sau khi khai phá dữ liệu
Tên thuộc tính Giải thích thuộc tính
KQ_SOI Kết quả soi kính hiển vi
CT_SOI Chi tiết soi kính hiển vi
CAY_MGIT Kỹ thuật cấy Mgit
Trang 30HAIN_R Kỹ thuật Hain, tìm kháng R
HAIN_I Kỹ thuật Hain, tìm kháng I
3.6 Quy trình thực nghiệm
3.6.1 Tìm hiểu nhiệm vụ của bài toán
Để chẩn đoán thành công, cần phải hiểu biết các kiến thức y học đặc biệt là lĩnh vực y học có liên quan thì mới đáp ứng chuyên môn điều trị vì ngành y là ngành chuyên sâu phục vụ chăm sóc sức khỏe nhân dân Sau đây là một số kiến thức cơ bản mà tôi đã tìm hiểu:
- Tìm hiểu các kiến thức cơ bản về y học
- Kiến thức về bệnh về đường hô hấp có liên quan, đặc biệt là bệnh lao
- Tìm hiểu các chẩn đoán, triệu chứng bệnh thường gặp
3.6.2 Thu thập dữ liệu
Nguyên tắc chọn lựa thuộc tính:
- Chọn theo kinh nghiệm chuyên gia, đề nghị các chuyên gia bác sĩ, điều dưỡng tư vấn những thuộc tính nào có liên quan đến bệnh nhân có các triệu chứng bệnh đường hô hấp
- Ngoài ra tham khảo thêm các tài liệu có liên quan đến bệnh đường hô hấp Tiến hành thu thập dữ liệu:
- Tiến hành mượn hồ sơ bệnh án theo đúng quy định
- Trích xuất dữ liệu từ phần mềm bệnh viện thành file Excel
Xử lý, chuyển đổi dữ liệu:
- Xử lý các dữ liệu dư thừa hoặc nhiễu, bước này cần chuyên gia bác sĩ, điều dưỡng tư vấn thêm
- Chuyển đổi các dữ liệu thích hợp để thuật toán có thể hiểu được
Trang 313.6.3 Chọn lựa kỹ thuật khai phá
Tùy theo dữ liệu cũng như nghiệp vụ bài toán mà lựa chọn kỹ thuật khai phá
dữ liệu thích hợp Trong luận văn này sử dụng kỹ thuật khai phá dữ liệu bằng cây quyết định
Trang 32CHƯƠNG 4: THỰC NGHIỆM VÀ KẾT QUẢ THỰC
NGHIỆM
4.1 Phần mềm WEKA
4.1.1 Giới thiệu về Weka, lịch sử phát triển
Weka viết tắt của Waikato Environment for Knowledge Analysis [3] là một
bộ phần mềm học máy được Đại học Waikato, New Zealand phát triển bằng Java và
là phần mềm mã nguồn mở phát hành theo giấy phép công cộng GNU
Weka là một công cụ hiện đại nhằm phát triển các kỹ thuật máy học, áp dụng chúng vào bài toán khai thác dữ liệu trong thực tế Ưu điểm của Weka: miễn phí cho người sử dụng; hỗ trợ trên nhiều hệ điều hành; là một tập hợp xử lý dữ liệu và
mô hình
Weka hỗ trợ 4 tùy chọn kiểm tra:
- Use Training Set (sử dụng tập huấn luyện): đánh giá khả năng dự đoán lớp của các mẫu được huấn luyện
- Supplied Test Set (tập hỗ trợ kiểm thử): sử dụng một tập dữ liệu khác với tập học để dùng cho việc đánh giá
- Cross Validation (đánh giá chéo): tập dữ liệu sẽ được chia đều thành k tập (folds) có kích thước xấp xỉ nhau và bộ phân loại học sẽ được đánh giá
- Percentage Split (tách theo tỷ lệ): chỉ định tỷ lệ phân chia tập dữ liệu đối với việc đánh giá
4.1.2 Các chức năng, thuật toán, kiểu dữ liệu của Weka
Trang 33- Dữ liệu có thể được nhập vào từ một tập tin có dạng arff, csv hoặc có thể
từ một địa chỉ url
4.1.3 Môi trường thực thi
Explorer là ứng dụng con cho phép thực nghiệm các nhiệm vụ khai thác dữ liệu như:
- Tiền xử lý dữ liệu: hiển thị thông tin về dữ liệu đang xét: tập dữ liệu (tên,
số mẫu, thuộc tính), các thuộc tính (tên, kiểu dữ liệu, giá trị thuộc tính), các biểu đồ minh họa thông tin
- Khai thác luật kết hợp: cung cấp các thuật toán như Apriori, thuật toán cải tiến PredictiveApriori
- Phân lớp: cung cấp rất nhiều thuật toán phân lớp như Bayes, SVM, ID3, C4.5,
- Gom nhóm: cung cấp các thuật toán gom nhóm phổ biến như DBSCan,
Simple CLI là giao diện đơn giản kiểu dòng lệnh như MS-DOS
4.2 Dữ liệu y khoa tại bệnh viện Phạm Ngọc Thạch và thực nghiệm
Việc thu thập dữ liệu tùy theo ngành nghề và có nguyên tắc riêng theo đúng quy định hoặc quy chế của cơ quan Dữ liệu khai phá trong luận văn là hồ sơ bệnh
án
Hồ sơ bệnh án là tài liệu y học, y tế và pháp lý, mỗi người bệnh chỉ có một
hồ sơ bệnh án trong mỗi lần khám, chữa bệnh tại cơ sở khám bệnh Chẩn đoán và kê đơn phải kết hợp chặt chẽ các triệu chứng, thực thể, lâm sàng, yếu tố gia đình, xã hội, tiền sử bệnh
Các bước tiến hành như sau:
- Bước 1: Mượn HSBA theo đúng quy định
Trang 34- Bước 2: Xuất dữ liệu từ HSBA và phần mềm ra file Excel
- Bước 3: Xử lý các dữ liệu dư thừa hoặc nhiễu
- Bước 4: Chuyển đổi thành dạng dữ liệu thích hợp arff để sử dụng trong Weka
Sau khi thu thập và xử lý, dữ liệu được đưa vào phần mềm gồm các thuộc tính sau:
Thuộc tính 1: gồm các kết quả soi (KQ_SOI)
0 AFB Soi âm tính
1+ Dương tính 1+
2+ Dương tính 2+
3+ Dương tính 3+
1-9 Dương tính 1-9
Thuộc tính 2: kết quả chi tiết soi (CT_SOI)
1/100 Tìm thấy 1 vi khuẩn lao
2/100 Tìm thấy 2 vi khuẩn lao
3/100 Tìm thấy 3 vi khuẩn lao
4/100 Tìm thấy 4 vi khuẩn lao
5/100 Tìm thấy 5 vi khuẩn lao
6/100 Tìm thấy 6 vi khuẩn lao
7/100 Tìm thấy 7 vi khuẩn lao
8/100 Tìm thấy 8 vi khuẩn lao
9/100 Tìm thấy 9 vi khuẩn lao
Thuộc tính 3:kết quả cấy MGIT (CAY_MGIT)
Duong tinh Kết quả dương tính
Am tinh Kết quả âm tính