You are on page 1of 26

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

~~~~~~*~~~~~~

BÁO CÁO ĐỒ ÁN CUỐI KỲ


HỆ HỖ TRỢ RA QUYẾT ĐỊNH
Chủ đề: HDPM: An Effective Heart Disease Prediction

Model for a Clinical Decision Support System

Giảng viên: Nguyễn Hồ Duy Trí

Nhóm 14

20521292 Lê Thị Ngọc Hảo

20521287 Nguyễn Hoàng Ngọc Hạnh

20521750 Trần Thạnh Phong

20521733 Lưu Vĩnh Phát

Thành phố Hồ Chí Minh, 11/2022


LỜI CẢM ƠN
Lời đầu tiên, nhóm chúng em xin gửi lời cảm ơn chân thành đến quý Thầy Cô trường Đại
học Công nghệ thông tin, đặc biệt là quý Thầy Cô Khoa Hệ thống thông tin - những
người đã dùng tri thức và tâm huyết của mình để truyền đạt cho chúng em vốn kiến thức
vô cùng quý báu trong khoảng thời gian học tập tại trường. Những kiến thức mà Thầy Cô
truyền đạt là bước đệm quan trọng giúp chúng em có thể hoàn thành đề tài đồ án tốt hơn.
Nhóm chúng em xin gửi lời cảm ơn đặc biệt chân thành tới thầy Nguyễn Hồ Duy Trí –
giảng viên môn Hệ hỗ trợ ra quyết định đã tận tình giúp đỡ, trực tiếp chỉ bảo, hướng dẫn
nhóm trong suốt quá trình làm đồ án môn học. Nhờ đó, chúng em đã tiếp thu được nhiều
kiến thức bổ ích trong việc vận dụng cũng như kỹ năng làm đồ án.
Trải qua thời gian một học kỳ thực hiện đề tài. Với sự hướng dẫn tận tình cùng những
đóng góp quý báu của Thầy và các bạn giúp nhóm chúng em hoàn thành tốt hơn báo cáo
môn học của mình. Bên cạnh việc vận dụng những kiến thức được học trên lớp đồng thời
kết hợp với việc học hỏi và tìm hiểu những kiến thức mới. Từ đó, nhóm đã vận dụng tối
đa những gì đã tiếp thu được để hoàn thành một báo cáo đồ án tốt nhất. Tuy nhiên, trong
quá trình thực hiện, không tránh khỏi những sai sót. Do đó, rất mong nhận được những sự
góp ý từ Thầy nhằm giúp nhóm hoàn thiện những kiến thức đã học tập và cũng là hành
trang để nhóm thực hiện tiếp các đề tài khác trong tương lai.
Một lần nữa xin gửi đến thầy cô, bạn bè lời cảm ơn chân thành và tốt đẹp nhất!

Thành phố Hồ Chí Minh, tháng … năm …


Nhóm sinh viên thực hiện
NHẬN XÉT CỦA GIẢNG VIÊN
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
MỤC LỤC

CHƯƠNG 1: TỔNG QUAN TÀI LIỆU 6


1. Giới thiệu quy trình 6
1.1 Tổng quan quy trình 6
1.2 Các nội dung trong nghiên cứu: 7
1.3 Mô tả đề tài 7
1.3.1 Lý do chọn đề tài 7
1.3.2 Đầu vào 7
1.3.3 Đầu ra 8
2. Nguyên lý và phương pháp của thuật toán: 8
2.1 Dữ liệu về bệnh tim 8
2.2. Phát hiện và loại bỏ dữ liệu ngoài dựa vào DBSCAN 9
2.3. Cân bằng dữ liệu dựa vào SMOTE-ENN 12
Lý do chọn đề tài
HDPM (Heart Disease Prediction Model) là mô hình dự báo bệnh tim. Như chúng ta đã
biết, bệnh tim là một thuật ngữ chung để mô tả nhiều bệnh lý khác nhau ảnh hưởng đến
sức khỏe tim mạch của một người. Bệnh tim mô tả các bệnh lý ảnh hưởng đến cơ tim,
van tim, động mạch vành hoặc nhịp tim của một người. "Số liệu thống kê trên thế giới
cho thấy, Covid-19 là nguyên nhân gây tử vong thứ 3, trong khi tim mạch vẫn là nguyên
nhân tử vong hàng đầu"- GS.TS Phạm Mạnh Hùng, Viện trưởng Viện Tim mạch quốc
gia, cho biết tại buổi hưởng ứng Ngày Tim mạch thế giới, sáng 24/9.
Mỗi năm, bệnh lý tim mạch bao gồm cả đột quỵ là nguyên nhân hàng đầu cướp đi 17,9
triệu sinh mạng. theo thống kê của Bộ Y tế khoảng 200.000 người tử vong vì bệnh này
mỗi năm, chiếm 33% tổng số ca tử vong. Bệnh lý tim mạch thường được cho là chỉ gặp ở
người lớn tuổi. Song trên thực tế, tần suất mắc bệnh ở người trẻ và trung niên cao hơn
chúng ta nghĩ, nó có thể xảy ra với bất kỳ ai và bất kỳ lứa tuổi nào và tuổi mới bị mắc
cũng ngày càng trẻ hoá. Do mức độ nghiêm trọng và sự nguy hiểm cực kì của bệnh tim,
những ca tử vong ngày càng nhiều, tuy nhiên bệnh lý này có thể được giảm thiểu bằng
cách chẩn đoán bệnh tim.
Bước đầu tìm hiểu về chuẩn đoán bệnh tim, chúng em đã tìm được Hệ thống hỗ trợ quyết
định lâm sàng (CDSS) có thể được sử dụng để chẩn đoán các đối tượng tình trạng bệnh
tim một cách sớm hơn. Đó là lý do chọn đề tài
MỞ ĐẦU

