Chúng em sẽ tiến hành một cuộc điều tra sâu sắc vào các phương pháp,công cụ và dữ liệu được sử dụng để xây dựng mô hình dự đoán bệnh tim mạch.Đồng thời, chúng tôi cũng sẽ đánh giá sự hiệ
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO NGÔN NGỮ LẬP TRÌNH PYTHON
Đ TI: ÁP DỤNG MÔ HÌNH LOGISTIC REGRESSION
ĐỂ CHUẨN ĐOÁN BỆNH TIM MẠCH
Giảng viên hướng dẫn : ĐINH THU KHÁNH
Sinh viên thực hiện : ĐỖ NGỌC TIẾN
: TRẦN QUANG MINH KHANG : NGUYỄN XUÂN CHÍNH
Hà Nội, tháng 4 năm 2024
Trang 3MỤC LỤC
MỤC LỤC 1
DANH MỤC HÌNH ẢNH 2
LỜI MỞ ĐẦU 3
CHƯƠNG 1: TỔNG QUAN V NGÔN NGỮ PYTHON 4
1.1 G IỚI THIỆU V YTHON P 4
1.2 Đ ẶC ĐIỂM NỔI BẬT CỦA YTHON P 4
1.3 C Ú PHÁP CƠ BẢN CỦA YTHON P 4
1.4 Ứ NG DỤNG CỦA YTHON P 6
1.5 Ư U ĐIỂM V HẠN CHẾ CỦA YTHON P 7
1.5.1 Ưu điểm: 7
1.5.2 Hạn chế: 7
CHƯƠNG 2: THUẬT TOÁN LOGISTIC REGRESSION 8
2.1 T HUẬT TOÁN L OGISTIC R EGRESSION (H ỒI QUY L OGISTIC L GÌ ) ? 8
2.2 T ÌM HIỂU V THUẬT TOÁN L OGISTIC REGRESSION 8
2.3 C ÁC CÁCH TIẾP CẬN PHÂN TÍCH HỒI QUY L OGISTIC DỰA TRÊN KẾT QUẢ CỦA BIẾN PHỤ THUỘC 8
2.3.1 Hồi quy Logistic nhị phân 8
2.3.2 Hồi quy Logistic đa thức 8
2.3.3 Hồi quy Logistic thứ tự 9
2.4 Ứ NG DỤNG CỦA HỒI QUY L OGISTIC 9
2.5 C ÁCH HOẠT ĐỘNG CỦA MÔ HÌNH HỒI QUY L OGISTIC 10
2.5.1 Phương trình được ứng dụng trong mô hình hồi quy Logistic 10
2.5.2 Biến được sử dụng trong mô hình hồi quy Logistic 10
2.5.3 Hàm hồi quy Logistic 11
2.5.4 Phân tích hồi quy Logistic với nhiều biến độc lập 12
2.5.5 Log của tỷ số “odds” 13
CHƯƠNG 3: ỨNG DỤNG THUẬT TOÁN LOGISTIC REGRESSION CHO BI TOÁN DỰ ĐOÁN BỆNH TIM MẠCH 15
3.1 C Ơ SỞ DỮ LIỆU HUẤN LUYỆN 15
3.2 T HỰC HIỆN THUẬT TOÁN L OGISTIC REGRESSION TRONG BI TOÁN CHUẨN ĐOÁN BỆNH TIM MẠCH 17
3.2.1 Cài đặt môi trường và các thư viện 17
3.2.2 Làm sạch và trực quan hoá dữ liệu 18
3.2.3 Huấn luyện mô hình sử dụng thuật toán “Logistic Regression” 22
3.2.4 Đánh giá mô hình huấn luyện qua các chỉ số 22
3.2.5 Dự đoán kết quả 25
KẾT LUẬN 26
TI LIỆU THAM KHẢO 27
Trang 4DANH MỤC HÌNH ẢNH
Hình 2.1: Đồ thị của phương trình tuyến tính 10
Hình 2.2: Phương trình Logistic 11
Hình 2.3: Đồ thị của phương trình Logistic 11
Hình 2.4: Đồ thị của e −x 12
Hình 2.5: Phương trình tính tỷ số Odds 14
Hình 3.1: Cài đặt thư viện hỗ trợ 17
Hình 3.2: Độ dữ liệu từ bộ nhớ 17
Hình 3.3: Trực quan hoá dữ liệu 18
Hình 3.4: Kiểm tra dữ liệu 19
Hình 3.5: Hiển thị quan hệ với dữ liệu "target" 20
Hình 3.6: Đánh giá và lựa chọn mô hình phù hợp 21
Hình 3.7: Sử dụng thuật toán để huấn luyện mô hình 22
Hình 3.8: Đánh giá của chỉ số "ROC" và "AUC" 23
Hình 3.9: Đánh giá các chỉ số βx 23
Hình 3.10: Mức độ ảnh hưởng của các biến đối với kết quả dự đoán 24
Hình 3.11: Dự đoán kết quả 25
Trang 5Trong bối cảnh này, Machine Learning đã trở thành một công cụ quantrọng để xây dựng các mô hình dự đoán, từ việc phân loại tình trạng sức khỏeđến việc dự đoán nguy cơ mắc các bệnh lý cụ thể Trong báo cáo này, chúng em
sẽ tập trung vào ứng dụng của Machine Learning trong việc dự đoán khả năngmắc bệnh tim mạch
Chúng em sẽ tiến hành một cuộc điều tra sâu sắc vào các phương pháp,công cụ và dữ liệu được sử dụng để xây dựng mô hình dự đoán bệnh tim mạch.Đồng thời, chúng tôi cũng sẽ đánh giá sự hiệu quả và tính ứng dụng của các môhình này trong thực tiễn y học
Bằng cách kết hợp kiến thức về y học và kỹ thuật Machine Learning,chúng em hy vọng rằng báo cáo này sẽ cung cấp cái nhìn sâu sắc và toàn diện vềcách máy học có thể được áp dụng để cải thiện khả năng dự đoán và chẩn đoánbệnh tim mạch, đồng thời đưa ra những cơ hội và thách thức trong lĩnh vực này
Trang 6CHƯƠNG 1: TỔNG QUAN V Đ TI
1.1 Đặt vấn đề
Trong những năm gần đây, sự gia tăng về tỷ lệ mắc các bệnh lý tim mạch
đã trở thành một trong những thách thức lớn của y học hiện đại Theo Tổ chức
Y tế Thế giới (WHO), các bệnh về tim mạch là nguyên nhân hàng đầu gây tửvong trên toàn cầu, vượt qua cả các bệnh ung thư và tai nạn giao thông Việcphát hiện sớm và chính xác các dấu hiệu bệnh tim mạch giúp gia tăng hiệu quảđiều trị và giảm thiểu nguy cơ tử vong, góp phần cải thiện chất lượng cuộc sốngcho bệnh nhân
Trong bối cảnh đó, đề tài "Ứng dụng mô hình hồi quy logistic để chẩnđoán bệnh tim mạch" được thực hiện nhằm khám phá tiềm năng của việc ứngdụng các thuật toán học máy trong y học, đặc biệt là để dự đoán và chẩn đoáncác bệnh lý tim mạch dựa trên dữ liệu y tế Bằng cách sử dụng ngôn ngữ lậptrình Python, đề tài này hy vọng sẽ xây dựng một mô hình có độ chính xác cao,
có khả năng hỗ trợ các bác sĩ và chuyên gia y tế trong việc đưa ra quyết địnhlâm sàng và nâng cao hiệu quả điều trị
1.2 Mô tả đề tài
Đề tài này tập trung vào việc ứng dụng mô hình hồi quy logistic, mộttrong những mô hình phân loại phổ biến, để chẩn đoán bệnh tim mạch dựatrên các chỉ số sức khỏe của bệnh nhân Hồi quy logistic là một phương pháphọc máy có giám sát, phù hợp cho các bài toán dự đoán nhị phân Trong trườnghợp này, mô hình sẽ dự đoán khả năng mắc bệnh tim mạch của một người dựatrên các chỉ số như tuổi, huyết áp, cholesterol, chỉ số đường huyết, số lượnghồng cầu, v.v Những yếu tố này được lấy từ các bộ dữ liệu y tế uy tín và sẽđược tiền xử lý trước khi huấn luyện mô hình
Thông qua việc áp dụng các kỹ thuật tiền xử lý dữ liệu, phân tích và huấnluyện mô hình, đề tài sẽ giúp xây dựng một công cụ hỗ trợ chẩn đoán ban đầu,
có thể giúp cảnh báo nguy cơ bệnh sớm Dữ liệu đầu vào sẽ là các thông tin y tế
cá nhân của bệnh nhân, sau đó hệ thống sẽ dự đoán và đưa ra kết luận về khả
Trang 71.3 Phân tích yêu cầu
1.3.1 Yêu cầu chức năng
sức khỏe từ người dùng, thực hiện các bước xử lý cần thiết, và đưa ra kếtquả dự đoán có khả năng mắc bệnh tim hay không
thân thiện, cho phép người dùng nhập các thông tin cần thiết như tuổi,giới tính, huyết áp, mức cholesterol, và các chỉ số khác
hiển thị kết quả dự đoán dưới dạng thông báo dễ hiểu (ví dụ: "Nguy cơmắc bệnh tim cao", "Nguy cơ mắc bệnh tim thấp")
các yếu tố ảnh hưởng đến kết quả chẩn đoán, giúp người dùng hiểu rõ hơn
về rủi ro sức khỏe của họ và những thay đổi tích cực có thể thực hiện đểgiảm nguy cơ
từng người dùng (nếu được phép), để giúp theo dõi tiến triển sức khỏe quathời gian và cải thiện độ chính xác của mô hình
1.3.2 Yêu cầu phi chức năng
người dùng
dùng
dự đoán và có khả năng nâng cấp khi cần thiết.mở rộng để dễ dàng cậpnhật mô hình hoặc thêm các tính năng mới trong tương lai, chẳng hạn nhưtích hợp thêm thuật toán hoặc cập nhật dữ liệu đầu vào
Trang 8 Độ tin cậy và chính xác cao: Để hỗ trợ chẩn đoán bệnh chính xác, môhình phải đạt được độ chính xác cao trong dự đoán và có thể cải tiếnthông qua các phương pháp học máy tiên tiến hơn nếu cần thiết.
CHƯƠNG 2: GIỚI THIỆU NGÔN NGỮ PYTHON
1.1 Giới thiệu về Python
Python là một ngôn ngữ lập trình bậc cao, được phát triển bởi Guido vanRossum và ra mắt lần đầu vào năm 1991 Nó được thiết kế với mục tiêu tạo ramột ngôn ngữ dễ đọc, dễ viết và dễ học Python đặc biệt phổ biến nhờ tính đơngiản và cú pháp rõ ràng, giúp lập trình viên tập trung vào giải quyết vấn đề hơn
là bị phân tâm bởi các chi tiết cú pháp phức tạp
Python hiện nay là một trong những ngôn ngữ lập trình được sử dụngrộng rãi nhất trên thế giới, từ phát triển web, phát triển phần mềm, đến khoa học
dữ liệu, trí tuệ nhân tạo (AI), học máy (Machine Learning) và nhiều lĩnh vựckhác
Hình 1.1: Logo Python
1.2 Đặc điểm nổi bật của Python
ngôn ngữ tự nhiên nên rất phù hợp cho những người mới học lập trình
Trang 9 Mã nguồn mở: Python là một ngôn ngữ mã nguồn mở, điều này có nghĩa
là mọi người đều có thể sử dụng, chỉnh sửa và đóng góp vào sự phát triểncủa nó
macOS, Linux, v.v
rộng rất mạnh mẽ Các thư viện như NumPy, Pandas, Matplotlib, learn, TensorFlow, v.v là những công cụ hỗ trợ quan trọng trong các lĩnhvực khoa học dữ liệu và trí tuệ nhân tạo
tượng (OOP), lập trình hàm (functional programming), và lập trình thủ tục(procedural programming)
1.3 Cú pháp cơ bản của Python
Python có cú pháp gọn gàng, dễ đọc và không yêu cầu dấu chấm phẩy ởcuối mỗi dòng như một số ngôn ngữ khác Một vài khái niệm cơ bản trong cúpháp Python bao gồm:
sử dụng Ví dụ:
Hình 1.1: Biến và kiểu dữ liệu
Trang 10 Vòng lặp và điều kiện: Python sử dụng cú pháp thụt lề (indentation)
để xác định các khối mã lệnh.
Hình 1.2: Vòng lặp và điều kiện
Hàm: Hàm trong Python được khai báo bằng từ khóa def:
Hình 1.3: Hàm trong python
Trang 11- Khoa học dữ liệu: Python là ngôn ngữ phổ biến nhất trong lĩnh vực khoa học
dữ liệu với các thư viện mạnh mẽ như Pandas để xử lý dữ liệu, NumPy để làmviệc với mảng đa chiều, Matplotlib và Seaborn để trực quan hóa dữ liệu Các thưviện này giúp phân tích dữ liệu một cách nhanh chóng và hiệu quả, hỗ trợ việckhám phá và hiểu rõ hơn về các mẫu và xu hướng trong dữ liệu
- Học máy (Machine Learning) và Trí tuệ nhân tạo (AI): Python có các công cụmạnh mẽ như Scikit-learn (thư viện cho các mô hình học máy), TensorFlow, vàKeras (dùng cho các mô hình mạng nơ-ron) giúp các nhà phát triển dễ dàng xâydựng các mô hình học máy và AI Python cũng được sử dụng rộng rãi trong cáclĩnh vực liên quan đến thị giác máy tính (computer vision) và xử lý ngôn ngữ tựnhiên (NLP)
- Phát triển phần mềm: Python có thể được sử dụng để phát triển các ứng dụngphần mềm từ nhỏ đến lớn nhờ vào tính linh hoạt và khả năng mở rộng Với cácthư viện như Tkinter (giao diện đồ họa), PyQt, hay Kivy, Python cho phép pháttriển ứng dụng máy tính để bàn (desktop) hoặc các ứng dụng đa nền tảng
- Tự động hóa: Python được sử dụng rộng rãi để viết các script tự động hóa côngviệc như quản lý hệ thống, xử lý file, và web scraping (trích xuất dữ liệu từ cáctrang web) Các công cụ như Selenium và BeautifulSoup giúp việc thu thập dữliệu từ web trở nên dễ dàng và hiệu quả hơn
Python đã khẳng định vị thế của mình trong các lĩnh vực này nhờ sự linh hoạt,
dễ sử dụng, và hệ sinh thái thư viện phong phú, giúp lập trình viên giải quyếtnhiều loại vấn đề khác nhau một cách hiệu quả
Trang 121.5 Ưu điểm và hạn chế của Python
1.5.1 Ưu điểm:
thế giới, luôn sẵn sàng hỗ trợ và chia sẻ kiến thức
nhau từ phát triển web đến học máy
1.5.2 Hạn chế:
hơn do là ngôn ngữ thông dịch
việc phát triển ứng dụng di động so với các ngôn ngữ chuyên biệt nhưSwift (iOS) hay Kotlin (Android)
ngôn ngữ khác
Trang 13CHƯƠNG 3: THUẬT TOÁN LOGISTIC REGRESSION 2.1 Thuật toán Logistic Regression(Hồi quy Logistic ) là gì?
Hồi quy Logistic là một kỹ thuật phân tích dữ liệu sử dụng toán học đểtìm ra mối quan hệ giữa hai yếu tố dữ liệu Sau đó, kỹ thuật này sử dụng mốiquan hệ đã tìm được để dự đoán giá trị của những yếu tố đó dựa trên yếu tố cònlại Dự đoán thường cho ra một số kết quả hữu hạn, như có hoặc không
2.2 Tìm hiểu về thuật toán Logistic regression
Hồi quy Logistic là một kỹ thuật quan trọng trong lĩnh vực trí tuệ nhân tạo
và máy học (AI/ML) Mô hình machine learning là các chương trình phần mềm
có thể được đào tạo để thực hiện các tác vụ xử lý dữ liệu phức tạp mà không cần
sự can thiệp của con người Mô hình machine learning được xây dựng bằng hồiquy Logistic có thể giúp các tổ chức thu được thông tin chuyên sâu hữu ích từ
dữ liệu kinh doanh của mình Họ có thể sử dụng những thông tin chuyên sâu này
để phân tích dự đoán nhằm giảm chi phí hoạt động, tăng độ hiệu quả và đổichỉnh quy mô nhanh hơn
2.3 Các cách tiếp cận phân tích hồi quy Logistic dựa trên kết quả của biến phụ thuộc
2.3.1 Hồi quy Logistic nhị phân
Hồi quy Logistic nhị phân phù hợp với các vấn đề phân lớp nhị phân chỉ
có hai kết quả có thể xảy ra Biến phụ thuộc chỉ có thể có hai giá trị, chẳng hạnnhư có và không hoặc 0 và 1
Dù hàm Logistic tính toán một phạm vi giá trị giữa 0 và 1, mô hình hồiquy nhị phân vẫn sẽ làm tròn kết quả đến các giá trị gần nhất Nói chung, kếtquả dưới 0,5 sẽ được làm tròn thành 0 và kết quả trên 0,5 sẽ được làm tròn thành
1, do đó hàm Logistic trả về một kết quả nhị phân
2.3.2 Hồi quy Logistic đa thức
Hồi quy đa thức có thể phân tích các vấn đề có một số kết quả có thể xảy
ra, miễn là số kết quả hữu hạn Ví dụ: kỹ thuật này có thể dự đoán xem giá nhà
sẽ tăng 25%, 50%, 75% hay 100% dựa trên dữ liệu dân số, nhưng sẽ không thể
dự đoán được giá trị chính xác của một ngôi nhà
Trang 14Hồi quy Logistic đa thức hoạt động bằng cách ánh xạ các giá trị kết quảcho các giá trị khác nhau giữa 0 và 1 Hàm Logistic có thể trả về một khoảng dữliệu liên tục như 0,1, 0,11, 0,12, v.v., do đó hồi quy đa thức cùng nhóm đầu rađến các giá trị gần nhất có thể có.
2.3.3 Hồi quy Logistic thứ tự
Hồi quy Logistic thứ tự, hay mô hình logit có thứ tự, là một loại hồi quy
đa thức đặc biệt cho các vấn đề trong đó các số đại diện cho các bậc chứ khôngphải là giá trị thực tế Ví dụ: bạn sẽ sử dụng hồi quy thứ tự để dự đoán đáp áncho câu hỏi khảo sát yêu cầu khách hàng đánh giá dịch vụ của bạn ở mức kém,
ổn, tốt hoặc xuất sắc dựa trên một giá trị số, chẳng hạn như số lượng mặt hàng
họ mua từ bạn trong năm
2.4 Ứng dụng của hồi quy Logistic
Hồi quy Logistic có một số ứng dụng thực tế trong nhiều ngành côngnghiệp khác nhau
+ Sản xuất: Các công ty sản xuất áp dụng phân tích hồi quy Logistic để ước tínhxác suất xảy ra sự cố ở bộ phận trong máy móc Sau đó, họ sẽ lên lịch bảo trìdựa trên xác suất đã ước tính này để giảm thiểu sự cố trong tương lai
+ Chăm sóc sức khỏe: Các nhà nghiên cứu y khoa lên kế hoạch điều trị và chămsóc dự phòng bằng cách dự đoán khả năng mắc bệnh ở bệnh nhân Họ sử dụngcác mô hình hồi quy Logistic để so sánh tác động của tiền sử gia đình hoặc của
bộ gen lên bệnh tật
+ Tài chính: Các công ty tài chính phải phân tích các giao dịch tài chính để đềphòng gian lận, xem xét các đơn xin vay và đơn bảo hiểm để đề phòng rủi ro.Những vấn đề này phù hợp với mô hình hồi quy Logistic bởi chúng có kết quả
cụ thể, chẳng hạn như rủi ro cao hoặc rủi ro thấp và gian lận hoặc không gianlận
+ Bộ phận Tiếp thị: Các công cụ quảng cáo trực tuyến sử dụng mô hình hồi quyLogistic để dự đoán xem người dùng sẽ nhấp vào một quảng cáo hay không Kếtquả là, các nhà tiếp thị có thể phân tích phản ứng của người dùng đối với những
từ ngữ và hình ảnh khác nhau, tạo ra các quảng cáo hiệu suất cao có khả năng
Trang 152.5 Cách hoạt động của mô hình hồi quy Logistic
Để hiểu rõ về mô hình hồi quy Logistic , trước tiên chúng ta phải hiểu cácphương trình và biến
2.5.1 Phương trình được ứng dụng trong mô hình hồi quy Logistic
Trong toán học, phương trình cho ta mối quan hệ giữa hai biến: x và y.Bạn có thể sử dụng các phương trình hoặc hàm này để vẽ đồ thị theo trục x vàtrục y bằng cách nhập các giá trị khác nhau của x và y:
Ví dụ: Nếu bạn vẽ đồ thị cho hàm “y = 2 * x” là một hàm tuyến tính, chúng ta
sẽ có một đường thẳng như hình dưới đây:
Hình 2.1: Đồ thị của phương trình tuyến tính
2.5.2 Biến được sử dụng trong mô hình hồi quy Logistic
Trong thống kê, biến là các yếu tố dữ liệu hoặc thuộc tính có giá trị khácnhau Bất kỳ phân tích nào cũng có một số biến nhất định là biến độc lập hoặcbiến giải thích Những thuộc tính này là nguyên nhân của một kết quả Các biếnkhác là biến phụ thuộc hoặc biến đáp ứng; giá trị của chúng phụ thuộc vào cácbiến độc lập Nhìn chung, hồi quy Logistic khám phá cách các biến độc lập ảnhhưởng đến một biến phụ thuộc bằng cách xem xét các giá trị dữ liệu lịch sử của
cả hai biến
Trang 16Trong ví dụ ở trên của chúng tôi, “x” được gọi là biến độc lập, biến dựđoán hoặc biến giải thích vì nó có một giá trị đã xác định “Y” được gọi là biếnphụ thuộc, biến kết quả hoặc biến đáp ứng vì giá trị của nó không xác định.
2.5.3 Hàm hồi quy Logistic
Hồi quy Logistic là một mô hình thống kê sử dụng hàm Logistic , hayhàm logit trong toán học làm phương trình giữa “x”và “y” Hàm logit ánh xạ “y”làm hàm sigmoid của “x”
Hình 2.2: Phương trình Logistic
Trong đó:
F(x) : đầu ra từ 0 đến 1 (ước tính xác suất)
X: Nhập vào hàm
E: số e trong logarit tự nhiên
Nếu vẽ phương trình hồi quy Logistic này, bạn sẽ có một đường conghình chữ S như hình dưới đây