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

Đ ti áp dụng mô hình logistic regression Để chuẩn Đoán bệnh tim mạch

33 1 0
Tài liệu đã được kiểm tra trùng lặp

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Áp Dụng Mô Hình Logistic Regression Để Chuẩn Đoán Bệnh Tim Mạch
Tác giả Đỗ Ngọc Tiến, Trần Quang Minh Khang, Nguyễn Xuân Chính
Người hướng dẫn Đinh Thu Khánh
Trường học Trường Đại Học Điện Lực
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 33
Dung lượng 3,51 MB

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU V NGÔN NGỮ PYTHON (7)
    • 1.1 G IỚI THIỆU V P YTHON (0)
    • 1.2 Đ ẶC ĐIỂM NỔI BẬT CỦA P YTHON (7)
    • 1.3 C Ú PHÁP CƠ BẢN CỦA P YTHON (8)
    • 1.4 Ứ NG DỤNG CỦA P YTHON (9)
    • 1.5 Ư U ĐIỂM V HẠN CHẾ CỦA P YTHON (0)
      • 1.5.1. Ưu điểm (10)
      • 1.5.2. Hạn chế (10)
  • CHƯƠNG 2: GIỚI THIỆU V THUẬT TOÁN V ỨNG DỤNG CỦA THUẬT TOÁN LOGISTIC REGRESSION (11)
    • 2.1 T HUẬT TOÁN L OGISTIC R EGRESSION (H ỒI QUY L OGISTIC LÀ GÌ ) ? (11)
    • 2.2 T ÌM HIỂU V THUẬT TOÁN L OGISTIC REGRESSION (0)
    • 2.3 C ÁC CÁCH TIẾP CẬN PHÂN TÍCH HỒI QUY OGISTIC DỰA TRÊN KẾT QUẢ L CỦA BIẾN PHỤ THUỘC (0)
      • 2.3.1 Hồi quy Logistic nhị phân (11)
      • 2.3.2 Hồi quy Logistic đa thức (11)
      • 2.3.3 Hồi quy Logistic thứ tự (12)
    • 2.4 Ứ NG DỤNG CỦA HỒI QUY L OGISTIC (12)
    • 2.5 C ÁCH HOẠT ĐỘNG CỦA MÔ HÌNH HỒI QUY L OGISTIC (13)
      • 2.5.1 Phương trình được ứng dụng trong mô hình hồi quy Logistic (13)
      • 2.5.2 Biến được sử dụng trong mô hình hồi quy Logistic (13)
      • 2.5.3 Hàm hồi quy Logistic (14)
  • CHƯƠNG 3: ỨNG DỤNG PYTHON TRONG MÔ HÌNH LÓIIC (17)
    • 3.1. G IỚI THIỆU CHUNG (17)
    • 3.2 T HƯ VIỆN N UMPY (17)
    • 3.3 T HƯ VIỆN P ANDAS (18)
    • 3.5 T HƯ VIỆN S EABORN (21)
    • 3.6 T HƯ VIỆN S CIKIT - LEARN (22)
  • CHƯƠNG 4: KẾT QUẢ (24)
    • 4.1 C Ơ SỞ DỮ LIỆU HUẤN LUYỆN (24)
    • 3.2 T HỰC HIỆN THUẬT TOÁN OGISTIC REGRESSION TRONG BI TOÁN CHUẨN L ĐOÁN BỆNH TIM MẠCH (0)
      • 3.2.1 Cài đặt môi trường và các thư viện (26)
      • 3.2.2 Làm sạch và trực quan hoá dữ liệu (26)
      • 3.2.3 Đánh giá và lựa chọn mô hình huấn luyện (28)
      • 3.2.4 Huấn luyện mô hình sử dụng thuật toán “Logistic Regression” (29)

Nội dung

Một vài khái niệm cơ bản trong cú pháp Python bao gồm: - Biến và kiểu dữ liệu: Python không yêu cầu khai báo kiểu biến trước khi sử dụng: Hình 1.2: Bi n và ki u d ế ể ữ liệ u - Vòng lặp

GIỚI THIỆU V NGÔN NGỮ PYTHON

Đ ẶC ĐIỂM NỔI BẬT CỦA P YTHON

Python có cú pháp đơn giản và dễ hiểu, gần gũi với ngôn ngữ tự nhiên, giúp cho người mới bắt đầu học lập trình dễ dàng tiếp cận và nắm bắt kiến thức.

Python là một ngôn ngữ mã nguồn mở, cho phép mọi người tự do sử dụng, chỉnh sửa và đóng góp vào sự phát triển của nó.

- Đa nền tảng: Python có thể chạy trên nhiều hệ điều hành như Windows, macOS, Linux, …

- Thư viện phong phú: Python có một hệ sinh thái các thư viện và gói mở rộng rất

… và những công cụ hỗ trợ quan trọng trong các lĩnh vực khoa học dữ liệu và trí tuệ nhân tạo

- Hỗ trợ nhiều mô hình lập trình: Python hỗ trợ cả lập trình hướng đối tượng (OOP), lập trình hàm (functional programming), và lập trình thủ tục (procedural programming).

C Ú PHÁP CƠ BẢN CỦA P YTHON

Python nổi bật với cú pháp gọn gàng và dễ đọc, không yêu cầu dấu chấm phẩy ở cuối mỗi dòng như nhiều ngôn ngữ khác Các khái niệm cơ bản trong cú pháp Python rất quan trọng để người dùng nắm vững.