Tim mạch là bệnh lý xuất hiện âm thầm nhưng để lại nhiều hậu quả nghiêm trọng đối với
tính mạng. Trong những năm trở lại đây, tỷ lệ tử vong do các bệnh tim mạch ngày một
tăng ở các nước đang phát triển và dần là một trong những nguyên nhân chính gây tử
vong trên toàn thế giới, góp phần vào xấp xỉ 30% tổng số ca tử vong trên toàn cầu. Nếu
không được điều chỉnh thì tổng số người chết trên toàn cầu dự kiến sẽ tăng lên khoảng 22
triệu vào năm 2030. Hiệp hội Tim mạch Hoa Kỳ báo cáo rằng gần một nửa người Mỹ
trưởng thành bị ảnh hưởng bởi CVDs, tương đương với gần 121,5 triệu người lớn. Tại
Hàn Quốc, bệnh tim là một trong ba nguyên nhân hàng đầu gây tử vong và đóng góp vào
gần 45% tổng số ca tử vong trong năm 2018.

Tuy nhiên bệnh lý này có thể được giảm thiểu bằng cách chẩn đoán bệnh tim. Hệ thống
hỗ trợ quyết định lâm sàng (CDSS) có thể được sử dụng để chẩn đoán các đối tượng tình
trạng bệnh tim một cách sớm hơn

Nghiên cứu này đề xuất một mô hình dự đoán bệnh tim hiệu quả (HDPM) cho một CDSS
bao gồm: Phân nhóm không gian dựa trên mật độ của các ứng dụng có tiếng ồn
(DBSCAN) để phát hiện và loại bỏ các ngoại lệ, một kỹ thuật hỗn hợp giữa Synthetic
Minority Over-sampling Technique-Edited Nearest Neighbor (SMOTE-ENN) để cân
bằng giữa sự phân phối dữ liệu và XGBoost để dự đoán bệnh tim. Hai bộ dữ liệu có sẵn
công khai (Statlog và Cleveland) được sử dụng để xây dựng mô hình và so sánh kết quả
với của các mô hình khác (Naïve Bayes (NB), Logistic Regression (LR), Multilayer
perceptron (MLP), support vector machine (SVM), decision tree (DT), và random forest
(RF)) và các kết quả nghiên cứu trước đây. Và theo bài báo thì các kết quả nghiên cứu
cho thấy mô hình đề xuất hoạt động tốt hơn các mô hình khác và các kết quả nghiên cứu
trước đó đạt được độ chính xác lần lượt là 95,90% và 98,40% cho các bộ dữ liệu Statlog
và Cleveland.

Ngoài ra, bài báo còn thiết kế và phát triển nguyên mẫu của CDSS Bệnh tim (HDCDSS)
để giúp các bác sĩ lâm sàng có thể chẩn đoán tình trạng bệnh tim của bệnh nhân dựa trên
tình trạng hiện tại của họ. Vì vậy, việc chuẩn đoán và điều trị sớm có thể được tiến hành
để ngăn ngừa tử vong do bệnh tim
CHƯƠNG 1: TỔNG QUAN TÀI LIỆU
1. Giới thiệu quy trình
1.1 Tổng quan quy trình

Bệnh tim là một tình trạng khi mảng bám trên thành động mạch có thể chặn dòng
chảy của máu và gây ra một cơn đau tim hoặc chèn ép mạch máu. Một số yếu tố
nguy cơ có thể dẫn đến bệnh tim bao gồm chế độ ăn uống không lành mạnh, ít vận
động và sử dụng quá nhiều thuốc lá và rượu. Các yếu tố rủi ro này có thể được
giảm thiểu bằng cách thực hành lối sống tốt hàng ngày chẳng hạn như giảm muối
bằng cách ăn kiêng, tiêu thụ trái cây và rau quả, tập thể dục thường xuyên và
ngừng sử dụng thuốc lá và rượu, cuối cùng có thể giúp giảm nguy cơ mắc bệnh
tim. Chuẩn đoán và nhận dạng sớm bệnh tim của những người có nguy cơ cao và
sau đó được cải thiện bằng cách sử dụng mô hình dự đoán đã thường được khuyến
nghị để giảm tỷ lệ tử vong và cải thiện việc ra quyết định để tiếp tục phòng ngừa
và điều trị. Mô hình dự đoán được triển khai trong hệ thống hỗ trợ quyết định lâm
sàng (CDSS) có thể được sử dụng để giúp bác sĩ lâm sàng đánh giá nguy cơ mắc
bệnh tim và đưa ra các phương pháp điều trị thích hợp để quản lý các nguy cơ
khác. Thêm vào đó, nhiều nghiên cứu cũng đã báo cáo rằng việc thực hiện của
CDSS có thể cải thiện chăm sóc dự phòng, ra quyết định lâm sàng và chất lượng
quyết định.

Việc ra quyết định lâm sàng dựa trên công nghệ máy học (Machine Learning) gần
đây đã được áp dụng trong lĩnh vực chăm sóc sức khỏe. Các nghiên cứu trước đây
đã chỉ ra rằng các thuật toán học máy (MLA) chẳng hạn như thuật toán chaos
firefly, backpropagation neural network (BPNN), logistic regression (LR), support
vector machine (SVM),…đã được sử dụng một cách thành công để giúp làm công
cụ ra quyết định dự đoán bệnh tim dựa trên các dữ liệu cá nhân.

Do đó, bài báo đã đề xuất một HDPM hiệu quả bao gồm dựa trên DBSCAN để
phát hiện và loại bỏ các ngoại lệ, SMOTE-ENN để cân bằng phân phối dữ liệu đào
tạo và XGBoost để dự đoán bệnh tim. Bên cạnh đó cũng có những thách thức là
phát hiện và loại bỏ dữ liệu ngoại lệ và cân bằng việc phân phối tập dữ liệu đào tạo
để cải thiện hiệu suất của HDPM. Hai bộ dữ liệu có sẵn công khai (Statlog [29] và
Cleveland [30]) được sử dụng để xây dựng mô hình và đánh giá hiệu suất của
chúng so với các mô hình khác (NB, LR, MLP, SVM, cây quyết định (DT) và RF)
và của kết quả nghiên cứu trước đó. Ngoài ra, chúng tôi đảm bảo khả năng ứng
dụng của mô hình được đề xuất bằng cách thiết kế và triển khai mô hình thành hệ
thống hỗ trợ quyết định lâm sàng về bệnh tim để chẩn đoán các đối tượng dựa trên
tình trạng hiện tại của họ. Các hệ thống hỗ trợ quyết định lâm sàng về bệnh tim
được phát triển với dự kiến giúp các bác sĩ chẩn đoán bệnh nhân một cách hiệu
quả và từ đó cải thiện việc ra quyết định lâm sàng bệnh tim. Do đó, việc chuẩn
đoán và điều trị sớm có thể được tiến hành để ngăn chặn những rủi ro.

