Trong bài tiểu luận này, nhóm ch ng em c ng nhau tìm hiểu và trình bày ú ù “mô hình dự đoán bệnh tiểu đường ở bệnh nhân dựa trên tiền sử bệnh và thông tin nhân khẩu học của họ” bằng khoa
Tổng quan
Giới thiệu về đề tài
Đái tháo đường hay còn gọi là tiểu đường, là bệnh rối loạn chuyển hóa đặc trưng với biểu hiện lượng đường ở trong máu luôn ở mức cao hơn so với bình thường do cơ thể thiếu hụt về tiết insulin hoặc đề kháng với insulin hoặc cả 2, dẫn đến rối loạn quan trọng về chuyển hóa đường, đạm, mỡ, chất khoáng Hiệp hội Đái tháo đường Thế giới (IDF) cũng đưa ra những con số thống kê đáng chú ý về thực trạng bệnh tiểu đường trên toàn thế giới như sau:
• Mỗi năm thế giới có khoảng 132.600 trẻ em được chẩn đoán mắc bệnh tiểu đường tuýp 1, chỉ tính riêng số trẻ em bị bệnh tiểu đường tuýp 1 trong độ tuổi 0 – 19 tuổi là hơn 1 triệu
• Hơn 21 triệu phụ nữ đang mang thai bị tăng đường huyết và dung nạp đường kém, chiếm tỷ lệ 1/6 tổng số phụ nữ mang thai
• Khoảng 2/3 số bệnh nhân tiểu đường là người cao tuổi, tuy nhiên, số bệnh nhân tiểu đường trẻ tuổi cũng không ngừng gia tăng
• Cứ 6 giây trôi qua sẽ có 1 người tử vong vì các biến chứng nguy hiểm của tiểu đường
Năm 2017, số bệnh nhân tử vong do tiểu đường là 4 triệu người Chi phí điều trị bệnh tiểu đường toàn thế giới là 727 tỷ đô la, trở thành gánh nặng của toàn thế giới
Qua đó, có thể thấy được đái tháo đường là một căn bệnh vô cùng nghiêm trọng, bệnh nhân mắc bệnh ngày càng nhiều và đang có xu hướng trẻ hóa Chính vì thế, việc đưa ra cảnh báo khả năng mắc bệnh tiểu đường một cách kịp thời và chính xác là rất cần thiết, giúp bệnh nhân điều chỉnh lại lượng đường cung cấp vào cơ thể, nhận được điều trị kịp thời để có được một sức khỏe tốt hơn, tránh được các biến chứng nguy hiểm Vì vậy, chúng em quyết định thực hiện dự án nghiên cứu “Xây dựng mô hình dự báo khả năng bị đái tháo đường” để dự đoán khả năng bị mắc bệnh đái tháo đường ở các bệnh nhân dựa trên tiền sử bệnh và thông tin nhân khẩu học của họ.
Mục tiêu của đề tài
Với đề tài này, khi nghiên cứu nhóm chúng em mong muốn có thể hỗ trợ các bệnh nhân đang có nguy cơ mắc bệnh tiểu đường có thể kịp thời phát hiện được bệnh, nhằm nhận được sự chăm sóc về y tế, cũng như đảm bảo được sức khỏe, tránh khỏi các biến chứng nguy hiểm, và đóng góp một phần nhỏ vào y khoa trong việc thăm khám điều trị cho các bệnh nhân thông qua bộ dữ liệu có sẵn
Khoa Học Dữ Liệu Giảng viên: TS Võ Thành Đức
Phương pháp thực hiện
• Phương pháp thu thập dữ liệu: Nhóm chúng em đã thu thập dữ liệu từ nguồn kaggle.com, một nguồn dữ liệu đáng tin cậy Dữ liệu gốc được xử lý bằng phần mềm Excel và trực quan hóa qua các biểu đồ
• Phương pháp nghiên cứu lý luận: Tiến hành tìm hiểu, thu thập, chắt lọc và phân tích các dữ liệu, thông tin thông qua đọc sách báo, tài liệu Bao gồm các phương pháp sau:
Phương pháp phân tích – tổng hợp lý thuyết: đọc và tổng hợp các tài liệu để rút ra nội dung cần thiết
Phương pháp mô hình hóa: xây dựng mô hình nghiên cứu dựa trên lý thuyết và kiểm đ nh tính chính xác của mô hình.ị
• Phương pháp nghiên cứu thực tiễn: Từ cơ sở lý luận, tiến hành nghiên cứu thực tiễn bằng các thuật toán trong KPDL và phần mềm Orange Xây dựng các mô hình dự báo dựa trên bộ dữ liệu huấn luyện có sẵn và so sánh kết quả để lựa chọn mô hình phù hợp nhất
Từ đó, xây dựng các mô hình dự báo dựa vào bộ dữ liệu huấn luyện có sẵn và so sánh các kết quả rút ra được với nhau nhằm lựa mô hình phù hợp nhất nhằm giúp các siêu thị đưa ra được các biện pháp thu hút và giữ chân khách hàng một cách kịp thời thông qua các chương trình ưu đãi.
Giới thiệu về phương pháp sử dụng
Tiền xử lý dữ liệu
Tiền xử lý dữ liệu là một bước rất quan trong trong việc giải quyết bất kỳ vấn đề nào trước khi xử lý dữ liệu Hầu hết các bộ dữ liệu được sử dụng đều cần phải xử lý, làm sạch hay biến đổi trước khi các thuật toán huấn luyện trên những bộ dữ liệu này Quy trình kỹ thuật tiền xử lí dữ liệu gồm: Làm sạch dữ liệu (Data cleaning), Tích hợp dữ liệu (Data integration), chuyển đổi dữ liệu (Data transformation) và rút gọn dữ liệu (Data reduction)
* Làm sạch dữ liệu (Data cleaning):
Làm sạch dữ liệu là quá trình chuẩn bị dữ liệu bằng cách thêm dữ liệu thiếu, sửa chữa hay loại bỏ những dữ liệu không quan trọng ra khỏi bộ dữ liệu để tránh những yếu tố dẫn đến quyết đ nh sai lầm Quá trình làm sạch dữ liệu gồm có 3 phần: Tóm tắt dữ liệu, ị xử lý dữ liệu bị thiếu (missing data) và xử lý dữ liệu b nhiễị u (noisy data)
• Tóm tắt dữ liệu là xác định các thuộc tính tiêu biểu của dữ liệu như các xu hướng chính hay sự phân tán,…Từ đó cung cấp cái nhìn cụ thể hơn về dữ liệu
Khoa Học Dữ Liệu Giảng viên: TS Võ Thành Đức
• Xử lý dữ liệu bị thiếu (missing data) bằng cách sử dụng giá tr thay thế hay tự ị động hoặc không tự động Bên cạnh đó, có thể bỏ qua những bộ bị thiếu dữ liệu hoặc phải đảm bảo tốt CSDL và các thủ tục nhập liệu
• Xử lý dữ liệu bị nhiểu (noisy data) có 2 cách là giảm thiểu nhi u (phân giỏi, hồi ễ quy, phân tích cụm) và nhận diện phần tử biên (phân bố thống kê, khoảng cách, mật độ, độ lệch)
* Tích hợp dữ liệu (data integration): Tích hợp dữ liệu là trộn dữ liệu từ nhiều nguồn khác nhau vào một kho dữ liệu, gồm có:
• Vấn đề dạng thực thể là các thực thể đến từ nhiều nguồn dữ liệu khác nhau, 2 hay nhiều hơn 2 thực thể trở lên thì c ng di n tả một thực thể ù ễ
• Vấn đề dư thừa là giá trị của một thuộc tính có thể được trích ra từ một hay nhiều thuộc tính khác, làm trùng lặp
• Phát hiện và xử lý mâu thuẫn giá trị dữ liệu: c ng một thực thể nhưng các giá trù ị đến từ nhiều nguồn dữ liệu khác nhau có thể gây ra sự khác nhau về các biểu di n, đo ễ lường hay mã hóa
* Chuyển đổi dữ liệu (Data transformation): Chuyển đổi dữ liệu là quá trình biến dữ liệu trở thành những đinh dạng phù hợp cho việc phân tích và tiến hành các bước quy trình kế tiếp, thường gồm có việc làm trơn dữ liệu, kết hợp dữ liệu, tổng quát hóa dữ liệu, chuẩn hóa dữ liệu, xây dựng thuộc tính
* Rút gọn dữ liệu (Data reduction): Rút gọn dữ liệu là việc làm giảm kích thước của dữ liệu bằng cách kết hợp các phương pháp như kết hợp dữ liệu,…
Mô hình phân lớp dữ liệu
Quy trình “phân lớp dữ liệu” là một tiến trình xử lý nhằm sắp xếp các mẫu dữ liệu hay các đối tượng vào một trong các lớp đã được định nghĩa trước
Phân lớp dữ liệu gồm hai bước xử lý chính:
• Bước 1: Học, mục đích của bước này là xây dựng một mô hình xác định một tập hợp các lớp dữ liệu
• Bước 2: Kiểm tra và đánh giá, bước này sử dụng mô hình phân lớp đã được xây dựng ở bước 1 vào việc phân lớp
Khoa Học Dữ Liệu Giảng viên: TS Võ Thành Đức
2.2 Một số phương pháp phân lớp dữ liệu
* Phương pháp Logistic Regression: Hồi quy Logistic Regression là một mô hình xác suất dự đoán giá trị đầu ra rời rạc từ một tập giá trị đầu vào (biểu di n dưới dạng vector), ễ bằng cách dự đoán xác xuất hoặc cơ hội xảy ra gi p suy ra mối quan hệ giữa biến phụ ú thuộc và các biến độc lập Việc này tương đương với chuyện phân loại các đầu vào x cào các nhóm y tương ứng
* Phương pháp AdaBoost: Mô hình tăng cường thích ứng AdaBoost Adaptive Boosting là một thuật toán học máy có khả năng tạo ra một mô hình dự đoán mạnh từ việc kết hợp các mô hình yếu bằng cách AdaBoots sẽ gán trọng số cho các mẫu dữ liệu trong quá trình huấn luyện, để sau đó mô hình có thể tập trung vào việc dự đoán đúng những mẫu dữ liệu bị phân loại sai trước đó Nhờ đó, mô hình này có khả năng sử lý các tập dữ liệu không cân bằng và đem lại hiệu quả trong nhiều trường hợp
Khoa Học Dữ Liệu Giảng viên: TS Võ Thành Đức
* Phương pháp Super vector support (SVM): SMV là một thuật toán có giám sát, SMV nhận dữ liệu vào, xem ch ng như những các vector trong không gian và phân loại ú chúng vào các lớp khác nhau bằng cách xây dựng một siêu phẳng trong không gian nhiều chiều làm mặt phân cách các lớp dữ liệu
* Phương pháp Neural Network: Mạng lưới Neural Network nhân tạo là một chuỗi thuật toán được đưa ra để dùng xác đ nh các mối quan hệ trong tập hợp các dữ liệu cụ ị thể, thông qua việc bắt chước bộ não của con người Nói một cách dễ hiểu hơn có thể là nhân tạo về chất Neural Network có khả năng tương thích với mọi th ngay từ khi ứ chúng ta thay đổi dữ liệu đầu vào Nó có thể đưa ra các kết quả một cách tốt nhất mà chúng ta không cần phải xây dựng các tiêu chí đầu ra
2.3 Các phương pháp đánh giá mô hình phân lớp Để quyết định một mô hình có ph hợp và đáng tin cậy để sử dụng hay không thì các ù phương pháp đánh giá mô hình phân lớp sẽ kiểm tra tính hiệu quả của mô hình phân lớp trên dữ liệu có đặc thù cụ thể, từ đó quyết định có sử dụng mô hình đó hay không Mô hình lý tưởng hướng tới là mô hình không quá đơn giản hay quá phức tạp và không quá nhạy cảm với nhi u ễ
* Ma trận nhầm lẫn (Confusion Matrix): Ma trận nhầm lẫn chỉ ra có bao nhiêu điểm dữ liệu thực sự thuộc vào một lớp cụ thể và được dự đoán là tơi vào lớp nào
Confusion matrix là có kích thước k x k với k là số lượng lớp của dữ liệu
Khoa Học Dữ Liệu Giảng viên: TS Võ Thành Đức
* Độ chính xác (Accuracy): Accuracy là tỷ lệ số mẫu được phân lớp đúng trong toàn bộ tập dữ liệu nhưng chỉ cho chúng ta biết được tỷ lệ dữ liệu được phân loại đ ng mà không ú chỉ ra được cụ thể mỗi loại được phân loại như thế nào, lớp nào được phân loại đúng nhiều nhất và dữ liệu thuộc lớp nào thường bị phân loại nhầm vào lớp khác.
• Precision (độ chính xác) cho biết trong số m mẫu được phân vào lớp i thì có tỷ lệ bao nhiêu mẫu là đúng (tránh nhầm lẫn với tính chính xác accuracy)
• Recall (độ phủ) còn gọi là độ phủ hay độ nhạy (sensitivity) hay TPR (True Positive Rate)
• F1 – score: giá tr trung bình điều hòa (harmonic mean) của hai độ đo Precision ị và Recall
• ROC là đồ thị được sử dụng khá phổ biến trong đánh giá các mô hình phân loại nhị phân Đường cong này được tạo ra bằng cách biểu di n tỷ lệ dự báo true positive ễ rate (TPR) dựa trên tỷ lệ dự báo false positive rate (FPR) tại các ngưỡng khác nhau Một mô hình hiệu quả khi có FPR thấp và TPR cao hay ROC càng tiệm cận với điểm (0;1) trong đồ thị thì mô hình càng hiệu quả
• AUC là diện tích nằm đưới đường cong ROC Giá trị này là một số dương nhỏ hơn hoặc bằng 1 Giá tr này càng lớn thì mô hình càng tốt ị
Kết quả thực nghiệm
Giới Thiệu Bộ dữ liệu
Tên Bộ dữ li : Diabetes prediction dataset ệu
Nguồn gốc: Bộ dữ liệu dự đoán bệnh tiểu đường này được tập hợp từ dữ liệu y tế và nhân khẩu học từ bệnh nhân, cùng với tình trạng bệnh tiểu đường của họ
Mục tiêu: Phân tích dữ liệu đã được thu thập để chẩn đoán xem bệnh nhân có mắc bệnh tiểu đường hay không và khám phá mối quan hệ giữa các yếu tố y tế và nhân khẩu học khác nhau với khả năng phát triển bệnh tiểu đường Từ đó, xây d ng mự ô hình ph n l p â ớ nhằm dự đoán bệnh tiểu đường ở bệnh nhân dựa trên tiền sử bệnh và thông tin nhân khẩu học của họ Điều này hữu ích cho các chuyên gia chăm sóc sức khỏe trong việc xác định những bệnh nhân có nguy cơ mắc bệnh tiểu đường và phát triển các kế hoạch điều trị phù hợp, kịp thời
Bộ dữ liệu bao gồm: 100000 dòng dữ liệu, 9 thuộc tính (không có dữ liệu khuyết)
Khoa Học Dữ Liệu Giảng viên: TS Võ Thành Đức
Mô tả các biến như sau:
Tên dữ liệu Ý nghĩa Vai trò
Diabetes Bệnh tiểu đường (1 nếu bệnh nhân mắc bệnh tiểu đường, 0 là ngược lại) Target
Gender Giới tính (nam, nữ và khác) Feature
Hypertension Cao huyết áp Có giá trị 0 hoặc 1 (1 nếu bệnh nhân bị cao huyết áp và 0 là ngược lại
Heart disease Bệnh tim Có giá trị 0 hoặc 1 (1 nếu bệnh nhân mắc bệnh tim và 0 là ngược lại)
Smoking history Lịch sử hút thuốc Feature
Chỉ số khối cơ thể Feature
Thước đo lượng đường trong máu trung bình của một người trong 2-3 tháng qua
Khoa Học Dữ Liệu Giảng viên: TS Võ Thành Đức
Khám phá dữ liệu
Ở đây chúng ta có thể thấy 91,5% số người trong tập dữ liệu này không mắc bệnh tiểu đường và 8,5% còn lại mắc bệnh
2.1 Liệu có mối liên hệ nào giữa tuổi tác và khả năng mắc bệnh tiểu đường không?
Khoa Học Dữ Liệu Giảng viên: TS Võ Thành Đức
Bệnh tim là một tình trạng y tế khác có liên quan đến việc tăng nguy cơ phát triển bệnh tiểu đường Tỷ lệ trên cho thấy có đến 32,14% người vừa mắc bệnh tim vừa mắc bệnh tiểu đường Bệnh tiểu đường có thể gây ra các vấn đề mạch máu và hỏng hệ thống tim mạch, làm tăng nguy cơ bị mắc các bệnh tim mạch
2.6 Tiền sử hút thuốc có ảnh hưởng đến nguy cơ mắc bệnh tiểu đường không?
Tiền sử hút thuốc cũng được coi là yếu tố nguy cơ của bệnh tiểu đường và có thể làm trầm trọng thêm các biến chứng liên quan Tỷ lệ trên cho thấy các mức độ mắc bệnh là tương tự nhau, tuy nhiên ở người có tiền sử hút thuốc và đang hút thuốc cao hơn bình thường Hút thuốc lá cũng làm giảm khả năng phản ứng với insulin, làm cho cơ thể khó kiểm soát đường huyết Hút thuốc lá cũng làm tăng nguy cơ mắc các biến chứng của bệnh tiểu đường, như bệnh thận, bệnh võng mạc, bệnh thần kinh và bệnh ngoại biên Những người bị tiểu đường có thói quen hút thuốc lá thường có nguy cơ tử vong sớm cao gấp hai lần người không hút thuốc
Khoa Học Dữ Liệu Giảng viên: TS Võ Thành Đức
2.7 Mức HbA1c có liên quan đến nguy cơ mắc bệnh tiểu đường không?
Mức HbA1c (Hemoglobin A1c) là thước đo lượng đường trong máu trung bình của một người trong 2 3 tháng qua Vậy, ta có thể thấy, nếu xét nghiệm có chỉ số từ lớn hơn 5.5 - – 6.4 là mức tiền tiểu đường, tuy nhiên chỉ số này càng cao nguy cơ tiểu đường càng tăng, khảo sát cho thấy có 100% người mắc bệnh tiểu đường (từ mức 7.0 trở lên)
2.8 Mức đường huyết có ảnh hưởng đến khả năng phát triển bệnh tiểu đường không?
Khoa Học Dữ Liệu Giảng viên: TS Võ Thành Đức
Mức đường huyết đề cập đến lượng glucose trong máu tại một thời điểm nhất định Từ mức đường huyết 120 đã có đến 8,57% người mắc bệnh tiểu đường, và số người mắc bệnh ngày càng tăng cho đến mức từ 220 trở đi thì hoàn toàn mắc bệnh tiểu đường (100%) Vậy nên, mức đường huyết cao là dấu hiệu chính của bệnh tiểu đường.
Xây dựng mô hình và đánh giá kết quả
3.1 Xây dựng mô hình phân lớp
Dùng các thuật toán SVM, AdaBoost, Logistic Regression, Neural Network để phân lớp dữ liệu Ta được kết quả ở phần tiếp theo
* Đánh giá mô hình dựa trên kết quả của công cụ Confusion Matrix:
1 - True Positive: Mô hình dự đoán (Predicted) bệnh nhân bệnh tiểu đường (Actual) họ cũng thật sự bị bệnh tiểu đường
2 - True Negative: Mô hình dự đoán bệnh nhân không bị tiểu đường và thực tế họ cũng không bị bệnh
3 - False Positive: Mô hình dự đoán bệnh nhân bệnh tiểu đường nhưng thực tế họ không bị tiểu đường
Khoa Học Dữ Liệu Giảng viên: TS Võ Thành Đức
4 - False Negative: Mô hình dự đoán bệnh nhân không bị tiểu đường nhưng thực tế họ bị tiểu đường
- Neural Network có True Positive cao nhất (96,8%), theo sau là Logistic Regression (86,8%)
- Neural Network có False Negative thấp nhất (2,8%), cùng với đó là AdaBoost (2,8%) ððððð Ta nên tập trung vào việc tăng True Positive, đồng thời giảm thiểu False Negative để tránh bỏ lỡ những bệnh nhân không mắc bệnh tiểu đường.
➢ Thông qua việc đánh giá các chỉ số kiểm định, cũng như ý nghĩa rủi ro thực ti n từ ễ ma trận nhầm lẫn: Ta thấy được việc sử dụng phương pháp Mô hình Neural Network cho ra mô hình có chỉ số kiểm định tốt nhất và độ nhầm lẫn của dự báo so với thực tế của phương pháp này cũng thấp
➢ Trong y khoa, chỉ số FN đóng vai trò cực kỳ quan trọng, bởi vì chỉ số FN thể hiện số lượng các dự đoán sai lệch một cách gián tiếp, có nghĩa là “khi mô hình dự đoán một
Khoa Học Dữ Liệu Giảng viên: TS Võ Thành Đức
Diabetes prediction dataset - Nhóm 8 !17 người không bị bệnh đái tháo đường nhưng thực tế người đó bị đái tháo đường, tức là việc không chọn trường hợp bị đái tháo đường là sai” Điều này cực kỳ nguy hiểm, bởi vì kết quả sai lệch đó sẽ làm bác sĩ và bệnh nhân chủ quan và mất cảnh giác trước căn bệnh, không có phác đồ điều trị kịp thời để ngăn chặn bệnh từ giai đoạn khởi phát Vì vậy, mô hình có chỉ số FN thấp nhất sẽ là một mô hình dự báo tốt nhất
* Đánh giá mô hình dựa trên kết quả của công cụ Test and Score
Dựa vào điểm số trung bình đánh giá được mô hình cho ra kết quả tốt nhất là Neural Network:
• Tính chính xác (CA) là 97,2%
• Giá trị trung bình điều hoà (F1) là 96,9%
• Độ chính xác (Precision) là 97,1%
• Diện tích đường cong (AUC) là 97,6% ððððð Trong cả 4 phương pháp được sử dụng, phương pháp Neural Network cũng cho ra kết quả F1-score, Precision và CA và cả AUC là cao nhất Chỉ số của phương pháp càng tiến về 1 thì càng tốt Nên có thể nói theo công cụ Test and Score thì là phương pháp phân lớp hiệu quả nhất là phương pháp Neural Network
Khoa Học Dữ Liệu Giảng viên: TS Võ Thành Đức
Diabetes prediction dataset - Nhóm 8 !18 Đánh giá kết quả:
Sau khi đã huấn luyện mô hình và đánh giá, ta áp dụng mô hình Neural Network để gán nhãn cho tập Forecast dât Ta được kết quả dự báo như sau:
Khoa Học Dữ Liệu Giảng viên: TS Võ Thành Đức