- Biến và kiểu dữ liệu: Python không yêu cầu khai báo kiểu biến trước khi sử dụng:

Hình 1.2: Bi n và ki u d ế ể ữ liệ u

- 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.3: Vòng l ặp và điề u ki n ệ

- Hàm: Python hàm được khai báo bằng từ khóa def:

Ứ NG DỤNG CỦA P YTHON

Python là một ngôn ngữ đa năng và có thể được sử dụng trong nhiều lĩnh vực khác nhau:

Python cung cấp các framework như Django và Flask để phát triển ứng dụng web nhanh chóng và an toàn Django là một framework mạnh mẽ với nhiều chức năng sẵn có, giúp tăng tốc quá trình phát triển và triển khai Ngược lại, Flask nhẹ và linh hoạt, cho phép các nhà phát triển tạo ra các ứng dụng tùy chỉnh theo nhu cầu của họ.

Python là ngôn ngữ hàng đầu trong khoa học dữ liệu, nổi bật với các thư viện mạnh mẽ như Pandas cho xử lý dữ liệu, NumPy cho mảng đa chiều, và Matplotlib cùng Seaborn cho trực quan hóa Những công cụ này cho phép phân tích dữ liệu nhanh chóng và hiệu quả, giúp khám phá và nhận diện các mẫu cũng như xu hướng trong dữ liệu.

Học máy và trí tuệ nhân tạo ngày càng trở nên phổ biến với sự hỗ trợ của Python, nhờ vào các công cụ mạnh mẽ như Scikit-learn cho mô hình học máy và TensorFlow cùng Keras cho các mô hình mạng nơ ron Python không chỉ giúp các nhà phát triển dễ dàng xây dựng các mô hình học máy và AI, mà còn được ứng dụng rộng rãi trong các lĩnh vực như thị giác máy tính và xử lý ngôn ngữ tự nhiên.

Python là ngôn ngữ lập trình linh hoạt và có khả năng mở rộng, phù hợp cho việc phát triển phần mềm từ nhỏ đến lớn Nhờ vào các thư viện như Tkinter, PyQt và Kivy, Python hỗ trợ tạo ra ứng dụng máy tính để bàn và các ứng dụng đa nền tảng một cách dễ dàng.

Ư U ĐIỂM V HẠN CHẾ CỦA P YTHON

Python là ngôn ngữ lập trình phổ biến cho việc tự động hóa, cho phép viết các script để quản lý hệ thống, xử lý file và thực hiện web scraping Các công cụ như Selenium và BeautifulSoup hỗ trợ hiệu quả trong việc thu thập dữ liệu từ các trang web, giúp quá trình này trở nên dễ dàng hơn.

Python đã nổi bật trong nhiều lĩnh vực nhờ tính linh hoạt, dễ sử dụng và hệ sinh thái thư viện đa dạng, hỗ trợ lập trình viên giải quyết hiệu quả nhiều vấn đề khác nhau.

1.5 Ưu điểm và hạn chế của Python

- Dễ học và dễ sử dụng: Cú pháp đơn giản với người mới bắt đầu.

- Cộng đồng mạnh mẽ: Python có một cộng đồng người dùng lớn trên toàn thế giới, luôn sẵn sàng hỗ trợ và chia sẻ kiến thức

- Tính linh hoạt cao: Python có thể được sử dụng trong nhiều lĩnh vực khác nhau từ phát triển web đến học máy

- Tốc độ chậm: So với các ngôn ngữ như C/C++ hay Java, Python chậm hơn do là ngôn ngữ thông dịch

Python không phải là ngôn ngữ lý tưởng cho phát triển ứng dụng di động, đặc biệt khi so sánh với các ngôn ngữ chuyên biệt như Swift cho iOS và Kotlin cho Android.

- Sử dụng bộ nhớ lớn: Python thường tiêu tốn nhiều bộ nhớ hơn so với các ngôn ngữ khác.

GIỚI THIỆU V THUẬT TOÁN V ỨNG DỤNG CỦA THUẬT TOÁN LOGISTIC REGRESSION

T HUẬT TOÁN L OGISTIC R EGRESSION (H ỒI QUY L OGISTIC LÀ GÌ ) ?

Hồi quy Logistic là một phương pháp phân tích dữ liệu dựa trên toán học, nhằm xác định mối quan hệ giữa hai yếu tố dữ liệu Kỹ thuật này sử dụng mối quan hệ đã xác định để dự đoán giá trị của các yếu tố dựa trên yếu tố còn lại Kết quả dự đoán thường là các giá trị hữu hạn, chẳng 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 trí tuệ nhân tạo và máy học (AI/ML), cho phép xây dựng các mô hình machine learning tự động xử lý dữ liệu phức tạp mà không cần can thiệp của con người Những mô hình này giúp tổ chức thu thập thông tin chuyên sâu từ dữ liệu kinh doanh, từ đó áp dụng phân tích dự đoán để giảm chi phí hoạt động, nâng cao hiệu quả và tăng tốc độ mở rộng quy mô.

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 là phương pháp lý tưởng cho các bài toán phân lớp nhị phân với hai kết quả khả thi Biến phụ thuộc trong mô hình này chỉ nhận hai giá trị, chẳng hạn như "có" và "không" hoặc "0" và "1".