1.2 Các nội dung trong nghiên cứu:


• Cải thiện độ chính xác của mô hình dự đoán bệnh tim.

Bài viết đã đề xuất HDPM bằng cách tích hợp ngoại vi DBSCAN, SMOTE-ENN
và XGBoost để cải thiện độ chính xác của dự đoán. HDPM được tham khảo từ hai
công chúng bộ dữ liệu và mô hình được đào tạo đã được sử dụng để dự đoán tình
trạng bệnh tim của đối tượng dựa trên tình trạng hiện tại của họ.

• Phân tích hiệu suất và so sánh với các mô hình hiện đại.
HDPM đề xuất đã được đánh giá với các mô hình phân loại khác và so sánh với
kết quả từ các nghiên cứu trước đây. Ngoài ra, bài báo đã trình bày đánh giá thống
kê để xác nhận tầm quan trọng so với các mô hình khác.
• Phát triển hệ thống trường hợp thực tế.
Bài viết đã thiết kế và phát triển nguyên mẫu của hệ thống để cho thấy tính khả thi
và khả năng áp dụng mô hình đề xuất của chúng tôi cho nghiên cứu tình huống ở
thực tế. Dự kiến rằng hệ thống có thể phát triển và sử dụng như một hướng dẫn
thực tế cho việc chăm sóc sức khỏe các bệnh nhân.

1.3 Mô tả đề tài
1.3.1 Lý do chọn thuật toán
Nhóm nghiên cứu đã đề xuất một mô hình dự đoán bệnh tim hiệu quả để phát hiện
các dấu hiệu.Trong đó thuật toán SMOTE-ENN để cân bằng phân phối dữ liệu và
XGBoost để dự đoán bệnh tim. Bên cạnh đó cũng có những thách thức lớn khác
cần phải cải thiện như hiệu suất của mô hình dự đoán bệnh tim.
1.3.2 Đầu vào
Bộ dữ liệu bệnh tim của bang Cleveland đã được phổ biến rộng rãi được các nhà
nghiên cứu sử dụng để tạo ra các mô hình dự đoán. Thuật toán Verma ra đời vào
năm 2016

1.3.3 Đầu ra
Đầu ra của thuật toán là giá trị phân lớp nhị phân có hoặc không bị bệnh tim từ đó
bác sĩ có thể dựa vào kết quả của model để xem xét và dự đoán chuẩn xác hơn. Mô
hình đề xuất đạt được hiệu suất cao hơn so với các mô hình hiện tại và kết quả
nghiên cứu trước đó.
Áp dụng mô hình bằng cách sử dụng mô hình dự đoán bệnh tim hiệu quả và để
chẩn đoán sớm tình trạng bệnh tim của đối tượng dựa trên tình trạng hiện tại để
ngăn ngừa các rủi ro

2. Nguyên lý và phương pháp của thuật toán:


2.1 Dữ liệu về bệnh tim

Bài báo đã sử dụng hai dataset về bệnh tim (Statlog và Cleveland); có tên là I và II
để điều tra làm thế nào bệnh tim có thể được xác định bằng cách áp dụng mô hình
máy học. Mô hình đề xuất được áp dụng cho hai dataset với kỳ vọng cung cấp một
cái nhìn chung về HDPM.

Trang web cơ sở dữ liệu về Bệnh tim của Kho lưu trữ Thống kê Bệnh tim của Đại
học California Irvine (UCI) cung cấp dataset I này. Dataset ban đầu bao gồm 270
đối tượng, 13 thuộc tính và một lớp đầu ra (120 đối tượng có bệnh tim và 150 đối
tượng không có bệnh tim). Không có giá trị nào bị thiếu trong dataset I.

Tiến sĩ Robert Detrano, M.D., đã cung cấp bộ dữ liệu II (bộ dữ liệu Bệnh tim
Cleveland) để điều tra bệnh tim được thu thập từ Trung tâm y tế V.A, Long Beach
và Tổ chức Phòng Khám Cleveland ở California, Hoa Kỳ. Dataset ban đầu bao
gồm 303 đối tượng và 79 thuộc tính thô, mặc dù chỉ có 13 thuộc tính được sử
dụng. Nhóm nghiên cứu đã xóa dữ liệu của 6 đối tượng do thiếu giá trị và đã sử
dụng 297 dữ liệu còn lại trong giai đoạn tiền xử lý. Giá trị lớp ban đầu là biến có
phạm vi giá trị từ 0 đến 4. Giá trị 0 là được sử dụng để biểu thị sự vắng mặt của
bệnh tim trong khi các giá trị từ 1 đến 4 được sử dụng để biểu thị sự hiện diện của
bệnh tim. Trong nghiên cứu này, nhóm đã theo dõi các nghiên cứu trước đây trong
việc chuyển đổi giá trị sang một biến nhị phân. Các biến được đặt thành 0 nếu
không có bệnh tim và 1 cho tất cả các đối tượng đã được chẩn đoán là mắc bệnh
tim. Cuối cùng, sau khi dữ liệu được tiền xử lý, dataset II cuối cùng bao gồm 297
đối tượng với 137 và 160 đối tượng lần lượt là sự xuất hiện và sự vắng mặt của
bệnh tim.

2.2. Phát hiện và loại bỏ dữ liệu dựa vào DBSCAN

Trong nghiên cứu này, bài báo đã sử dụng DBSCAN để phân cụm và phát hiện
các trường hợp ngoại lệ từ cả hai training dataset. Mục tiêu của DBSCAN là tìm
các vùng dày đặc đữ liệu có thể được xác định bởi số lượng đối tượng dữ liệu ở
gần một điểm dữ liệu cụ thể (điểm cốt lõi) và các điểm nằm ngoài vùng, được coi
là ngoại lệ. Nói chung, cần xác định hai tham số cho DBSCAN: epsilon (eps) và
điểm tối thiểu (MinPts). Eps được định nghĩa là bán kính lân cận xung quanh một
điểm x (ε-vùng lân cận), trong khi MinPts được định nghĩa là số lượng điểm dữ
liệu lân cận tối thiểu trong eps. Ba yếu tố có thể được sử dụng để xác định dữ liệu
bình thường và dữ liệu ngoại lệ là: điểm cốt lõi, điểm biên giới và điểm ngoại lệ.