Hàm Logistic trong mô hình hồi quy nhị phân tính toán giá trị trong khoảng từ 0 đến 1, nhưng kết quả cuối cùng sẽ được làm tròn Cụ thể, nếu kết quả dưới 0,5, nó sẽ được làm tròn thành 0, trong khi kết quả trên 0,5 sẽ được làm tròn thành 1, dẫn đến việc hàm Logistic trả về kết quả nhị phân.

2.3.2 Hồi quy Logistic đa thức

Hồi quy đa thức là một kỹ thuật phân tích giúp dự đoán các kết quả có thể xảy ra trong một tập hợp hữu hạn, chẳng hạn như việc tăng giá nhà với các tỷ lệ 25%, 50%, 75% hay 100% dựa trên dữ liệu dân số Tuy nhiên, phương pháp này không thể cung cấp giá trị chính xác cho một ngôi nhà cụ thể.

Hồi quy Logistic đa thức ánh xạ các giá trị kết quả vào khoảng từ 0 đến 1, sử dụng hàm Logistic để tạo ra dữ liệu liên tục như 0,1, 0,11, 0,12, v.v Phương pháp này giúp nhóm các đầu ra lại với nhau, đưa chúng đến các giá trị gần nhất có thể.

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 dạng hồi quy đa thức đặc biệt, được áp dụng cho các trường hợp mà các số liệu đại diện cho các bậc thay vì giá trị thực tế Ví dụ, phương pháp này thường được sử dụng để dự đoán phản hồi của khách hàng trong các khảo sát đánh giá dịch vụ, nơi họ có thể xếp hạng mức độ hài lòng từ kém, ổn, tốt đến xuất sắc dựa trên các yếu tố như số lượng sản phẩm họ đã mua 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ông nghiệp khác nhau:

Các công ty sản xuất sử dụng phân tích hồi quy Logistic để ước lượng xác suất xảy ra sự cố trong các bộ phận máy móc Dựa trên những ước tính này, họ lập kế hoạch bảo trì nhằm giảm thiểu sự cố trong tương lai.

Chăm sóc sức khỏe hiện đại dựa vào nghiên cứu y khoa để lên kế hoạch điều trị và chăm sóc dự phòng hiệu quả Các nhà nghiên cứu sử dụng mô hình hồi quy Logistic nhằm dự đoán khả năng mắc bệnh ở bệnh nhân, từ đó so sánh tác động của tiền sử gia đình và bộ gen đến nguy cơ phát triển bệnh tật.

Các công ty tài chính cần phân tích giao dịch để phòng ngừa gian lận và đánh giá các đơn xin vay cùng bảo hiểm nhằm giảm thiểu rủi ro Những vấn đề này phù hợp với mô hình hồi quy Logistic, vì chúng mang lại kết quả rõ ràng như rủi ro cao hoặc thấp, cũng như gian lận hoặc không gian lậ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 quy

Logistic giúp dự đoán khả năng người dùng nhấp vào quảng cáo, cho phép các nhà tiếp thị phân tích phản ứng của họ với các từ ngữ và hình ảnh khác nhau Kết quả là, các quảng cáo hiệu suất cao được tạo ra có khả năng thu hút khách hàng tốt hơn.

2.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ác phươ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 thể hiện 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ị trên mặt phẳng tọa độ bằng cách nhập các giá trị khác nhau cho 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ị ủa phương trình tuyế c 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ác nhau, với một số biến nhất định được phân loại là biến độc lập hoặc biến giải thích, đóng vai trò là nguyên nhân của kết quả Ngược lại, các biến phụ thuộc hay biến đáp ứng có giá trị phụ thuộc vào các biến độc lập Hồi quy Logistic được sử dụng để khám phá cách các biến độc lập ảnh hưởng đến biến phụ thuộc bằng cách phân tích giá trị dữ liệu lịch sử của cả hai loại biến.

Trong ví dụ trên, "x" là biến độc lập, còn "y" là biến phụ thuộc Biến độc lập được xác định giá trị, trong khi biến phụ thuộc có giá trị chưa xác định.

Hồi quy Logistic là một mô hình thống kê sử dụng hàm Logistic, hay còn gọi là hàm logit, để thiết lập mối quan hệ giữa biến độc lập “x” và biến phụ thuộc “y” Hàm logit chuyển đổi giá trị của “y” thành hàm sigmoid của “x”, cho phép dự đoán xác suất của các sự kiện nhị phân.

F(x): Đầu ra t ừ 0 đến 1 (ước tính xác suất)

Nếu vẽ phương trình hồi quy Logistic này, bạn sẽ có một đường cong hình chữ S như hình dưới đây

Hình 2.3 : Đồ thị ủa phương trình Logistic c

C ÁC CÁCH TIẾP CẬN PHÂN TÍCH HỒI QUY OGISTIC DỰA TRÊN KẾT QUẢ L CỦA BIẾN PHỤ THUỘC

2.1 Thuật toán Logistic Regression(Hồi quy Logistic ) là gì?