Hình 4 Minh họa về: eps, điểm cốt lõi, điểm đường viền và điểm ngoại lệ

‘'Điểm cốt lõi'' x là điểm có số điểm dữ liệu lân cận lớn hơn hoặc bằng MinPts.
''Điểm đường viền'' y là điểm có số lượng điểm dữ liệu lân cận nhỏ hơn MinPts, và
y là điểm dữ liệu lân cận của x. Cuối cùng, ''điểm ngoại lệ'' là z vì nó không phải là
điểm cốt lõi cũng không phải là điểm đường viền. Hình 4 minh họa eps, điểm cốt
lõi x, đường viền y và ngoại lệ z, sử dụng MinPts = 5.
Đầu tiên, thuật toán kiểm tra một điểm cụ thể (bất kỳ điểm nào) xem có phải là
một điểm cốt lõi hay không. Nó là điểm cốt lõi nếu ít nhất có MinPts điểm trong
vòng eps của nó. Các điểm đường viền là các điểm có thể chạm được từ điểm cốt
lõi (trong khoảng cách eps từ điểm cốt lõi). Tiếp theo, các điểm cốt lõi và điểm
đuồng viền trở thành cụm và được thuật toán đánh dấu là các điểm đã ghé thăm.
Cuối cùng, thuật toán tiếp tục lặp đi lặp lại để kiểm tra điểm chưa được kiểm tra
(được coi là điểm cốt lõi) để tìm điểm đường viền chưa được kiểm tra. Các điểm
không thuộc các cụm được coi là ngoại lệ. Mã giả chi tiết cho DBSCAN được
trình bày trong Thuật toán 1.

Giá trị eps tối ưu được tính bằng cách lấy trung bình khoảng cách của tất cả các
điểm đến kNN của nó. Giá trị của k tương ứng với giá trị MinPts, được xác định
bởi người dùng. Trong nghiên cứu này, nhóm nghiên cứu đã theo dõi các nghiên
cứu trước đây để sử dụng 5-nearest neighbors (5-NN) để tìm giá trị eps tối ưu.
Cuối cùng, theo Ester et al. (1996), eps có thể thu được bằng cách trình bày k-dist
đồ thị. Đầu tiên, k-distance được hình dung dưới dạng đồ thị k-dist và được hiển
thị theo thứ tự tăng dần để tìm giá trị ''knee'' - nơi thay đổi rõ nét xuất hiện bên
cạnh đường cong khoảng cách k để ước tính giá trị eps tối ưu.

Hình 5 Giá trị eps tối ưu bằng cách sử dụng kết quả phát hiện ngoại lệ 5-NN và
DBSCAN

Hình 5 (a) và (c) cho thấy đồ thị phân phối 5-NN đã được sắp xếp và giá trị eps
tối ưu cho các tập dữ liệu I và II tương ứng. Nhóm nghiên cứu nhận thấy rằng
knee - dữ liệu dày đặc xuất hiện xung quanh khoảng cách 9 và 8 tương ứng cho
tập dữ liệu I và II. Hơn nữa, nhóm nghiên cứu đã áp dụng phương pháp DBSCAN
bằng cách sử dụng MinPts = 5, eps = 9 và MinPts = 5, eps = 8 cho tập dữ liệu I và
II. Cuối cùng, nhóm nghiên cứu đã loại bỏ tất cả ngoại lệ được phát hiện trong mỗi
training dataset và sử dụng các dữ liệu bình thường còn lại cho việc phân tích.
Ngoài ra, nhóm nghiên cứu đã thực hiện phân tích thử nghiệm để tìm tác động của
việc loại bỏ ngoại lệ đối với hiệu suất của mô hình. Hình 6 cho thấy tác động của
việc loại bỏ dữ liệu ngoại lệ dựa trên DBSCAN so với dữ liệu ban đầu. DBSCAN
loại bỏ ngoại lệ một cách đáng kể, cải thiện độ chính xác của mô hình cho tất cả
bộ dữ liệu, từ độ chính xác 80,74%, 80,03% đến 85,41%, 85,26% cho tập dữ liệu I
và II, với mức cải thiện trung bình là 4,95%.

2.3. Cân bằng dữ liệu dựa vào SMOTE-ENN

Lấy dữ liệu mẫu hay cân bằng dữ liệu là một phương pháp phổ biến, bao gồm ba
mục con: phương pháp lấy mẫu trên (over-sampling), lấy mẫu dưới (under-

sampling) và phương pháp lai (hybrid method), được sử dụng trong học máy để xử
lý với dữ liệu mất cân bằng. Hình 7 minh họa ba mục con của các phương pháp
cân bằng dữ liệu. Phương pháp cân bằng lấy mẫu trên (over-sampling) cho
training dataset bằng cách tạo ra các dữ liệu cho lớp thiểu số trong khi việc lấy
mẫu dưới (under-sampling) đạt thì loại bỏ các dữ liệu trong lớp đa số. Trong khi
đó, phương pháp lai (hybrid method) đạt được dữ liệu cân bằng bằng cách kết hợp
giữa phương pháp lấy mẫu trên và phương pháp lấy mẫu dưới mức.
Nhóm nghiên cứu đã sử dụng phương pháp kết hợp SMOTE-ENN để cân bằng
training dataset bệnh tim bị mất cân bằng. Nói chung, SMOTE được sử dụng để
lấy mẫu trên (over-sampling) cho lớp thiểu số cho đến khi tập dữ liệu huấn luyện
được cân bằng, sau đó, Edited Nearest Neighbor (ENN) được sử dụng để loại bỏ
mẫu chồng chéo không mong muốn giữa hai lớp. Mã giả của SMOTE-ENN được
giải thích trong Thuật toán 2. Các nghiên cứu trước đây đã chỉ ra rằng kết hợp của
SMOTE và ENN (SMOTE-ENN) cung cấp hiệu suất cao hơn so với một trong
hai. Tỷ lệ ban đầu của lớp thiểu số trên tổng số đối tượng cho tập dữ liệu I và II là
44,19% và là 46,05%. Kỹ thuật SMOTE đã được áp dụng để tăng số lượng lớp
thiểu số bằng cách tạo ngẫu nhiên các mẫu mới từ các NN của lớp thiểu số mẫu.
Sau đó, ENN được sử dụng để loại bỏ các mẫu chồng lên nhau. Sau khi triển khai
SMOTE-ENN, tổng số lớp thiểu số tăng lên và tỷ lệ phần trăm của lớp thiểu số
cho tập dữ liệu I và II trở nên cân bằng hơn, lần lượt là 50,79% và 49,5%.
SMOTE-ENN đảm bảo rằng khi tạo các mẫu nhân tạo mới và loại bỏ các mẫu
chồng chéo, nó sẽ theo mô hình phân phối từ các mẫu ban đầu.