Hồi quy Logistic là một phương pháp phân tích dữ liệu sử dụng toán học để xác định mối quan hệ giữa hai yếu tố Kỹ thuật này cho phép dự đoán giá trị của một yếu tố dựa trên yếu tố còn lại, với kết quả thường là hữu hạn, chẳng 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 trí tuệ nhân tạo và máy học (AI/ML), cho phép xây dựng các mô hình machine learning có khả năng xử lý dữ liệu phức tạp mà không cần can thiệp của con người Các mô hình này giúp tổ chức thu thập thông tin chuyên sâu từ dữ liệu kinh doanh, từ đó thực hiện phân tích dự đoán để giảm chi phí hoạt động, nâng cao hiệu quả và tăng tốc độ điều chỉnh quy mô.

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 là phương pháp phù hợp cho các vấn đề phân lớp nhị phân, nơi chỉ có hai kết quả khả thi Biến phụ thuộc trong mô hình này chỉ có thể nhận hai giá trị, ví dụ như "có" và "không" hoặc "0" và "1".

Hàm Logistic trong mô hình hồi quy nhị phân tính toán giá trị trong khoảng từ 0 đến 1, nhưng kết quả sẽ được làm tròn về các giá trị gần nhất Cụ thể, nếu kết quả dưới 0,5 sẽ được làm tròn thành 0, trong khi kết quả trên 0,5 sẽ trở thành 1, dẫn đến việc hàm Logistic cung cấp kết quả nhị phân.

2.3.2 Hồi quy Logistic đa thức

Hồi quy đa thức là một kỹ thuật phân tích hiệu quả cho các vấn đề có số lượng kết quả hữu hạn, cho phép dự đoán các biến động như giá nhà có thể tăng 25%, 50%, 75% hoặc 100% dựa trên dữ liệu dân số Tuy nhiên, phương pháp này không thể xác định giá trị chính xác của một ngôi nhà.

Hồi quy Logistic đa thức ánh xạ các giá trị kết quả vào khoảng từ 0 đến 1, cho phép hàm Logistic trả về dữ liệu liên tục như 0,1, 0,11, 0,12, v.v Phương pháp này nhóm các đầu ra gần nhất với các giá trị 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 phương pháp hồi quy đa thức đặc biệt được áp dụng cho các vấn đề mà các số liệu đại diện cho các bậc thay vì giá trị thực tế Ví dụ, phương pháp này có thể được sử dụng để dự đoán phản hồi của khách hàng trong một khảo sát, trong đó họ đánh giá dịch vụ của bạn với các mức độ như kém, ổn, tốt hoặc xuất sắc, dựa trên các chỉ số số lượng mặt hàng mà họ đã mua trong năm.

Ứ NG DỤNG CỦA HỒI QUY L OGISTIC

Hồi quy Logistic có một số ứng dụng thực tế trong nhiều ngành công nghiệp khác nhau:

Các công ty sản xuất sử dụng phân tích hồi quy Logistic để ước tính xác suất xảy ra sự cố trong các bộ phận của máy móc Dựa trên những xác suất này, họ lên kế hoạch bảo trì nhằm giảm thiểu sự cố trong tương lai.

Chăm sóc sức khỏe hiện đại dựa vào nghiên cứu y khoa để phát triển các phương pháp điều trị và chăm sóc dự phòng hiệu quả Các nhà nghiên cứu sử dụng mô hình hồi quy Logistic để dự đoán khả năng mắc bệnh ở bệnh nhân, từ đó phân tích tác động của tiền sử gia đình và di truyền lên nguy cơ bệnh tật.

Các công ty tài chính cần phân tích giao dịch tài chính để phòng ngừa gian lận và đánh giá các đơn xin vay cũng như đơn bảo hiểm nhằm giảm thiểu rủi ro Những vấn đề này phù hợp với mô hình hồi quy Logistic, giúp xác định các kết quả cụ thể như rủi ro cao, rủi ro thấp, gian lận hoặc không gian lậ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 quy

Logistic được sử dụng để dự đoán khả năng người dùng nhấp vào quảng cáo Kết quả này cho phép các nhà tiếp thị phân tích phản ứng của người dùng đối với các từ ngữ và hình ảnh khác nhau, từ đó tạo ra những quảng cáo hiệu suất cao nhằm thu hút khách hàng hiệu quả.

C ÁCH HOẠT ĐỘNG CỦA MÔ HÌNH HỒI QUY L OGISTIC

Để hiểu rõ về mô hình hồi quy Logistic , trước tiên chúng ta phải hiểu các phươ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 thể hiện 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ị trên 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ị ủa phương trình tuyế c 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 có giá trị khác nhau, bao gồm biến độc lập (biến giải thích) và biến phụ thuộc (biến đáp ứng) Biến độc lập là nguyên nhân dẫn đến kết quả, trong khi giá trị của biến phụ thuộc phụ thuộc vào các biến độc lập Hồi quy Logistic được sử dụng để phân tích ảnh hưởng của các biến độc lập đến biến phụ thuộc bằng cách xem xét dữ liệu lịch sử của cả hai loại biến.

Trong ví dụ trên, "x" được xem là biến độc lập, biến dự đoán hoặc biến giải thích với giá trị đã được xác định Ngược lại, "y" là biến phụ thuộc, biến kết quả hoặc biến đáp ứng, với giá trị không xác định.

Hồi quy Logistic là một mô hình thống kê quan trọng, sử dụng hàm Logistic hay hàm logit để thiết lập mối quan hệ giữa biến độc lập “x” và biến phụ thuộc “y” Hàm logit chuyển đổi giá trị của “y” thành dạng hàm sigmoid của “x”, giúp phân loại các kết quả một cách hiệu quả.

F(x): Đầu ra t ừ 0 đến 1 (ước tính xác suất)

Nếu vẽ phương trình hồi quy Logistic này, bạn sẽ có một đường cong hình chữ S như hình dưới đây