2.4. XGBOOST DỰA TRÊN THUẬT TOÁN MÁY HỌC (MLA) VÀ


PHƯƠNG PHÁP ĐÁNH GIÁ
Sau khi nhóm nghiên cứu cân bằng các tập dữ liệu đào tạo, thuật toán máy
học (MLA) được sử dụng để tìm hiểu và tạo mô hình dự báo bệnh tim (HDPM).
Chúng tôi đã sử dụng thuật toán tăng cường độ dốc cực đại (Extreme Gradient
Boosting - XGBoost) để phát hiện bệnh tim hoặc không có bệnh tim. XGBoost là
một loại học máy có giám sát được sử dụng để phân loại và regression model (lập
mô hình hồi quy) [45]. XGBoost là một thuật toán nâng cao dựa trên việc triển
khai các decision tree tăng cường độ dốc với một số sửa đổi về mặt regularization
(chính quy hóa), loss function (hàm mất mát) và column sampling (lấy mẫu cột).
Gradient boosting (Tăng cường độ dốc) là một kỹ thuật trong đó các mô hình mới
được tạo và sử dụng để dự đoán lỗi hoặc phần dư, sau đó điểm số được tổng hợp
để có được kết quả dự đoán cuối cùng. Phương pháp giảm độ dốc được sử dụng để
giảm thiểu sự mất mát khi các mô hình mới được tạo ra. Objective function (Hàm
mục tiêu) được sử dụng để đo lường hiệu suất của mô hình, bao gồm hai phần:
training loss và regularization. Thuật ngữ regularization làm giảm độ phức tạp của
mô hình và ngăn chặn việc quá tải. Objective function (Hàm mục tiêu) (loss
function và regularization) có thể được trình bày như sau:

l ở đây là loss function (hàm mất mát) có thể phân biệt được để tính toán sự
khác biệt giữa yˆi và yi. Trong khi thuật ngữ regularization (chính quy hóa) loại bỏ
sự phức tạp của mô hình và số lượng node trên cây được biểu diễn bằng T. Hơn
nữa, mỗi fk tương ứng với một cấu trúc cây độc lập q và trọng lượng node w. Cuối
cùng, thuật ngữ γ tương ứng với threshold và pre-pruning (ngừng phân nhánh)
được thực hiện trong khi tối ưu hóa để hạn chế sự phát triển của cây và λ được sử
dụng để làm smooth (làm đẹp) các trọng số đã học cuối cùng để ngăn chặn sự quá
tải.

Nhóm nghiên cứu đã triển khai XGBoost bằng thư viện python XGBoost
V0.81. Dữ liệu ngoại lệ từ bộ dữ liệu đào tạo bệnh tim được loại bỏ bằng cách sử
dụng phương pháp DBSCAN (phân cụm dựa trên mật độ) và SMOTE-ENN
(phương pháp sinh mẫu) được sử dụng để cân bằng bộ dữ liệu đào tạo. Cuối cùng,
XGBoost được sử dụng để học từ tập dữ liệu đào tạo và tạo mô hình dự báo bệnh
tim (HDPM). Nhóm đã đo lường năm chỉ số hiệu suất để so sánh hiệu suất của mô
hình được đề xuất với hiệu suất của các mô hình hiện đại và kết quả nghiên cứu
trước đó.
Ngoài ra, nhóm đảm bảo khả năng ứng dụng của mô hình đề xuất bằng
cách triển khai mô hình vào Hệ thống hỗ trợ quyết định lâm sàng về bệnh tim
(HDCDSS) để chẩn đoán các đối tượng dựa trên tình trạng hiện tại của họ. Sử
dụng năm chỉ số hiệu suất để đánh giá hiệu suất của mô hình được đề xuất. Một
Confusion Matrix (ma trận hỗn loạn) được sử dụng để đo lường bốn đầu ra tiềm
năng khác nhau từ mô hình: dương tính thực (TP), âm tính thực (TN), dương tính
giả (FP) và âm tính giả (FN). Đầu ra TP và TN được định nghĩa là số đối tượng
được phân loại chính xác là '' dương tính '' (có bệnh tim) và '' âm tính '' (khỏe mạnh
/ không mắc bệnh tim), tương ứng và đầu ra FP và FN là số đối tượng được phân
loại không chính xác là '' dương tính '' (có bệnh tim) khi chúng thực sự là '' âm tính
'' (khỏe mạnh / không mắc bệnh tim) và được phân loại không chính xác là '' âm
tính '' (khỏe mạnh / không mắc bệnh tim) khi chúng thực sự '' dương tính '' (có
bệnh tim), tương ứng. Nhóm nghiên cứu đã sử dụng xác thực chéo 10 lần để tạo ra
các mô hình cho tất cả các mô hình phân loại, với chỉ số hiệu suất cuối cùng là
mức trung bình. Họ đã triển khai tất cả các classification models (mô hình phân
loại) trong Python V3.6.5 bằng cách sử dụng ba thư viện: sklearn V0.20.2,
imbalanced-learning V0.4.3 và XGBoost V0.81. Và thực hiện các thử nghiệm trên
máy tính có Intel Core i7-4790 (3,60 GHz × 8 cores), RAM 16 GB chạy với
Windows 10 Pro 64-bit. Thư viện sklearn là một công cụ lập trình python mã
nguồn mở cho machine learning, thư viện imbalanced learning cũng là một hộp
công cụ python mã nguồn mở bao gồm một số phương pháp để xử lý dữ liệu mất
cân bằng và thư viện XGBoost là một công cụ mã nguồn mở triển khai các thuật
toán XGBoost trong một số ngôn ngữ lập trình, bao gồm cả Python. Để đơn giản
hóa việc triển khai các thử nghiệm, chúng tôi đã sử dụng các thông số mặc định do
sklearn, imbalanced-learn và XGBoost cung cấp. Ngoài ra, năm chỉ số hiệu suất
sau đây được đo lường. Độ chính xác (acc), độ chính xác precision (pre),
recall/sensitivity (rec/sen/TPR) được tính bằng:

Giá trị của MCC nằm trong khoảng từ −1 đến +1, thể hiện hiệu suất của mô hình
phân loại (classification). Mô hình tốt nhất đạt được khi giá trị của MCC gần hoặc bằng
+1 trong khi mô hình xấu nhất gần hoặc bằng −1. Ngoài ra, chúng tôi cũng sử dụng giá trị
của Area Under the Curve (AUC) hoạt động của máy thu (AUC) để so sánh hiệu suất của
mô hình đề xuất với hiệu suất của các mô hình hiện có khác. Đối với k dữ liệu huấn luyện
đã cho, AUC có thể được tính là [46], [47].

Mô hình tốt nhất đạt được khi giá trị của AUC gần hoặc bằng 1. Ngoài ra, nhóm
đã trình bày một số chỉ số bổ sung để đo lường hiệu suất của mô hình như tỷ lệ dương
tính giả (FPR), tỷ lệ âm tính giả (FNR) và tỷ lệ âm tính thực (TNR). FPR được sử dụng
để đại diện cho cảnh báo giả mà kết quả dự đoán dương tính (có bệnh tim) sẽ được đưa ra
khi giá trị đầu ra dự đoán thực tế là âm (không có bệnh tim). FPR có thể được tính toán
như sau:

Chúng tôi đã sử dụng FNR để biểu thị phần trăm truy cập bộ nhớ không được tìm, là xác
suất mà một kết quả dự đoán dương tính sẽ bị bỏ qua khi thử nghiệm. FNR có thể được
tính toán như sau:

Cuối cùng, TNR hoặc độ đặc hiệu được sử dụng để hiển thị xác suất mà các đối tượng âm
tính thực tế sẽ cho kết quả âm tính. TNR có thể được tính như sau:

3. KẾT QUẢ VÀ THẢO LUẬN


3.1. Đánh giá hiệu quả của mô hình

(Bảng 5: Đánh giá hiệu suất cho tập dữ liệu I (Statlog))


(Bảng 6: Đánh giá hiệu suất cho tập dữ liệu II (Cleveland)).

Mô hình dự báo bệnh tim (HDPM) được đề xuất đã được áp dụng cho cả hai bộ dữ liệu
và cho kết quả khả quan trong việc tăng độ chính xác của dự đoán so với các mô hình
khác. Nhóm đã chọn sáu MLA hiện đại (Naive Bayes-NB, Linear Regression-LR, MLP,
Support Vector machines-SVM, Decision Tree-DT và Random Forest-RF) đã được sử
dụng rộng rãi trong cộng đồng nghiên cứu và có hồ sơ theo dõi đã được chứng minh về
độ chính xác và hiệu quả để so sánh. Nhóm đã thực hiện xác thực chéo 10 lần cho tất cả
các kiểu máy và thu thập tám chỉ số hiệu suất: accuracy (acc), precision (pre), recall / độ
nhạy / tỷ lệ dương tính thực (rec / sec / TPR), f-measure (f), MCC, tỷ lệ dương tính giả
(FPR), tỷ lệ âm tính giả (FNR) và tỷ lệ âm tính thực (TNR). Các tính toán cho thấy mô
hình được đề xuất hoạt động tốt hơn các mô hình khác bằng cách đạt được acc, pre, rec /
sec, f lên đến 95,90%, 97,14%, 94,67%, 95,35% cho tập dữ liệu I và 98,40%, 98,57%,
98,33%, 98,32% cho tập dữ liệu II, tương ứng. Đối với MCC, HDPM được đề xuất đạt
được giá trị MCC cao nhất lên đến 0,92 và 0,97 cho tập dữ liệu I và II, điều này khẳng
định tính ưu việt của mô hình đề xuất của chúng tôi so với các mô hình khác. Ngoài ra, về
tỷ lệ dương tính giả (FPR) và tỷ lệ dương tính thực (TNR), kết quả cho thấy mô hình đề
xuất đạt FPR thấp nhất và TNR cao nhất so với các mô hình khác. Mô hình đề xuất đạt
được FPR và TNR cao lần lượt lên tới 4,52%, 95,48% và 1,67%, 98,33% cho tập dữ liệu
I và II. Giá trị FPR thấp và TNR cao của mô hình đề xuất thể hiện khả năng của mô hình
HDPM để giảm thiểu tỷ lệ bỏ sót và tối ưu hóa độ chính xác của dự đoán cho cả đối
tượng tiêu cực và tích cực. Kết quả hoạt động chi tiết được trình bày trong Bảng 5 và 6
cho tập dữ liệu I và II, tương ứng.

Nhóm đã nghiên cứu thêm về hiệu suất của mô hình dự báo bệnh tim HDPM được đề
xuất bằng cách sử dụng hình ảnh hóa đường cong đặc tính hoạt động của máy thu (ROC)
vì một nghiên cứu trước đây [48] đã sử dụng nó để đánh giá và minh họa khả năng chẩn
đoán khi bậc của nó bị thay đổi. Đường cong ROC bao gồm tỷ lệ TP là trục y và tỷ lệ FP
là trục x với diện tích dưới đường cong ROC (AUC) được tính toán để hiển thị hiệu suất
của mô hình.

(Hình ảnh hóa đường cong ROC để so sánh mô hình được đề xuất với các mô hình
khác cho bộ dữ liệu (a) I (Statlog) và (b) II (Cleveland))