Hình 2.3 : Đồ thị ủa phương trình Logistic c

Hàm 𝑒 −𝑥 mang lại giá trị lớn không phù hợp cho việc huấn luyện mô hình, trong khi hàm logit cho kết quả trong khoảng [0, 1], rất thích hợp cho dự đoán trong học máy Hàm logit chỉ trả về giá trị giữa 0 và 1 cho biến phụ thuộc, bất kể giá trị của biến độc lập Điều này cho thấy cách hồi quy Logistic ước tính giá trị của biến phụ thuộc và lập mô hình phương trình giữa nhiều biến độc lập và một biến phụ thuộc.

2.5.4 Phân tích hồi quy Logistic với nhiều biến độc lập

Trong nhiều tình huống, các biến giải thích có tác động đến giá trị của biến phụ thuộc Để xây dựng mô hình cho các tập dữ liệu đầu vào này, hồi quy Logistic yêu cầu giả định mối quan hệ tuyến tính giữa các biến độc lập Hàm "Sigmoid" có thể được điều chỉnh để tính toán biến đầu ra cuối cùng theo công thức: y = f(β0+β1x1+β2x2+…+βnxn).

- y: là tổng trọng số tuyến tính

- β0 là hệ số chặn (intercept)

- β1, β2,…, βn là các hệ số của các biến độc lập tương ứng

- 𝑥1,𝑥2,…, xn là giá trị của các biến độc lập tương ứng

Ký hiệu “β” biểu thị hệ số hồi quy trong mô hình logit, cho phép tính toán các giá trị hệ số này khi có một tập dữ liệu thực nghiệm lớn.

Qua các chỉ chúng ta có thể đánh giá được mức độ ảnh hưởng của dữ liệu trong học máy:

Dấu của hệ số trong một biến thể hiện hướng mối quan hệ giữa biến đó và xác suất xảy ra của sự kiện Cụ thể, nếu hệ số dương, sự gia tăng giá trị của biến đồng nghĩa với việc xác suất xảy ra của sự kiện cũng tăng Ngược lại, hệ số âm cho thấy rằng khi giá trị của biến tăng, xác suất của sự kiện sẽ giảm.

Hệ số lớn cho thấy mức độ ảnh hưởng của biến đối với xác suất xảy ra của sự kiện Khi hệ số càng lớn, biến đó càng có tác động đáng kể đến xác suất Một hệ số dương lớn hoặc âm lớn có thể chỉ ra rằng biến đó có ảnh hưởng mạnh mẽ đến xác suất.

Giá trị của biến độc lập đóng vai trò quan trọng trong việc xác định ảnh hưởng đến xác suất Khi biến độc lập có giá trị cố định, hệ số tương ứng phản ánh tác động của biến đó đến xác suất khi không thay đổi Ngược lại, đối với biến độc lập có thể thay đổi, hệ số cho biết ảnh hưởng của việc thay đổi một đơn vị trong biến đó đến xác suất.

Các tương tác giữa các biến có thể ảnh hưởng đến xác suất, và các hệ số sẽ chỉ ra cách mà những tương tác này tác động đến kết quả.

2.5.5 Log của tỷ số “odds”

Mô hình logit cũng có thể xác định tỷ số thành công trên thất bại hay log của tỷ số odds

Khi chơi poker với bạn bè, nếu bạn thắng bốn ván trên tổng số mười ván, tỷ lệ chiến thắng của bạn sẽ là 4/6, thể hiện tỷ số thành công so với thất bại Ngược lại, xác suất thắng của bạn là 4/10.

Về mặt toán học, tỉ số odds về mặt xác suất của bạn là 𝑝

1 − 𝑝 và log của tỷ số odds là 𝑙𝑜𝑔 𝑙𝑜𝑔 ( 𝑝

1−𝑝) Bạn có thể biểu diễn hàm Logistic bằng log của tỷ số odds như hình dưới đây:

Hình 2.5 : Phương trình tính tỷ ố s Odds

ỨNG DỤNG PYTHON TRONG MÔ HÌNH LÓIIC

G IỚI THIỆU CHUNG

Trong nghiên cứu "Áp dụng Mô hình Logistic Regression để chẩn đoán bệnh tim mạch", việc xử lý dữ liệu, xây dựng và đánh giá mô hình là các bước quan trọng để đảm bảo độ chính xác và hiệu quả của thuật toán phân loại bệnh Python, cùng với các thư viện mạnh mẽ, đóng vai trò thiết yếu trong việc thực hiện các công đoạn này, từ chuẩn bị dữ liệu, xử lý và phân tích, đến xây dựng mô hình và trực quan hóa kết quả.

Python là một ngôn ngữ lập trình linh hoạt với cộng đồng lớn và nhiều thư viện hữu ích như NumPy cho tính toán số học, Pandas cho phân tích và xử lý dữ liệu, Matplotlib và Seaborn cho trực quan hóa, cùng Scikit-Learn cho mô hình học máy Chương này sẽ tổng quan về các thư viện chính, mục đích và cách áp dụng chúng trong quy trình xây dựng mô hình Logistic Regression, kèm theo các đoạn mã ví dụ để minh họa cách sử dụng từng thư viện.

T HƯ VIỆN N UMPY

Numpy (Numerical Python) là một thư viện mạnh mẽ trong Python, được thiết kế để thực hiện các phép toán trên mảng (array) và xử lý dữ liệu số học với hiệu suất cao.

- Cung c p c u trúc m ng n-dimensional (n chiấ ấ ả ều), giúp lưu trữ và thao tác d ữliệu lớn một cách hi u qu ệ ả

- Tích h p các phép toán s hợ ố ọc cơ bản và nâng cao như phép toán ma trận, đại số tuy n tính, th ng kê.ế ố

- Tối ưu hóa tốc độ tính toán nhờ sử dụng các hàm viết b ng ngôn ng ằ ữC

Numpy là một thư viện mạnh mẽ trong Python, được sử dụng để xử lý dữ liệu đầu vào, tính toán các giá trị thống kê, và chuẩn bị dữ liệu cho các thư viện khác Ứng dụng của Numpy rất đa dạng, giúp tối ưu hóa quy trình phân tích dữ liệu và nâng cao hiệu suất tính toán.

- Phương thức tính trung bình(mean) c a m t mủ ộ ảng:

Hình 3.1 : Phương thứ c "mean" trong numpy

- Khởi tạo m t ma tr n x hàngộ ậ (cột, hàng và cột):

Hình 3.2 : Phương thứ c kh i t o ma tr n ở ạ ậ

Hình 3.3: K t qu sau khi kh i t o ma tr n "0" ế ả ở ạ ậ

T HƯ VIỆN P ANDAS

Pandas là một thư viện mạnh mẽ trong Python, chuyên dụng cho việc xử lý và phân tích dữ liệu dạng bảng Thư viện này cung cấp hai cấu trúc dữ liệu chính, giúp người dùng dễ dàng quản lý và thao tác với dữ liệu.

- Series: Là một mảng một chiều, giống như một cột trong bảng dữ liệu

- DataFrame: Là một bảng hai chiều, giống như một bảng trong cơ sở dữ liệu hay một tờ Excel với các hàng và cột

Chức năng: Pandas hỗ trợ nhiều tác vụ quan trọng trong việc xử lý dữ liệu:

- Đọc, ghi và xử lý dữ liệu: Pandas có thể đọc và ghi dữ liệu từ các định dạng phổ biến như CSV, Excel, SQL, JSON, …

Làm sạch dữ liệu là quá trình quan trọng giúp xử lý dữ liệu thiếu, loại bỏ hoặc thay thế các giá trị ngoại lai, chuẩn hóa dữ liệu và thực hiện các thao tác làm sạch khác để đảm bảo tính chính xác và độ tin cậy của dữ liệu.

Pandas là một thư viện mạnh mẽ giúp tổng hợp và thống kê dữ liệu, cung cấp các công cụ để tính toán các chỉ số thống kê như trung bình, tần suất, tổng và đếm Trong các nghiên cứu và ứng dụng, đặc biệt là trong phân tích dữ liệu y tế, Pandas đóng vai trò quan trọng trong việc xử lý và phân tích thông tin.

- Đọc dữ liệu về bệnh nhân từ các file CSV hoặc các nguồn dữ liệu khác

- Thực hiện các bước tiền xử lý như loại bỏ dữ liệu thiếu, chuẩn hóa, thay thế hoặc loại bỏ các giá trị ngoại lai

Trước khi áp dụng các mô hình học máy hoặc thực hiện phân tích tiếp theo, cần sắp xếp lại cấu trúc dữ liệu, chuyển đổi các cột và thực hiện các tính toán thống kê Việc này đảm bảo dữ liệu được chuẩn bị một cách chính xác và hiệu quả.

- Sử dụng pandas để đọc file dữ liệu số:

Hình 3.4 : Ứ ng d ng pandas trong vi ụ ệc đọ c file

- ng d ng trong vi c t ng h p th ng kê và tr c quan hóa d u Ứ ụ ệ ổ ợ ố ự ữliệ

Hình 3.5 : Ứ ng d ng trong vi c t ng h p th ng kê và tr c quan hóa d ụ ệ ổ ợ ố ự ữ liệ u

* Ứng ng d ng trong viứ ụ ệc thống kê d ữliệu

Hình 3.6 : Ứng ứ ng d ng trong vi c th ng kê d ụ ệ ố ữ liệ u

Matplotlib là một thư viện Python mạnh mẽ chuyên dùng cho việc trực quan hóa dữ liệu thông qua các biểu đồ Thư viện này cung cấp nhiều công cụ hữu ích để tạo ra đa dạng các loại biểu đồ khác nhau.

- Histogram: Biểu đồ phân bố dữ liệu

- Scatter plot: Biểu đồ phân tán, giúp thể hiện mối quan hệ giữa hai biến

- Bar chart: Biểu đồ cột, dùng để so sánh các giá trị rời rạc

- Line plot: Biểu đồ đường, thường dùng để thể hiện sự thay đổi của dữ liệu theo thời gian

Tác dụng: Matplotlib mang đến những công dụng hữu ích trong việc trực quan hóa và phân tích dữ liệu:

- Hiển thị dữ liệu dưới dạng hình ảnh: Giúp phân tích và hiểu rõ hơn về các xu hướng, mối quan hệ trong dữ liệu

Cung cấp công cụ tùy chỉnh linh hoạt cho phép người dùng điều chỉnh đồ thị với các tính năng như tiêu đề, nhãn trục, màu sắc và kiểu đường nét, giúp tăng tính dễ đọc và trực quan cho đồ thị.