Mô hình tốt nhất đạt được khi giá trị của AUC gần hoặc bằng 1. Hình 9 cho thấy HDPM
được đề xuất đạt được điểm AUC cao hơn so với các mô hình khác lên tới 1,00 và 1,00
cho tập dữ liệu I và II, điều này khẳng định rằng mô hình được đề xuất hoạt động tốt hơn
các mô hình hiện đại khác.

Ngoài ra, chúng tôi đã theo dõi một nghiên cứu trước đó [49] để đánh giá hiệu suất của
mô hình bằng cách sử dụng kiểm định ý nghĩa dựa trên thống kê để chứng minh tầm quan
trọng của HDPM đề xuất của chúng tôi so với các mô hình hiện đại khác. Phép thử t ghép
đôi [50], [51] được áp dụng để kiểm tra thống kê ý nghĩa giữa HDPM được đề xuất và
các mô hình hiện đại khác. Chúng tôi đã xác định h = 0, tức là giả thuyết rỗng, không có
ý nghĩa khác biệt giữa HDPM được đề xuất và các mô hình hiện có khác. Chúng tôi đã
thực hiện xác thực chéo 10 lần để thu thập dữ liệu độ chính xác mười cho tất cả các mô
hình trong Python V3.6.5 và áp dụng thử nghiệm t được ghép nối bằng cách sử dụng thư
viện Scipy V1.2.0. Chúng tôi xác định the significance level = 0,05, t (lập bảng) = 2,78
và thu thập các giá trị h, p và t (được tính toán) cho tất cả các tập dữ liệu. Giả thuyết rỗng
được chấp nhận khi giá trị trả về của kiểm định t được ghép nối là h = 0 và giả thuyết
rỗng bị bác bỏ nếu h = 1, điều này cho thấy the significance level khác nhau giữa HDPM
được đề xuất và giá trị hiện có. Điều này có thể được hỗ trợ bởi bằng chứng rằng giá trị p
nhỏ hơn the significance level (0,05) và t (được tính toán) > t (bảng thống kê). Trong
Bảng 7, hiển thị kết quả kiểm định t được ghép nối cho cả hai tập dữ liệu, HDPM được
đề xuất khác biệt đáng kể so với các mô hình khác vì đối với tất cả các tập dữ liệu, h = 1,
p-value < the significance level và t (được tính toán) > t (bảng thống kê). Do đó, mô hình
đề xuất có sự khác biệt đáng kể so với các mô hình hiện đại khác.

Bảng 7: Kết quả của thử nghiệm t của cặp dữ liệu I (Statlog) và II (Cleveland).

3.2. Điểm chuẩn với kết quả nghiên cứu trước đó

Trong phần này, nhóm nghiên cứu đã thực hiện nghiên cứu so sánh HDPM được
đề xuất của họ với kết quả từ các nghiên cứu trước đó.Kết quả so sánh chi tiết với
các nghiên cứu trước đây đối với tập dữ liệu I và II được đưa ra trong 2 bảng sau
Long đã đề xuất CFARS-AR và đạt được acc = 88.3%, rec/sen = 84.9%. Nahato
sử dụng phương pháp tập thô với RS-BPNN đã đạt acc = 90,40%, rec/sen =
94,67% và AUC = 0,92. Dwivedi đã sử dụng LR và đạt acc = 85%, pre = 85%,
rec/giây = 89% và f = 87%. Amin sử dụng phương thức bỏ phiếu với NB và LR đã
đạt được acc = 95,90%, pre = 97,14%, rec/sec = 94,67%, f = 95,35%, MCC = 0,92
và AUC = 1,00. Đề xuất HDPM đạt được acc = 95,90%, pre = 97,14%, rec/sec =
94,67%, f = 95,35%, MCC = 0,92 và AUC = 1,00.

Về độ chính xác, HDPM đã đạt được độ chính xác cao nhất với mức cải thiện
trung bình là 8,12% so với kết quả nghiên cứu trước đó. Có thể kết luận rằng
phương pháp đề xuất vượt trội hơn tất cả các phương pháp kết quả nghiên cứu
trước đây về độ chính xác, f-measure, MCC và AUC.

Ngoài ra, một số nhà nghiên cứu cũng đã sử dụng bộ dữ liệu Cleveland để dự đoán
bệnh tim. Verma đã phát triển một mô hình kết hợp với lựa chọn CFS, PSO, K-
mean phân cụm và MLP và đạt được acc = 90,28%. Haq đã đề xuất một hệ thống
kết hợp sử dụng lựa chọn tính năng dựa trên Cứu trợ và LR, và đạt được acc =
89%, rec/sec = 77%, MCC = 0,89 và AUC = 0,88. Saqlain đã sử dụng MFSFSA
và SVM và đạt được acc = 81,19%, rec/sec = 72,92% và MCC = 0,85. Latha và
Jeeva sử dụng biểu quyết đa số với NB, BN, RF, và MLP và đạt được acc =
85,48%. Ali đã sử dụng các SVM xếp chồng lên nhau và đạt được acc = 92,22%,
rec/sec = 82,92% và MCC = 0,85. Mohan đã phát triển HRRFLM và đạt được acc
= 88,4%, pre = 90,1%, rec/giây = 92,8% và f = 90%. Gupta sử dụng trích xuất tính
năng dựa trên FAMD và thuật toán RF và đạt được acc = 93,44%, rec/sec =
89,28%, f = 92,59%, MCC = 0,87 và AUC = 0,93. Cuối cùng, HDPM đề xuất đạt
acc = 98,40%, pre = 98,57%, rec/giây = 98,33%, f = 98,32%, MCC = 0,97 và
AUC = 1,00. Về độ chính xác, HDPM đạt được độ chính xác cao nhất với sự cải
thiện trung bình 9,83% so với kết quả nghiên cứu trước. Tổng thể, nhóm nghiên
cứu có thể kết luận rằng phương pháp đề xuất của này vượt trội hơn tất cả kết quả
nghiên cứu trước đó trong sáu chỉ số hiệu xuất (acc, pre, rec/sen, f , MCC và
AUC).