Kết hợp Numpy và Pandas với Matplotlib cho phép vẽ đồ thị trực tiếp từ các đối tượng Numpy arrays hoặc Pandas DataFrame, giúp việc tạo đồ thị từ dữ liệu đã xử lý trở nên dễ dàng hơn Trong các dự án phân tích và xử lý dữ liệu, Matplotlib thường được sử dụng để trực quan hóa kết quả một cách hiệu quả.

- Trực quan hóa phân bố dữ liệu: Giúp hiển thị các đặc điểm phân bố của dữ liệu thông qua histogram hoặc scatter plot

- So sánh các đặc trưng: Hiển thị sự khác biệt giữa các đặc trưng hoặc kết quả phân tích qua các biểu đồ như bar chart

Để đánh giá hiệu suất của mô hình học máy, các biểu đồ như đường cong ROC (Receiver Operating Characteristic) và ma trận nhầm lẫn (confusion matrix) có thể được sử dụng để hiển thị kết quả đánh giá mô hình một cách trực quan và hiệu quả.

T HƯ VIỆN S EABORN

Seaborn là một thư viện trực quan hóa dữ liệu được xây dựng dựa trên Matplotlib, tập trung vào việc tạo ra các biểu đồ thống kê và hỗ trợ hiển thị dữ liệu phức tạp một cách đơn giản.

- Tích h p tr c ti p vợ ự ế ới Pandas để tạo biểu đồ từ các DataFrame

- Cung c p các lo i biấ ạ ểu đồ phong phú như heatmap, boxplot, pairplot, và các biểu đồ hồi quy

Seaborn là một công cụ hữu ích trong việc vẽ biểu đồ ma trận tương quan, giúp phát hiện mối quan hệ giữa các đặc trưng trong dữ liệu Nó cũng được sử dụng để kiểm tra dữ liệu ngoại lai thông qua biểu đồ boxplot, mang lại cái nhìn trực quan và rõ ràng về các đặc điểm của dữ liệu.

Hình 3.7 : Ứ ng d ng Seaborn c a vi c tr c quan hóa d ụ ủ ệ ự ữ liệ u

T HƯ VIỆN S CIKIT - LEARN

Scikit-learn là thư viện hàng đầu trong Python cho ứng dụng học máy, cung cấp công cụ toàn diện cho việc tiền xử lý dữ liệu, xây dựng mô hình, đánh giá và tối ưu hóa mô hình.

- Xây dựng mô hình học máy: Scikit learn tích hợp sẵn nhiều thuật toán học máy - như Logistic Regression, KNN, Random Forest, SVM, …

- Tiền xử lý dữ liệu: Cung cấp các công cụ để chuẩn hóa, mã hóa, và chia nhỏ tập dữ liệu

- Đánh giá mô hình: Hỗ trợ tính toán các chỉ số như độ chính xác (accuracy), precision, recall, F1-score

- Trực quan hóa kết quả: Hiển thị các biểu đồ như ROC curve, confusion matrix để phân tích kết quả Ứng dụng trong đề tài:

- Áp dụng Logistic Regression để xây dựng mô hình chính dự đoán bệnh tim mạch

- Sử dụng các công cụ như confusion matrix, classification report, và đường cong ROC để đánh giá và tối ưu hóa mô hình

- Thử nghiệm các mô hình khác như KNN hoặc Random Forest để so sánh hiệu quả

Hình 3.8 : Ứ ng d ụng thư việ n Scikit-learn và thu ật toán Logictic Regression để huấ n luy n ệ

KẾT QUẢ

C Ơ SỞ DỮ LIỆU HUẤN LUYỆN

Dữ liệu huấn luyện gồm 304 người trong đó gồm có các tình trạng:

- Age (Tuổi): Độ tuổi của bệnh nhân

- Sex (Giới tính): 1 = Nam; 0 = Nữ

+ 0: Đau ngực điển hình: có liên quan đến việc giảm cung cấp máu đến tim

+ 1: Đau ngực không điển hình: không liên quan đến tim

+ 2: Đau không phải do tim gây ra: thường là co thắt thực quản (không liên quan đến tim)

+ 3: Không có triệu chứng: không có dấu hiệu của bệnh

- Trestbps (Huyết áp tĩnh): Huyết áp tĩnh khi nhập viện, tính bằng mm Hg Bất kỳ giá trị nào cao hơn 130 140 thường là đáng lo ngại.-

- Chol (Cholesterol huyết thanh): Lượng cholesterol trong máu, tính bằng mg/dl Bất kỳ giá trị nào cao hơn 200 thường là đáng lo ngại

- Fbs (Đường huyết sau khi đói nước):

- Restecg (Kết quả điện tâm đồ khi ở trạng thái nghỉ):

+ 0: Không có điểm gì đặc biệt

+ 1: Đột biến sóng ST T: có thể biểu hiện từ nhẹ đến nghiêm trọng, tín hiệu - về nhịp tim không bình thường

+ 2: Có thể hoặc chắc chắn phì đại tâm thu trái: tâm thu trái (khi phải của trái tim) phì đại

- Thalach (Nhịp tim tối đa đạt được): Tần số tim cao nhất đạt được

- Exang (Đau thắt ngực do tập thể dục):

- Oldpeak (Suy giảm sóng ST do tập thể dục so với trạng thái nghỉ): Đánh giá mức độ căng thẳng của tim trong quá trình tập thể dục