Cần lưu ý rằng, hiệu suất của mô hình dự đoán phụ thuộc vào một số các yếu tố
như lựa chọn tính năng, loại dữ liệu và kích thước của nó, lọc nhiễu, siêu tham số,
lấy mẫu dữ liệu, chọn mô hình, v.v.. Vì vậy, những so sánh chung này không thể
được sử dụng làm bằng chứng chính để kết luận về hiệu suất của các mô hình dự
đoán đã cho nhưng nó có thể được sử dụng đơn giản như là một so sánh chung
giữa các đề xuất HDPM và các nghiên cứu trước đó.

V. ỨNG DỤNG HỆ THỐNG HỖ TRỢ QUYẾT ĐỊNH LÂM SÀNG


BỆNH TIM

(HEART DISEASE CLINICAL DECISION SUPPORT SYSTEM -


HDCDSS)

Nguyên mẫu của Hệ thống hỗ trợ quyết định lâm sàng bệnh tim trên trang web
(HDCDSS) được phát triển để cung cấp một cách đơn giản và thuận tiện cho các
bác sĩ lâm sàng chẩn đoán đối tượng / bệnh nhân dựa trên tình trạng hiện tại của
họ. Dữ liệu của bệnh nhân và kết quả dự đoán được lưu trữ vào MongoDB bằng
cách sử dụng Pymongo V3.7.1. MongoDB được chọn vì nó đã được áp dụng rộng
rãi trong lĩnh vực chăm sóc sức khỏe. Dữ liệu cá nhân như mã bệnh nhân (id), tuổi
và giới tính được kết hợp với dữ liệu chẩn đoán, chẳng hạn như kết quả điện tâm
đồ khi nghỉ ngơi (restecg), nhịp tim tối đa (thalach), đau thắt ngực do gắng sức
(exang), … sau đó được truyền vào một máy chủ web an toàn thông qua một giao
diện chương trình ứng dụng (API) và được lưu trữ trong cơ sở dữ liệu. Đề xuất
HDPM được tạo từ tập dữ liệu I (Statlog) và II (Cleveland) và được sử dụng để dự
đoán tình trạng bệnh tim của đối tượng dựa trên dữ liệu đã nhập và kết quả dự
đoán, kế đến nó được gửi trở lại giao diện kết quả chẩn đoán của HDCDSS.
Hình (a) cho thấy biểu mẫu chẩn đoán HDCDSS trong đó bác sĩ lâm sàng có thể
điền thông tin của bệnh nhân, bao gồm cả tình trạng hiện tại của họ. Khi tất cả các
trường nhập được điền, người dùng có thể nhấn nút chẩn đoán (“diagnose”) để gửi
tất cả dữ liệu đến máy chủ web, máy chủ này nạp đề xuất HDPM đã thông qua
tính toán để chẩn đoán tình trạng bệnh tim của đối tượng.

(a)
Hình (b ) cho thấy giao diện kết quả chẩn đoán sau khi gửi dữ liệu đến máy chủ
web. Kết quả bao gồm dữ liệu đã gửi trước đó và tình trạng của bệnh tim (có hay
không) của bênh nhân. HDCDSS được phát triển được kỳ vọng sẽ giúp các bác sĩ
chẩn đoán bệnh nhân và cải thiện việc ra quyết định lâm sàng bệnh tim một cách
hiệu quả. Do đó, điều trị sớm có thể được tiến hành để ngăn ngừa tử vong do chẩn
đoán muộn bệnh tim.
(b)

Nguyên mẫu / luận chứng này chỉ giới hạn trong các bộ dữ liệu cụ thể; do đó, mô
hình dự đoán đã được tính toán không thể áp dụng cho các bệnh nhân / đối tượng
nhân khẩu học khác. Khi nhóm đã thu thập được các bộ dữ liệu phức tạp hơn, nó
có thể cải thiện hiệu suất dự đoán cho các bệnh nhân / đối tượng nhân khẩu học
rộng hơn. Ngoài ra, tác giả bài báo chưa áp dụng mô hình đã phát triển trong thử
nghiệm lâm sàng do hạn chế của bộ dữ liệu. Trong trường hợp trên, họ đã sử dụng
tập dữ liệu dựa trên bệnh nhân nhân khẩu học cụ thể (Hoa Kỳ). Thử nghiệm lâm
sàng có thể được áp dụng cho mô hình khi thu thập một bệnh nhân nhân khẩu học
khác (ví dụ ở Hàn Quốc.

VI. Kết luận

Bài báo đã đề xuất một mô hình dự đoán bệnh tim hiệu quả (HDPM) để chẩn đoán
bệnh tim bằng cách tích hợp DBSCAN, SMOTE-ENN và MLA dựa trên XGBoost
để cải thiện độ chính xác của dự đoán. DBSCAN được áp dụng để phát hiện và
loại bỏ dữ liệu ngoại lệ, SMOTE-ENN được sử dụng để cân bằng tập dữ liệu tính
toán không cân bằng và XGBoost MLA đã được sử dụng để tìm hiểu và tạo ra mô
hình dự đoán. Độ chính xác lên tới 95,90% và 98,40% cho tập dữ liệu I và II,
tương ứng.

Bài báo về thiết kế và phát triển HDPM được đề xuất thành Hệ thống hỗ trợ quyết
định lâm sàng về bệnh tim (HDCDSS) để chẩn đoán tình trạng bệnh tim của đối
tượng / bệnh nhân một cách hiệu quả và hiệu quả. HDCDSS thu thập dữ liệu bệnh
nhân kết hợp với dữ liệu chẩn đoán khác và truyền chúng đến một máy chủ web an
toàn. Tất cả dữ liệu chẩn đoán được truyền và lưu trữ vào MongoDB, có thể cung
cấp phản hồi kịp thời một cách hiệu quả với dữ liệu y tế ngày càng tăng nhanh. Đề
xuất HDPM được nạp vào để chẩn đoán tình trạng bệnh tim hiện tại của bệnh
nhân, sau đó được gửi trở lại giao diện kết quả chẩn đoán của HDCDSS. Bênh
canh, HDCDSS được phát triển được kỳ vọng sẽ giúp các bác sĩ chẩn đoán bệnh
nhân và cải thiện việc ra quyết định lâm sàng bệnh tim một cách hiệu quả. Cuối
cùng, HDCDSS được thiết kế và phát triển tổng thể trong nghiên cứu này có thể
được sử dụng như một hướng dẫn thực hành cho những người thực hành chăm sóc
sức khỏe.

You might also like