Góc độ của đoạn sóng ST trong quá trình tập thể dục phản ánh tình trạng tim mạch Khi góc độ tăng (0), nhịp tim cải thiện cho thấy sức khỏe tim mạch tốt, mặc dù hiện tượng này hiếm gặp Nếu góc độ phẳng (1), điều này cho thấy sự thay đổi tối thiểu, thường thấy ở những người có tim khỏe mạnh Ngược lại, góc độ giảm (2) là dấu hiệu cảnh báo về bệnh tim không lành mạnh.

Số lượng các mạch chính được nhuộm bởi fluoroscopy phản ánh lưu lượng máu qua mạch Việc có nhiều mạch lớn được nhuộm cho thấy lưu lượng máu tốt, điều này đồng nghĩa với việc không bị đặc và đảm bảo sức khỏe của hệ tuần hoàn.

- Thal (Kết quả thử nghiệm thallium stress):

Khuyết tật cố định là tình trạng trước đây có khuyết tật nhưng hiện tại đã ổn định Ngược lại, khuyết tật có thể đảo ngược xảy ra khi không có sự lưu thông máu đúng đắn trong quá trình tập thể dục.

- Target (Có mắc bệnh không):

+ 0 = Không (Thuộc tính dự đoán)

T HỰC HIỆN THUẬT TOÁN OGISTIC REGRESSION TRONG BI TOÁN CHUẨN L ĐOÁN BỆNH TIM MẠCH

3.2 Thực hiện thuật toán Logistic regression trong bài toán chuẩn đoán bệnh tim mạch

3.2.1 Cài đặt môi trường và các thư viện

Hình 4.1 : Cài đặt thư việ n h ỗ trợ

3.2.2 Làm sạch và trực quan hoá dữ liệu

Hình 4.3: Tr c quan hoá d ự ữ liệ u

3.2.3 Đánh giá và lựa chọn mô hình huấn luyện

Hình 4.6 : Đánh giá và lự a ch n mô hình phù h p ọ ợ

=> Nhận xét: “Logistic Regression” đang được đánh giá cao nhất Nên

“Logistic Regression” được lựa chọn để huấn luyện mô hình

3.2.4 Huấn luyện mô hình sử dụng thuật toán “Logistic Regression”

Hình 4.7: S d ng thu ử ụ ật toán để huấ n luy n mô hình ệ

3.2.5 Đánh giá mô hình huấn luyện qua các chỉ số a Giá trị ROC và AUC

Hình 4.8 : Đánh giá củ a ch s "ROC" và "AUC" ỉ ố

Giá trị AUC nằm trong khoảng lớn hơn 0.5 và nhỏ hơn 1 cho thấy mô hình có hiệu suất phán đoán tốt Các chỉ số βx đã được cải thiện sau quá trình huấn luyện.

Hình 4.9 : Đánh giá các chỉ ố βx s

Hình 4 10 : M ức độ ảnh hưở ng c a các bi ủ ến đố ớ ế i v i k t qu d ả ự đoán

Các chỉ số âm như sex, exang, oldpeak, ca và thal có giá trị âm và độ lớn cao, cho thấy khả năng mắc bệnh không phụ thuộc nhiều vào các thông số này.

* Các chỉ số như: age, chol gần như không thay đổi phản ánh khả năng mắc bệnh gần như không phụ thuộc vào các biến đó

* Các chỉ số cp, restecg, slope có giá trị dương cho thấy chúng ảnh hưởng rất lớn trong quá trình phán đoán bệnh nhân có mắc bệnh không

=> Nhận xét: Các chỉ số được đưa vào kiểm tra chính xác so với các dữ liệu mẫu được huấn luyện và các dữ liệu mới

Bài báo cáo này phân tích khả năng dự đoán bệnh tim mạch dựa trên các yếu tố lâm sàng Bệnh tim mạch hiện đang là một trong những vấn đề sức khỏe nghiêm trọng, dẫn đến hàng triệu ca tử vong toàn cầu hàng năm Việc dự đoán và đánh giá nguy cơ mắc bệnh tim mạch là rất quan trọng trong công tác phòng ngừa và quản lý bệnh lý này.

Nhóm em đã phân tích dữ liệu về tuổi, giới tính, huyết áp, cholesterol và triệu chứng tức ngực của bệnh nhân để hiểu mối quan hệ giữa các yếu tố lâm sàng và nguy cơ mắc bệnh tim mạch Chúng em đã áp dụng các mô hình học máy như Logistic Regression, KNN và Random Forest Classifier để dự đoán khả năng mắc bệnh tim mạch Kết quả cho thấy mô hình Logistic Regression đạt hiệu suất tốt nhất với độ chính xác lên đến 80% Điều này chứng tỏ rằng, từ 8 biến số lâm sàng hiện có, có thể xây dựng các mô hình dự đoán khả năng mắc bệnh tim mạch với độ tin cậy cao.

Việc xác định các biến số quan trọng như tuổi, huyết áp, cholesterol và thalach giúp hiểu rõ hơn về những yếu tố ảnh hưởng lớn nhất đến nguy cơ mắc bệnh tim mạch.

Nghiên cứu này cung cấp công cụ đánh giá và quản lý nguy cơ bệnh tim mạch, nâng cao hiểu biết và chăm sóc sức khỏe cộng đồng Đồng thời, nó đề xuất phương pháp phòng ngừa và điều trị hiệu quả trong y tế công cộng.

Ngày đăng: 26/12/2024, 17:05

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

TÀI LIỆU LIÊN QUAN

w