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

Dự đoán bệnh đột quỵ ở người dựa trên các mô hình phân lớp

98 20 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 đề Dự đoán bệnh đột quỵ ở người dựa trên các mô hình phân lớp
Tác giả Phan Thị Cẩm Nhi
Người hướng dẫn TS. Hoàng Hữu Trung
Trường học Trường ĐH Kinh Tế Huế
Chuyên ngành Khoa Hệ Thống Thông Tin Kinh Tế
Thể loại Báo cáo thực tập cuối khóa
Năm xuất bản 2022
Thành phố Huế
Định dạng
Số trang 98
Dung lượng 1,7 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • PHẦN I: MỞ ĐẦU (17)
    • 1. Lý do chọn đề tài (17)
    • 2. Mục tiêu nghiên cứu (18)
      • 2.1. Mục tiêu tổng quát (18)
      • 2.2. Mục tiêu cụ thể (18)
    • 3. Đối tượng và phạm vi nghiên cứu (19)
      • 3.1. Đối tượng nghiên cứu (19)
      • 3.2. Phạm vi nghiên cứu (19)
    • 4. Phương pháp nghiên cứu (19)
    • 5. Cấu trúc khóa luận (20)
    • 6. Các công trình nghiên cứu liên quan (21)
  • PHẦN II: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU (22)
  • CHƯƠNG I: CƠ SỞ LÝ THUYẾT (22)
    • 1.1. Tổng quan về học máy (22)
      • 1.1.1. Giới thiệu về học máy (22)
      • 1.1.2. Ứng dụng của học máy (22)
      • 1.1.3. Phân loại các phương pháp học máy (24)
        • 1.1.3.1. Học có giám sát (Supervised Learning) (24)
        • 1.1.3.2. Học không có giám sát (Unsupervised Learning) (25)
        • 1.1.3.3. Học bán giám sát (Semi-supervised Learning) (25)
        • 1.1.3.4. Học tăng cường (Reinforcement Learning) (25)
      • 1.1.4. Phân cụm và phân lớp (25)
        • 1.1.4.2. Phân cụm (Clustering) (25)
        • 1.1.4.3. Phân lớp (Classification) (26)
    • 1.2. Các phương pháp phân lớp (27)
      • 1.2.1. Support Vector Machine (SVM) (27)
      • 1.2.2. K-Nearest Neighbor (KNN) (28)
      • 1.2.3. Random Forest Classifier (RFC) (29)
      • 1.2.4. Logistic regression (LR) (30)
      • 1.2.5. Naive Bayes (NB) (31)
      • 1.2.6. Stochastic Gradient Descent (31)
      • 1.2.7. Decision Tree (31)
      • 1.2.8. XGBoost (eXtreme Gradient Boosting) (32)
    • 1.3. So sánh các mô hình phân lớp (33)
    • 1.4. Các bước cơ bản của bài toán dự đoán trong học máy (35)
      • 1.4.1. Trực quan hóa dữ liệu (Data Visualization) (35)
      • 1.4.2. Tiền xử lý dữ liệu (Preprocessing) (35)
        • 1.4.2.1. Xử lí dữ liệu trống (Missing Data) (36)
        • 1.4.2.2. Xử lí dữ liệu ngoại lệ (Ouliers) (39)
        • 1.4.2.3. Chuẩn hóa phạm vi dữ liệu (Feature Scaling) (40)
        • 1.4.2.4. Lựa chọn thuộc tính (Feature Selection) (41)
        • 1.4.2.5. Mã hóa dữ liệu phân loại (Encoding Categorical Data) (41)
        • 1.4.2.6. Xử lý cân bằng mẫu (SMOTE) (42)
      • 1.4.3. Lựa chọn mô hình (Model Selection) (42)
      • 1.4.4. Phương pháp phân chia dữ liệu (43)
      • 1.4.6. Hiệu chỉnh siêu tham số (Hyperparameter Tuning) (45)
    • 1.5. Ngôn ngữ lập trình Python cho học máy (46)
    • 1.6. Bệnh đột quỵ (47)
      • 1.5.1. Khái niệm (47)
      • 1.5.2. Nguyên nhân dẫn đến bệnh đột quỵ (0)
      • 1.5.2. Các số liệu liên quan đến bệnh đột quỵ (48)
  • CHƯƠNG II: DỰ ĐOÁN BỆNH ĐỘT QỤY Ở NGƯỜI DỰA TRÊN CÁC MÔ HÌNH PHÂN LỚP (50)
    • 2.1. Mô tả tập dữ liệu (50)
      • 2.1.1. Giới thiệu tập dữ liệu nghiên cứu (50)
      • 2.1.2. Trực quan hóa bộ dữ liệu (Data Visualization) (53)
        • 2.1.2.1. Huyết áp - Hypertension (53)
        • 2.1.2.2. Bệnh tim – heart_desease (54)
        • 2.1.2.4. Nơi sinh sống – residence_type (56)
        • 2.1.2.8. Lượng đường trong máu – avg_glucose_level (60)
        • 2.1.2.9. Độ tuổi - age (61)
    • 2.2. Tiền xử lý dữ liệu (Preproccessing) (62)
      • 2.2.1. Xử lí dữ liệu trống (Missing Data) (62)
      • 2.2.2. Xử lí dữ liệu ngoại lệ (Ouliers) (66)
      • 2.2.3. Lựa chọn thuộc tính (Feature selection) (69)
      • 2.2.4. Mã hóa dữ liệu phân loại (Encoding Categorical Data) (69)
      • 2.2.5. Phân chia dữ liệu huấn luyện và dữ liệu kiểm thử (Train – Test) (72)
      • 2.2.6. Xử lí cân bằng mẫu (SMOTE) (74)
      • 2.2.7. Chuẩn hóa phạm vi dữ liệu (Feature Scaling) (76)
    • 2.4. Xây dựng mô hình huấn luyện (Model Training) (78)
      • 2.4.1. Lựa chọn mô hình (Model selection) (78)
      • 2.4.3. Kiểm thử mô hình (Test model) (79)
        • 2.4.3.1. Logistic Regression (LR) (80)
        • 2.4.3.2. Random Forest Classifier (RFC) (81)
      • 2.4.4. Hiệu chỉnh mô hình (Turning model) (83)
        • 2.4.4.1. Logistic Regression (LR) (83)
        • 2.4.4.2. Random Forest Classifier (RFC) (84)
        • 2.4.4.3. eXtreme Gradient Boosting (XGB) (85)
  • CHƯƠNG III: KẾT QUẢ THỰC NGHIỆM VÀ THẢO LUẬN (86)
    • 3.1. Kết quả thực nghiệm (86)
      • 3.1.1. Trước khi hiệu chỉnh mô hình (0)
        • 3.1.1.1. Logistic Regression (LR) .......................Error! Bookmark not defined. 3.1.1.2. Random Forest Classifier (RFC)............Error! Bookmark not defined. 3.1.1.3. eXtreme Gradient Boosting (XGB)........Error! Bookmark not defined. 3.1.2. Sau khi hiệu chỉnh mô hình (0)
        • 3.1.2.1. Logistic Regression (LR) (89)
        • 3.1.2.2. Random Forest Classifier (RFC) (90)
        • 3.1.2.3. eXtreme Gradient Boosting (XGB) (91)
  • PHẦN III: KẾT LUẬN (93)
    • 1. Kết quả đạt được (93)
    • 2. Hạn chế (94)
    • 3. Hướng phát triển của đề tài (94)
  • TÀI LIỆU THAM KHẢO (95)

Nội dung

CƠ SỞ LÝ THUYẾT

Tổng quan về học máy

1.1.1 Giới thiệu về học máy

Học máy, hay còn gọi là Machine Learning (ML), là các thuật toán cho phép máy tính học hỏi và thực hiện các nhiệm vụ Đây là phương pháp hiệu quả để cải thiện hiệu suất theo thời gian.

Machine Learning là công nghệ tiên tiến nhất trong lĩnh vực trí tuệ nhân tạo hiện nay Để đảm bảo tính chính xác và tránh dữ liệu giả, quá trình phân tích dữ liệu vẫn cần sự can thiệp và lựa chọn kỹ thuật từ con người.

Học máy đang trở nên phổ biến toàn cầu, nhờ vào sự bùng nổ của dữ liệu lớn (Big Data) và các thuật toán Machine Learning, điều này đã nâng cao độ chính xác của các mô hình và dự đoán tương lai.

In every machine learning problem, there are two main phases: the training phase and the test phase The training phase exclusively utilizes training data, while the test phase relies solely on data from the test set.

1.1.2 Ứng dụng của học máy

Học máy đang ngày càng trở nên phổ biến trong nhiều lĩnh vực của cuộc sống hiện đại Công nghệ này được ứng dụng để phân tích dữ liệu lớn, giúp đưa ra những dự đoán về xu hướng trong tương lai, chẳng hạn như dự đoán kết quả bầu cử chính trị và biến động của thị trường chứng khoán.

Machine Learning được ứng dụng trong công nghệ nhận diện hình ảnh để cung cấp dữ liệu cho các mô hình định giá và kinh tế Thuật toán học máy phân tích dữ liệu từ hệ thống vệ tinh, giúp xác định số lượng khách hàng tại bãi đậu xe, theo dõi các hoạt động vận chuyển và sản lượng sản xuất Đây là phương pháp hiệu quả để phát hiện các đặc trưng của đối tượng trong hình ảnh kỹ thuật số.

Trường Đại học Kinh tế Huế

SVTH: Phan Thị Cẩm Nhi 7 có khả năng phân tích sâu, bao gồm nhận dạng mẫu, nhận diện hình khuôn, nhận dạng khuôn mặt, nhận dạng ký tự quang học và nhiều ứng dụng khác.

Phân loại tin tức là một ứng dụng quan trọng của phương pháp học máy, đặc biệt trong bối cảnh lượng thông tin trên web ngày càng gia tăng Mỗi người dùng có sở thích và lựa chọn riêng, vì vậy việc tìm kiếm thông tin phù hợp trở nên khó khăn giữa vô vàn nội dung Việc phân loại rõ ràng và dễ điều hướng giúp tăng khả năng truy cập cho khách hàng mục tiêu, đồng thời cho phép độc giả tìm kiếm tin tức cụ thể một cách hiệu quả và nhanh chóng Một số phương pháp học máy thường được sử dụng cho mục đích này bao gồm máy vectơ hỗ trợ, Naive Bayes, và K hàng xóm lân cận.

Học máy đang được ứng dụng rộng rãi trong các mạng xã hội như Facebook, nơi mà News Feed sử dụng công nghệ này để cá nhân hóa nội dung cho từng thành viên Hệ thống này phân tích hành vi của người dùng, như việc đọc hoặc thích bài đăng của bạn bè, để điều chỉnh nội dung hiển thị Nếu một thành viên không tương tác với một bài đăng nào đó, dữ liệu mới sẽ được ghi nhận và News Feed sẽ thay đổi theo Bên cạnh Facebook, các mạng xã hội khác như Google và Instagram cũng áp dụng các tính năng tương tự Đối với doanh nghiệp, học máy có thể giúp phân đoạn khách hàng, chọn chiến lược tiếp thị phù hợp, đề xuất sản phẩm dựa trên sở thích của khách hàng, phát hiện giao dịch giả mạo và dự đoán doanh thu cho năm tiếp theo.

Trường Đại học Kinh tế Huế

Tương quan với khai phá dữ liệu

Khai phá dữ liệu và học máy thường bị nhầm lẫn, mặc dù chúng có nhiều điểm tương đồng và chia sẻ nhiều phương pháp cũng như công cụ Sự khác biệt chính giữa hai lĩnh vực này nằm ở mục tiêu của chúng.

- Khai phá dữ liệu: thường mục tiêu là tìm kiếm những thông tin, tri thức hoàn toàn mới tiềm năng có ích trong nguồn dữ liệu.

- Học máy:dự đoán một số thông tin của dữ liệu dựa trên những đặc tính đã biết.

1.1.3 Phân loại các phương pháp học máy

Thuật toán học máy được chia thành 4 loại [1] bao gồm: học có giám sát, học không giám sát, học bán giám sát và học tăng cường.

1.1.3.1 Học có giám sát (Supervised Learning)

Supervised learning is a predictive algorithm that determines the outcome of new input data based on previously known input-outcome pairs, also referred to as data and labels This approach is the most widely used among various machine learning algorithms.

Học có giám sát (Supervised learning) là một phương pháp trong đó chúng ta có một tập hợp các biến đầu vào và một tập hợp nhãn tương ứng Các cặp dữ liệu đã biết (x, y) thuộc tập dữ liệu huấn luyện (training data) được sử dụng để xây dựng một hàm số nhằm ánh xạ mỗi phần tử từ tập đầu vào sang phần tử tương ứng trong tập nhãn.

≈ ( ), ∀ = 1,2, … , Mục đích là xấp xỉ hàm số thật tốt để khi có một dữ liệu mới, chúng ta có thể tính được nhãn tương ứng của nó = ( )

Sau khi nghiên cứu các phương pháp hiệu quả để mô hình hóa mối quan hệ trong dữ liệu gán nhãn, chúng ta sẽ áp dụng thuật toán huấn luyện cho các bộ dữ liệu mới.

Học có giám sát đóng vai trò quan trọng trong việc xác định tín hiệu tốt nhất nhằm dự báo xu hướng và lợi nhuận tương lai trong lĩnh vực cổ phiếu và chứng khoán.

- Thuật toán supervised learning còn được tiếp tục chia nhỏ ra thành hai loại chính: Phân loại (Classification) và Hồi quy (Regression)

Trường Đại học Kinh tế Huế

SVTH: Phan Thị Cẩm Nhi 9

1.1.3.2 Học không có giám sát (Unsupervised Learning)

Học không giám sát là phương pháp sử dụng dữ liệu chưa được gán nhãn để suy luận và mô tả cấu trúc của dữ liệu.

- Ứng dụng của học không giám sát đó là hỗ trợ phân loại thành các nhóm có đặc điểm tương đồng.

1.1.3.3 Học bán giám sát (Semi-supervised Learning)

- Học bán giám sát [1] là dạng kết hợp giữa học có giám sát và học không giám sát.

- Trong đó, nó kết hợp các ví dụ có nhãn và không nhãn để sinh ra một hàm hoặc một bộ phân loại thích hợp.

1.1.3.4 Học tăng cường (Reinforcement Learning)

- Học tăng cường [1] không dựa trên việc học có giám sát hay học không giám sát, mà các thuật toán học cách tự phản ứng với môi trường.

Các phương pháp phân lớp

Một bài toán phân lớp là khi các nhãn dán của dữ liệu đầu vào được phân chia thành một số nhóm hữu hạn Ví dụ, Gmail xác định xem một email có phải là spam hay không, trong khi các hãng tín dụng đánh giá khả năng thanh toán nợ của khách hàng.

Trong bài báo cáo này sử dụng 8 các thuật toán phân lớp [12] để dự đoán bao gồm: Decision Tree, K-Nearest Neighbor, Logistic Regression, Nạve Bayes, Random

Forest Classifier, Stochastic Gradient Descent, Support Vector Machine, eXtreme

Support Vector Machine (SVM) là một phương pháp phân lớp quan trọng trong thống kê và khoa học máy tính, thuộc nhóm các phương pháp học có giám sát SVM được sử dụng để phân loại và phân tích hồi quy, phù hợp với cả dữ liệu tuyến tính và phi tuyến.

Hình 1 2 Ví dụ về bài toán Support Vector Machine

Trường Đại học Kinh tế Huế

SVM (Support Vector Machine) hoạt động dựa trên tập dữ liệu D, bao gồm các điểm dữ liệu huấn luyện và nhãn lớp tương ứng Mỗi điểm dữ liệu có thể nhận một trong hai giá trị là +1 hoặc -1, tương ứng với hai nhãn lớp khác nhau Mục tiêu của SVM là tìm ra một siêu phẳng tối ưu để phân chia các lớp này một cách chính xác nhất.

K-Nearest Neighbor [14] là một trong những thuật toán tự học có giám sát đơn giản nhất (mà hiệu quả trong một vài trường hợp) trong ML Khi huấn luyện, thuật toán này không học một điều gì từ dữ liệu huấn luyện (đây cũng là lý do thuật toán này được xếp vào loại lazy learning), mọi tính toán được thực hiện khi nó cần dự đoán kết quả của dữ liệu mới KNN có thể áp dụng được vào cả hai loại của bài toán tự học có giám sát là Phân lớp và Phân cụm KNN còn được gọi là một thuật toán học dựa trên ví dụ (Instance-based) hay học dựa trên bộ nhớ (Memory-based learning).

Hình 1 3 Ví dụ về bài toán K-Nearest Neighbor

Trường Đại học Kinh tế Huế

13 SVTH: Phan Thị Cẩm Nhi

Trong phương pháp KNN, nhãn của một điểm dữ liệu mới được xác định từ điểm gần nhất trong tập huấn luyện Đối với dữ liệu kiểm thử, nhãn có thể được quyết định thông qua bầu chọn theo số phiếu giữa các điểm gần nhất hoặc bằng cách áp dụng trọng số khác nhau cho từng điểm Trong bài toán hồi quy, đầu ra của điểm dữ liệu có thể là giá trị của điểm gần nhất hoặc là trung bình có trọng số của các đầu ra từ các điểm gần nhất, hoặc dựa trên mối quan hệ với khoảng cách tới các điểm này.

KNN là thuật toán xác định đầu ra cho một điểm dữ liệu mới bằng cách dựa vào thông tin từ các điểm dữ liệu gần nhất trong tập huấn luyện.

(K-lân cận),không quan tâm đến việc có một vài điểm dữ liệu trong những điểm gần nhất này là nhiễu.

Random Forest Classifier là một thuật toán học có giám sát, có khả năng áp dụng cho cả phân lớp và hồi quy Đây là một trong những thuật toán linh hoạt và dễ sử dụng nhất Khu rừng trong thuật toán này bao gồm nhiều cây quyết định; càng nhiều cây thì rừng càng mạnh Random forests tạo ra các cây quyết định từ các mẫu dữ liệu được chọn ngẫu nhiên, sau đó dự đoán từ mỗi cây và chọn giải pháp tốt nhất thông qua phương pháp bỏ phiếu.

Nó cũng cung cấp một chỉ báo khá tốt về tầm quan trọng của tính năng.

Random forests có nhiều ứng dụng, chẳng hạn như công cụ đề xuất, phân loại hình ảnh

Hình 1 4 Ví dụ về bài toán Random Forest Classifier

Trường Đại học Kinh tế Huế đang áp dụng thuật toán Boruta để lựa chọn các tính năng quan trọng trong dữ liệu, giúp phân loại ứng viên cho vay trung thành, phát hiện hoạt động gian lận và dự đoán các bệnh.

Các bước thực hiện trong thuật toán của Random Forest Classifier:

 Chọn các mẫu ngẫu nhiên từ tập dữ liệu đã cho.

 Thiết lập cây quyết định cho từng mẫu và nhận kết quả dự đoán từ mỗi quyết định cây.

 Bỏ phiếu cho mỗi kết quả dự đoán.

 Chọn kết quả được dự đoán nhiều nhất là dự đoán cuối cùng.

Mặc dù tên gọi chứa từ “Regression” nhưng đây là thuật toán thuộc loại

“Classification” Thực tế cho thấy nó là một trong những thuật toán Machine Learning được sử dụng phổ biến nhất.

Hồi quy logistic là một thuật toán học máy dùng để phân loại, trong đó các xác suất của các kết quả có thể xảy ra trong một thử nghiệm được mô hình hóa bằng hàm logistic Đầu ra dự đoán của hồi quy logistic thường được thể hiện dưới dạng cụ thể.

Hàm logistic, hay còn gọi là hàm kích hoạt, là một phần quan trọng trong việc xử lý dữ liệu Dữ liệu mở rộng với giá trị bằng 1 được thêm vào nhằm thuận tiện cho việc tính toán Tích vô hướng được sử dụng trực tiếp để dự đoán đầu ra.

Logistic Regression là thuật toán tự học có giám sát, sử dụng hàm logistic hoặc sigmoid để tính toán mối quan hệ giữa các thuộc tính đầu vào và đầu ra Khác với các thuật toán hồi quy khác, Logistic Regression không dự đoán giá trị thực mà tập trung vào việc dự đoán kết quả nhị phân.

0/1 hay − 1/1 hay True/False) dựa vào đầu vào của nó Cũng chính vì vậy mà nó thuộc nhóm các thuật toán phân lớp loại (Classification).

Trường Đại học Kinh tế Huế

SVTH: Phan Thị Cẩm Nhi 15

Thuật toán Naive Bayes, dựa trên định lý Bayes và giả định về sự độc lập giữa các đặc trưng, là một phương pháp phân loại hiệu quả Nó thường được áp dụng trong các tình huống thực tế như phân loại tài liệu và lọc thư rác.

Naive Bayes là một thuật toán phân loại dựa trên định lý Bayes trong lý thuyết xác suất, cho phép đưa ra phán đoán và phân loại dữ liệu dựa trên các quan sát và thống kê.

Thuật toán này được sử dụng rộng rãi trong lĩnh vực Machine Learning để đưa ra các dự đoán chính xác dựa trên tập dữ liệu đã thu thập Với tính dễ hiểu và độ chính xác cao, nó thuộc nhóm các thuật toán tự học có hướng dẫn.

Stochastic Gradient Descent (SGD) là phương pháp hiệu quả để khớp các mô hình tuyến tính, đặc biệt khi làm việc với tập dữ liệu lớn Nó hỗ trợ nhiều loại hàm mất mát và hình phạt, rất hữu ích cho các bài toán phân loại.

So sánh các mô hình phân lớp

Bảng 1 1 So sánh các mô hình phân lớp

Mô hình Ưu điểm Nhược điểm

SVM - Hiệu quả trong không gian chiều cao.Vẫn hiệu quả trong trường hợp số chiều lớn hơn số mẫu.

Sử dụng một tập hợp con các điểm đào tạo trong chức năng quyết định, được gọi là vectơ hỗ trợ, giúp cải thiện hiệu quả bộ nhớ.

Các chức năng Kernel có thể được chỉ định linh hoạt cho các chức năng quyết định, cho phép sử dụng các hạt nhân thông thường hoặc hạt nhân tùy chỉnh.

Khi số lượng tính năng vượt xa số lượng mẫu, việc tránh quá khớp trong việc chọn hàm Kernel và áp dụng các thuật ngữ chính quy hóa trở nên rất quan trọng.

- Các SVM không trực tiếp cung cấp các ước tính xác suất, chúng được tính toán bằng cách sử dụng xác thực chéo năm lần đắt tiền

KNN - Độ phức tạp tính toán của quá trình huấn luyện là bằng 0

- Việc dự đoán kết quả của dữ liệu mới rất đơn giản (sau khi đã xác định được các điểmlân cận).

- Không cần giả sử về phân phối của các class.

- Sử dụng được trong cả phân loại và hồi quy

- Trở nên rất chậm khi số lượng điểm dữ liệu tăng lên vì mô hình cần lưu trữ tất cả các điểm dữ liệu.

- KNN rất nhạy cảm với nhiễu khi K nhỏ.

Random - Là một phương pháp chính xác và Chậm tạo dự đoán bởi vì

Trường Đại học Kinh tế Huế

Classifier mạnh mẽ vì số cây quyết định tham gia vào quá trình này

- Không bị vấn đề overfitting

- Có thể được sử dụng trong cả hai vấn đề phân loại và hồi quy nó có nhiều cây quyết định, vì vậy tốn nhiều thời gian.

- Được thiết kế cho mục đích phân loại

- Hữu ích nhất để hiểu ảnh hưởng của một số biến độc lập đối với một biến kết quả duy nhất.

Chỉ hoạt động với biến dự đoán nhị phân, mô hình giả định rằng tất cả các biến dự đoán là độc lập và dữ liệu không có giá trị thiếu.

- Yêu cầu một lượng nhỏ dữ liệu huấn luyện để ước lượng các tham số cần thiết.

- Trình phân loại Naive Bayes cực kỳ nhanh so với các phương pháp phức tạp hơn.

Naive Bayes được biết đến là một công cụ ước tính không tốt, độ chính xác thấp.

Yêu cầu một số siêu tham số và nhạy cảm với tỷ lệ thuộc tính.

- Dễ hiểu và trực quan

- Yêu cầu chuẩn bị ít dữ liệu và có thể xử lý cả dữ liệu số và dữ liệu phân loại.

- Có thể tạo ra các cây không tổng quát hóa tốt

- Có thể không ổn định vì các biến thể nhỏ trong dữ liệu có thể dẫn đến việc tạo ra một cây hoàn toàn khác.

XGBoost - Là một thuật toán mạnh mẽ, có độ chính xác cao

Thuật toán khá phức tạp, tốn nhiều tài nguyên khi

Trường Đại học Kinh tế Huế

19 SVTH: Phan Thị Cẩm Nhi

- Tốc độ huấn luyện nhanh, có khả năng chuẩn hóa để tính toán song song trên nhiều máy chủ thực thi

Các bước cơ bản của bài toán dự đoán trong học máy

1.4.1 Trực quan hóa dữ liệu (Data Visualization)

Trực quan hóa dữ liệu là bước đầu tiên quan trọng trong học máy, giúp mô tả dữ liệu một cách đơn giản qua hình ảnh như bảng, biểu đồ và đồ thị Việc sử dụng các phương pháp và công cụ khác nhau để trực quan hóa dữ liệu sẽ giúp minh họa thông tin một cách hiệu quả nhất.

Trực quan hóa dữ liệu không chỉ hỗ trợ người đọc và người xem hiểu thông tin mà còn giúp nhà phân tích dữ liệu khai thác dữ liệu một cách hiệu quả Phương pháp tóm tắt và trình bày dữ liệu trong thống kê là một phần quan trọng của trực quan hóa dữ liệu, liên quan đến việc thể hiện và mô tả các biến định tính và định lượng thông qua các đồ thị phù hợp.

Một số thư viện nổi tiếng dùng để trực quan hóa dữ liệu bằng ngôn ngữ Python như: Pandas, matplotlib và seaborn.

1.4.2 Tiền xử lý dữ liệu (Preprocessing)

Hình 1 6 Ví dụ về trực quan hóa dữ liệu

Trường Đại học Kinh tế Huế

Tiền xử lý dữ liệu là bước quan trọng trong việc giải quyết các vấn đề của Học Máy Hầu hết các bộ dữ liệu liên quan đến Học Máy cần được xử lý, làm sạch và biến đổi trước khi áp dụng thuật toán.

Máy có thể được huấn luyện trên các bộ dữ liệu khác nhau Những kỹ thuật tiền xử lý dữ liệu phổ biến hiện nay bao gồm việc xử lý dữ liệu bị khuyết và mã hóa các biến nhóm.

(encoding categorical variables), chuẩn hóa dữ liệu (standardizing data),…

1.4.2.1 Xử lí dữ liệu trống (Missing Data)

Dữ liệu trống xảy ra khi một biến không có giá trị trong một quan sát, và chúng được biểu thị bằng các ô trống hoặc giá trị NaN trong bảng dữ liệu.

Nguyên nhân dẫn đến dữ liệu bị trống bao gồm việc thu thập từ nhiều nguồn có quan sát không đầy đủ, người trả lời từ các khảo sát không muốn cung cấp thông tin cá nhân như lương và tuổi, sai sót trong quá trình nhập liệu dẫn đến thông tin không hợp lệ, và đối tượng khảo sát không còn sống.

Có 2 kiểu dữ liệu trống [21]:

Dữ liệu trống hoàn toàn ngẫu nhiên xảy ra khi xác suất dữ liệu bị trống là như nhau cho mọi quan sát, tức là không có mối quan hệ nào giữa dữ liệu trống và các dữ liệu khác.

Dữ liệu trống không phải lúc nào cũng ngẫu nhiên; thường thì chúng bị thiếu một cách có hệ thống Điều này có thể tạo ra mối quan hệ giữa dữ liệu trống và các dữ liệu khác, ảnh hưởng đến việc phân tích và đưa ra quyết định.

Các kỹ thuật xử lý dữ liệu trống [21]:

Kỹ thuật 1 liên quan đến việc xóa các quan sát có bất kỳ phần tử dữ liệu nào bị bỏ trống Mặc dù phương pháp này có thể giúp làm sạch dữ liệu, nhưng nó cũng tiềm ẩn rủi ro lớn, vì các quan sát bị loại bỏ có thể chứa thông tin quan trọng.

- Kỹ thuật 2:Thay thế giá trị của dữ liệu trống bằng: o Giá trị trung bình/trung vị/giá trị xuất hiện nhiều nhất (Mean/Median/Mode imputation)

Trường Đại học Kinh tế Huế

SVTH: Phan Thị Cẩm Nhi 21 discusses various imputation methods for handling missing data, including random sample imputation, end of distribution imputation, and arbitrary value imputation Additionally, it emphasizes the importance of creating new features to mark observations that contain missing values.

Bảng 1 2 So sánh các kỹ thuật xử lý dữ liệu trống

Phương pháp thực hiện Ưu điểm Nhược điểm

- Kỹ thuật này giả định rằng dữ liệu trống hoàn toàn ngẫu nhiên

- Thay thế dữ liệu trống bằng

Mean/Median/Mode của cột dùng hàm fillna() của đối tượng

- Dễ thực hiện (ít bị ảnh hưởng bởi giá trị ngoại lệ)

- Nhanh chóng nhận được dataset hoàn chỉnh

Làm thay đổi phương sai của dữ liệu

2 Thay thế bằng giá trị ngẫu nhiên

- Kỹ thuật này cũng giả định rằng dữ liệu trống hoàn toàn ngẫu nhiên

- Thay thế dữ liệu trống bằng các giá trị ngẫu nhiên của cột tương ứng

- Dùng hàm dropna() của đối tượng

- Phương sai của dữ liệu ít bị biến đổi

Không phải lúc nào dữ liệu thay thế được chọn ngẫu nhiên cũng có tác dụng

Trường Đại học Kinh tế Huế các NaN values

3 Thay thế bằng giá trị đuôi của phân bố

Kỹ thuật này được áp dụng khi có nghi ngờ rằng dữ liệu trống không phải ngẫu nhiên, chẳng hạn như việc người cao tuổi có nguy cơ cao hơn trong các thảm họa, dẫn đến khả năng thiếu thông tin về độ tuổi Việc nắm bắt thông tin quan trọng này là cần thiết.

- Thay thế dữ liệu trống bằng giá trị ở đuôi của phân bố dữ liệu

- Nắm bắt được tầm quan trọng (nếu có) của dữ liệu trống

- Có thể làm méo mó phân bố dữ liệu của biến

- Nếu sự khuyết dữ liệu không quan trọng => kỹ thuật này làm giảm năng lực dự báo của biến

- Nếu số lượng dữ liệu trống là lớn

=> kỹ thuật này làm ẩn đi các giá trị ngoại lệ thực sự

- Nếu số lượng dữ liệu trống là nhỏ

=> kỹ thuật này tạo ra một giá trị ngoại lệ ngoài dự tính

4 Thay thế bằng giá trị bất kỳ

- Được dùng trong bất kỳ trường hợp nào của dữ liệu trống

- Thay thế dữ liệu trống bằng một giá trị tự chọn

Nắm bắt được tầm quan trọng (nếu có) của dữ liệu trốn

- Làm méo phân bố dữ liệu của biến

- Nếu sự khuyết dữ liệu không

Trường Đại học Kinh tế Huế

SVTH: Phan Thị Cẩm Nhi 23 bất kỳ quan trọng => kỹ thuật này làm giảm năng lực dự báo của biến

- Khó xác định giá trị nào được dùng để thay thế

- Được dùng khi có nghi ngờ dữ liệu trống một cách KHÔNG ngẫu nhiên

- Thay thế dữ liệu trống bằng 1 trong các kỹ thuật đã trình bày, đồng thời tạo thêm biến để đánh dấu quan sát có dữ liệu trống

Nắm bắt được tầm quan trọng (nếu có) của dữ liệu trống

- Việc tăng số chiều của dữ liệu bằng cách thêm đặc trưng (biến) gây ra những khó khăn cho mô hình hoá dữ liệu

Dimensionality), đặc biệt là đối với tập dữ liệu nhỏ

- Mỗi kỹ thuật xử lý dữ liệu trống có ưu và nhược điểm riêng

- Cần lựa chọn kỹ thuật hợp lý dựa trên tính chất của tập dữ liệu và tính chất của dữ liệu trống (ngẫu nhiên hoặc không ngẫu nhiên)

1.4.2.2 Xử lí dữ liệu ngoại lệ (Ouliers)

Giá trị ngoại lệ [21] là các giá trị quá lớn hoặc quá nhỏ so với các giá trị khác của tập dữ liệu.

- Không có định nghĩa toán học tường minh => Tự xác định 1 cách chủ quan

- Được trực quan hoá bằng các vòng tròn nằm ngoài 2 vạch (whisker) của

Trường Đại học Kinh tế Huế

- Thông thường trên Box plot: gán các giá trị nằm ngoài dải [Biên trên, Biên dưới] là ngoại lệ với:

Mục đích của việc xử lý giá trị ngoại lệ là giảm thiểu tác động tiêu cực đến hiệu suất của các thuật toán học máy Việc này giúp cải thiện độ chính xác và hiệu quả của các mô hình dự đoán.

Các bước xử lí giá trị ngoại lệ:

Giải pháp xử lý thông thường gồm 2 bước:

• Xác định các giá trị biên trên và biên dưới của dữ liệu

• Thay thế giá trị ngoại lệ bằng 1 trong 2 giá trị trên

1.4.2.3 Chuẩn hóa phạm vi dữ liệu (Feature Scaling)

Chuẩn hóa dữ liệu là quá trình điều chỉnh dữ liệu về một phân bố với giá trị trung bình bằng 0 và độ lệch chuẩn bằng 1 Việc này giúp cải thiện hiệu suất của các thuật toán phân lớp trong học máy.

Tập dữ liệu thường chứa các đặc trưng khác nhau về giá trị và đơn vị, với mỗi quan sát được biểu diễn như một điểm trong không gian vec-tơ nhiều chiều Hầu hết các thuật toán học máy sử dụng khoảng cách Euclid giữa các điểm để tính toán, dẫn đến sự đóng góp không công bằng của các đặc trưng vào hàm khoảng cách Điều này đặc biệt ảnh hưởng đến các đặc trưng có giá trị nhỏ, vì một biến thiên nhỏ của chúng có thể có ý nghĩa tương đương với biến thiên lớn của các đặc trưng khác Do đó, cần thiết phải chuẩn hóa các đặc trưng để đảm bảo giá trị của chúng là tương đương nhau.

Công thức chuẩn hóa như sau [22]:

Trường Đại học Kinh tế Huế

SVTH: Phan Thị Cẩm Nhi 25

Với và lần lượt là kỳ vọng và phương sai (standard deviation) của thành phần đó trên toàn bộ training data.

Có 3 kỹ thuật chuẩn hóa phổ biến: Chuẩn hóa Standard Scaler, Chuẩn hóa Min- max Scaler, Chuẩn hóa Robust Scaler.

1.4.2.4 Lựa chọn thuộc tính (Feature Selection)

Trong học máy, không có bằng chứng cho thấy số lượng thuộc tính (features) nhiều hơn sẽ nâng cao độ chính xác Ngược lại, quá nhiều thuộc tính có thể làm tăng thời gian huấn luyện và phân loại, đồng thời tiêu tốn nhiều dung lượng bộ nhớ hơn.

Ngôn ngữ lập trình Python cho học máy

Python là một ngôn ngữ lập trình máy tính phổ biến, thường được sử dụng để phát triển trang web, phần mềm, tự động hóa tác vụ và phân tích dữ liệu Là một ngôn ngữ đa năng, Python có khả năng tạo ra nhiều loại chương trình khác nhau, không giới hạn cho bất kỳ lĩnh vực cụ thể nào.

Tính linh hoạt và sự thân thiện với người mới bắt đầu đã giúp ngôn ngữ lập trình này trở thành một trong những ngôn ngữ phổ biến nhất hiện nay.

Lí do nên sử dụng Python cho các nghiên cứu về trí tuệ nhân tạo nói chung và học máy nói riêng:

- Python cung cấp mã ngắn gọn và dễ đọc, phù hợp cho các thuật toán khá phức tạp của học máy

Hình 1 7 Ví dụ về bảng GridSearchCV trong hiệu chỉnh siêu tham số

Trường Đại học Kinh tế Huế

SVTH: Phan Thị Cẩm Nhi 31

Python cung cấp nhiều lựa chọn với thư viện phong phú và các framework học máy, trở thành công cụ hữu ích cho các nhà phát triển Trong số đó, thư viện Seaborn nổi bật với khả năng tạo ra hình ảnh trực quan và đẹp mắt Thư viện Pandas hỗ trợ hiệu quả trong việc đọc, ghi và xử lý dữ liệu trên dataframe Cuối cùng, Numpy là một thư viện toán học mạnh mẽ và phổ biến, phục vụ cho các tính toán phức tạp.

Python cho phép xử lý hiệu quả ma trận và mảng, đặc biệt là với dữ liệu lớn, mang lại tốc độ xử lý nhanh hơn nhiều so với việc sử dụng chỉ “core Python” đơn thuần.

Python là một ngôn ngữ lập trình dễ học và sử dụng, mang lại sự linh hoạt cao Đặc biệt, Python rất phù hợp cho phát triển máy học và có thể hoạt động trên nhiều nền tảng khác nhau, bao gồm cả Windows.

MacOS, Linux, Unix và các nền tảng khác.

Bệnh đột quỵ

1.5.1 Khái niệm Đột quỵ (stroke) [30] còn gọi là tai biến mạch máu não thường xảy ra đột ngột khi nguồn máu cung cấp cho não bị tắc nghẽn, gián đoạn hoặc suy giảm Khi đó, não bị thiếu oxy, dinh dưỡng và các tế bào não bắt đầu chết trong vòng vài phút Người bị đột quỵ có nguy cơ tử vong cao nếu không được phát hiện và cấp cứu kịp thời Đây là một trong những bệnh lý thần kinh nguy hiểm và phổ biến nhất.

1.5.2 Cơ sở lý luận về mặt y khoa dẫn đến bệnh đột quỵ Đột quỵ xảy ra khi nguồn cung cấp máu cho một phần não bị cắt Không có máu, các tế bào não có thể bị tổn thương hoặc chết Tác động của đột quỵ có thể ngắn hạn và dài hạn, tùy thuộc vào phần nào của não bị ảnh hưởng và tốc độ điều trị Những người sống sót sau cơn đột quỵ có thể gặp phải những khuyết tật trên phạm vi rộng bao gồm những khó khăn về khả năng vận động và lời nói, cũng như cách họ suy nghĩ và cảm nhận [31].

Trường Đại học Kinh tế Huế

Theo Bộ Y Tế, các yếu tố nguy cơ đã được xác định có thể làm tăng khả năng bị đột quỵ ở một số nhóm đối tượng so với người bình thường.

Các yếu tố không thể thay đổi được:

 Tuổi: đột quỵ xảy ra ở mọi lứa tuổi Nhưng tuổi càng tăng thì nguy cơ đột quỵ càng lớn

 Giới tính: nguy cơ đột quỵ nữ lớn hơn nam (do sử dụng thuốc ngừa thai và mang thai)

 Di truyền và chủng tộc

 Tiền sử đột quỵ: Có nguy cơ đột quỵ tái phát cao hơn người chưa bị đột quỵ

Các yếu tố nguy cơ có thể thay đổi được:

 Thừa cân hay báo phì

 Chế độ ăn uống không lành mạnh

1.5.2 Các số liệu liên quan đến bệnh đột quỵ Đột quỵ là tình trạng máu cung cấp cho não bị gián đoạn, dẫn đến não bị thiếu oxy, não bị tổn thương và mất chức năng Nó thường được gây ra bởi cục máu đông trong động mạch cung cấp máu cho não Nó cũng có thể được gây ra bởi xuất huyết khi mạch bị vỡ khiến máu rò rỉ vào não Đột quỵ có thể gây tổn thương vĩnh viễn, bao gồm tê liệt một phần và suy giảm khả năng nói, khả năng hiểu và trí nhớ Phần não bị ảnh hưởng và khoảng thời gian ngừng cung cấp máu sẽ ảnh hưởng đến loại và mức độ nghiêm trọng của tình trạng khuyết tật.

Trên toàn cầu, có khoảng 80 triệu người đã trải qua đột quỵ, một căn bệnh có thể tác động đến khả năng suy nghĩ, giao tiếp, di chuyển và cảm nhận của con người Nhiều người sống sót sau đột quỵ phải đối mặt với những thay đổi đáng kể trong cuộc sống hàng ngày.

Trường Đại học Kinh tế Huế

SVTH: Phan Thị Cẩm Nhi 33 đã sống sót sau đột quỵ và sẽ phải đối mặt với một số khuyết tật hoặc suy yếu, gây ra những thách thức về thực tế, cảm xúc và tài chính Tuy nhiên, với sự hỗ trợ và phục hồi chức năng từ các chuyên gia, những người sống sót có thể phục hồi và tìm thấy 'sự bình thường mới' trong cuộc sống của họ Đột quỵ hiện đang trở thành một đại dịch, với tỷ lệ ảnh hưởng đến 1 trong 4 người trưởng thành trên toàn cầu.

Mỗi 25 tuổi, có một người sẽ trải qua đột quỵ trong đời Trong năm nay, dự kiến có 12,2 triệu người trên toàn cầu sẽ gặp đột quỵ lần đầu, dẫn đến 6,5 triệu ca tử vong Trên thế giới, hơn 110 triệu người đã từng bị đột quỵ.

Tỷ lệ đột quỵ gia tăng theo độ tuổi, nhưng đáng chú ý, hơn 60% các trường hợp xảy ra ở người dưới 70 tuổi và 16% xảy ra ở người dưới 50 tuổi.

Huyết áp cao do xơ vữa động mạch là một trong những yếu tố nguy cơ lâm sàng chính của đột quỵ Ngoài ra, các yếu tố nguy cơ khác bao gồm sử dụng thuốc lá, lười vận động, chế độ ăn uống không lành mạnh, sử dụng rượu có hại, rung tâm nhĩ, tăng lipid máu, béo phì, khuynh hướng di truyền, cũng như căng thẳng và trầm cảm.

Trường Đại học Kinh tế Huế

DỰ ĐOÁN BỆNH ĐỘT QỤY Ở NGƯỜI DỰA TRÊN CÁC MÔ HÌNH PHÂN LỚP

Mô tả tập dữ liệu

2.1.1 Giới thiệu tập dữ liệu nghiên cứu

Bộ dữ liệu về bệnh đột quỵ được thu thập từ trang web Kaggle, một nền tảng trực tuyến nổi bật cho cộng đồng Machine Learning và Khoa học dữ liệu Kaggle cho phép người dùng chia sẻ và tìm kiếm các bộ dữ liệu, cũng như học hỏi và phát triển các mô hình AI Người dùng có thể tương tác với các nhà khoa học và kỹ sư ML hàng đầu, khám phá và xuất bản các tập dữ liệu, từ đó nâng cao kỹ năng và kiến thức trong lĩnh vực trí tuệ nhân tạo.

Tập dữ liệu chứa 5110 quan sát với 12 thuộc tính, trong đó bao gồm các thuộc tính sau:

STT Tên biến Viết đầy đủ Ý nghĩa Giá trị

1 id Identification Mã ID của quan sát

2 gender Gender Giới tính - Male: Nam

3 age Age Độ tuổi Từ 0.8 - 82

4 hypertension Hypertension Tiền sử của bệnh cao huyết áp

5 heart_disease Heart desease Bệnh tim - 0: không bị bệnh tim

Trường Đại học Kinh tế Huế

SVTH: Phan Thị Cẩm Nhi 35

6 ever_married Ever married Tình trạng kết hôn

7 work_type Work type Công việc hiện tại

- Govt_job: công việc nhà nước

- Never_worked: chưa từng đi làm

- Privated: doanh nghiệp tư nhân

- Self-employed: tự kinh doanh

Nơi sinh sống - Rural: Nông thôn

9 avg_glucose_level Average glucozo level

Lượng đường trung bình trong máu

Chỉ số khối cơ thể

- Formly smoke: trước đây có hút

- Never smoke: chưa từng hút thuốc

Trường Đại học Kinh tế Huế định

12 stroke Stroke Bị đột quỵ - 0: không bị đột quỵ

 Khai báo thư viện (Import Libraries)

- Nhập bộ dữ liệu “healthcare-dataset-stroke-data.csv’ vào dataframe

- Xuất ra 5 dòng đầu tiên trong bộ dữ liệu

Hình 2 1 Thuật toán khai báo các thư viện trong nghiên cứu

Hình 2 2 Thuật toán nhập vào bộ dữ liệu “healthcare-dataset-stroke-data.csv”

Trường Đại học Kinh tế Huế

37 SVTH: Phan Thị Cẩm Nhi

2.1.2 Trực quan hóa bộ dữ liệu (Data Visualization)

- Ta có, trong tập dữ liệu “healthcare dataset stroke data”, quan sát bị đột quỵ là

249 trên tổng số 5110, chiếm tỷ lệ 0.049 trong toàn bộ tập dữ liệu.

- Trục tung (stroke) trong hình ảnh biểu thị cho số lượng bệnh đột quỵ trong tập dữ liệu

Hình 2 3 Xuất ra 5 dòng đầu tiên trong tập dữ liệu

Hình 2 4 Thuật toán trực quan hóa thuộc tính Huyết áp và bệnh đột quỵ

Sơ đồ 2 1 Tỷ lệ giữa bệnh huyết áp và bệnh đột quỵ trong tập dữ liệu

Trường Đại học Kinh tế Huế

Trục hoành (hypertension) biểu thị hai giá trị 0 và 1, trong đó giá trị 0 đại diện cho số lượng bệnh nhân không mắc huyết áp trong bộ dữ liệu bệnh nhân đột quỵ (màu xanh), còn giá trị 1 thể hiện số lượng bệnh nhân bị huyết áp trong bộ dữ liệu bệnh nhân đột quỵ (màu cam).

Tỷ lệ tương quan giữa bệnh huyết áp và đột quỵ trong tập dữ liệu cho thấy có 183 bệnh nhân không bị huyết áp nhưng lại mắc bệnh đột quỵ, trong khi đó, có 66 bệnh nhân vừa bị huyết áp vừa bị bệnh đột quỵ.

Trong tập dữ liệu, bệnh nhân không bị huyết áp có tỷ lệ mắc bệnh đột quỵ cao gấp 3 lần so với những bệnh nhân bị huyết áp.

Tỷ lệ bệnh nhân mắc bệnh tim trong bộ dữ liệu bệnh nhân đột quỵ (màu cam) cao gấp 4 lần so với những người không bị bệnh huyết áp (màu xanh).

Hình 2 5 Thuật toán trực quan hóa thuộc tính Bệnh tim và bệnh đột quỵ

Sơ đồ 2 2 Tỷ lệ giữa bệnh tim và Bệnh đột quỵ trong tập dữ liệu

Trường Đại học Kinh tế Huế

39 SVTH: Phan Thị Cẩm Nhi

=> Tỷ lệ các giới tính (Nam/Nữ/Khác) trong bộ dữ liệu bị bệnh đột quỵ là gần bằng nhau.

Hình 2 6 Thuật toán trực quan hóa Giới tính và Bệnh đột quỵ

Sơ đồ 2 3 Tỷ lệ giữa các giới tính và Bệnh đột quỵ

Trường Đại học Kinh tế Huế

2.1.2.4 Nơi sinh sống – residence_type

=> Tỷ lệ người sống ở thành thị và người sống ở nông thôn trong bộ dữ liệu bị bệnh đột quỵ là gần bằng nhau

Hình 2 7 Thuật toán trực quan hóa Nơi sinh sống và Bệnh đột quỵ

Sơ đồ 2 4 Tỷ lệ giữa các Nơi sinh sống và Bệnh đột quỵ

Trường Đại học Kinh tế Huế

41 SVTH: Phan Thị Cẩm Nhi

2.1.2.5 Trình trạng hút thuốc lá (smoking_status)

Sơ đồ 2 5 Tỷ lệ giữa Tình trạng hút thuốc lá và Bệnh đột quỵ

Tỷ lệ người từng hút thuốc (màu xanh dương) và chưa bao giờ hút thuốc (màu cam) trong dữ liệu bệnh nhân đột quỵ cao hơn so với người hiện đang hút thuốc (màu xanh lá).

Hình 2 8 Thuật toán trực quan hóa Tình trạng hút thuốc lá và Bệnh đột quỵ

Trường Đại học Kinh tế Huế

2.1.2.6 Trình trạng hôn nhân (ever_married)

=> Tỷ lệ người đã kết hôn trong tập dữ liệu bị bệnh đột quỵ (màu xanh dương) cao hơn người chưa kết hôn (màu cam).

Sơ đồ 2 6 Tỷ lệ giữa Tình trạng hôn nhân và Bệnh đột quỵ Hình 2 9 Thuật toán trực quan hóa Tình trạng hôn nhân

Trường Đại học Kinh tế Huế

43 SVTH: Phan Thị Cẩm Nhi

2.1.2.7 Chỉ số khối cơ thể - BMI

Sơ đồ 2 7 Tỷ lệ giữa BMI và Bệnh đột quỵ

=> Những người có chỉ số BMI < 25 trong tập dữ liệu bị bệnh đột quỵ (màu xanh lá cây) ít hơn các độ tuổi còn lại (màu đỏ).

Hình 2 10 Thuật toán trực quan hóa BMI

Trường Đại học Kinh tế Huế

2.1.2.8 Lượng đường trong máu – avg_glucose_level

Sơ đồ 2 8 Tỷ lệ giữa Đường huyết và Bệnh đột quỵ

=> Tỷ lệ những người có lượng đường trong máu từ 55-130 không bị bệnh đột quỵ

(màu xanh lá cây) thấp hơn những người có lượng đường trong máu còn lại (màu đỏ).

Hình 2 11 Thuật toán trực quan hóa Đường huyết

Trường Đại học Kinh tế Huế

45 SVTH: Phan Thị Cẩm Nhi

Sơ đồ 2 9 Tỷ lệ giữa các Độ tuổi và Bệnh đột quỵ

=> Tỷ lệ những người dưới 55 tuổi không bị bệnh đột quỵ (màu xanh lá cây) thấp hơn độ tuổi còn lại (màu đỏ)

Hình 2 12 Thuật toán trực quan hóa Độ tuổi

Trường Đại học Kinh tế Huế

Hình 2 14 Tập dữ liệu có 201 dữ liệu bị trống ở BMI

Tiền xử lý dữ liệu (Preproccessing)

2.2.1 Xử lí dữ liệu trống (Missing Data)

 Ta có thể thấy, trong tập dữ liệu “healthcare dataset stroke data” tồn tại một số dữ liệu bị trống ở giá trị của cột BMI.

 Cụ thể, có tổng cộng 201 dữ liệu bị trống trong tập dữ liệu “healthcare dataset stroke data”, chúng nằm trong thuộc tính [bmi].

Trong chương 1, đã nêu rõ rằng có 5 kỹ thuật để xử lý dữ liệu trống, mỗi kỹ thuật đều có những ưu và nhược điểm riêng Đây là những phương pháp phổ biến thường được sử dụng để thay thế dữ liệu thiếu.

Hình 2 13 Một số dữ liệu trống trong tập dữ liệu “healthcare dataset stroke data”

Trường Đại học Kinh tế Huế

Trong quá trình xử lý dữ liệu, Phan Thị Cẩm Nhi nhấn mạnh tầm quan trọng của việc chọn lựa kỹ thuật phù hợp cho từng bộ dữ liệu, đặc biệt là khi gặp dữ liệu trống Cần xem xét tính chất của tập dữ liệu và đặc điểm của dữ liệu trống để áp dụng phương pháp hiệu quả nhất.

Một nhược điểm chung của các kỹ thuật xử lý dữ liệu trống là chúng chỉ thay thế giá trị bị trống bằng những giá trị chủ quan như trung bình cộng hoặc trung vị, điều này có thể làm thay đổi kết quả chung của nghiên cứu.

Trong bài nghiên cứu này, chúng tôi đã không áp dụng 7 kỹ thuật trước đó mà thay vào đó sử dụng một kỹ thuật mới, được triển khai qua mã nguồn, dựa trên mô hình Random Forest Phương pháp này cho phép xử lý dữ liệu trống một cách khách quan hơn, như được minh họa trong thuật toán dưới đây.

Hình 2 15 Thuật toán xử lý dữ liệu trống trong nghiên cứu

Trường Đại học Kinh tế Huế

Thuật toán này sử dụng các đặc điểm của giá trị BMI không bị thiếu và phân tích mối tương quan giữa các thuộc tính khác trong tập dữ liệu, bao gồm giới tính, độ tuổi, huyết áp, bệnh tim và tình trạng hôn nhân.

- Từ đó, nó tìm ra quy tắc và điền vào giá trị cụ thể cho mỗi giá trị BMI bị trống.

Thuật toán này xử lý dữ liệu một cách khách quan và chính xác, cho phép áp dụng linh hoạt cho mọi loại tập dữ liệu.

 Kết quả thu được sau khi xử lý dữ liệu trống

Hình 2 16 Thuật toán xuất ra các dữ liệu sau khi đã được điền vào

Hình 2 17 Các dữ liệu trống sau khi được điền giá trị

Trường Đại học Kinh tế Huế

49 SVTH: Phan Thị Cẩm Nhi

- Giá trị của 201 dữ liệu của BMI bị trống sau khi được xử lý dữ liệu trống dựa vào dự đoán của thuật toán:

-Bảng dữ liệu đầy đủ các thuộc tính khi BMI đã được xử lý dữ liệu trống:

- So sánh giữa tập dữ liệu “healthcare dataset stroke data” ban đầu và tập dữ liệu đó sau khi đã xử lý dữ liệu trống:

Hình 2 19 Tập dữ liệu trước và sau khi xử lí dữ liệu trống

Toàn bộ dữ liệu trống trong tập dữ liệu đã được điền vào các giá trị, tạo ra một bộ dữ liệu đầy đủ, ổn định và có độ chính xác cao, sẵn sàng cho các bước tiếp theo trong quá trình làm sạch dữ liệu, bao gồm xử lý giá trị ngoại lệ.

Hình 2 18 Bảng dữ liệu của 201 hàng giá trị sau khi được điền vào

Trường Đại học Kinh tế Huế

2.2.2 Xử lí dữ liệu ngoại lệ (Ouliers)

Trong tập dữ liệu, có 2 trường hợp áp dụng xử lý giá trị ngoại lệ:

- Các thuộc tính mà dữ liệu của nó có dạng phân bố lệch (skewed): đường huyết

(avg_glucose), tỷ số khối cơ thể (bmi) và độ tuổi (age)

- Sau khi xử lý giá trị ngoại lệ, ta đưa thuộc tính trở về kiểu dữ liệu có dạng phân bố chuẩn.

 Giá trị của thuộc tính đường huyết (avg_glucose) có dạng phân bố lệch trước khi xử lí giá trị ngoại lệ:

Hình 2 20 Giá trị của thuộc tính đường huyết trước khi xử lí giá trị ngoại lệ

Trường Đại học Kinh tế Huế

51 SVTH: Phan Thị Cẩm Nhi

 Giá trị của thuộc tính đường huyết (avg_glucose) có dạng phân bố chuẩn sau khi xử lí giá trị ngoại lệ:

 Giá trị của thuộc tính tỷ số khối cơ thể (BMI) có dạng phân bố lệch trước khi xử lí giá trị ngoại lệ:

Hình 2 21 Giá trị của thuộc tính đường huyết sau khi xử lí giá trị ngoại lệ

Hình 2 22 Giá trị của thuộc tính BMI trước khi xử lí giá trị ngoại lệ

Trường Đại học Kinh tế Huế

 Giá trị của thuộc tính tỷ số khối cơ thể (BMI) có dạng phân bố chuẩn sau khi xử lí giá trị ngoại lệ:

 Giá trị của thuộc tính độ tuổi (age) phân bố khá ổn định, vì vậy thuộc tính

Hình 2 23 Giá trị của thuộc tính BMI sau khi xử lí giá trị ngoại lệ

Trường Đại học Kinh tế Huế

53 SVTH: Phan Thị Cẩm Nhi này không cần xử lý giá trị ngoại lệ:

2.2.3 Lựa chọn thuộc tính (Feature selection)

Dựa trên kết quả từ bước 2.1.2 (trực quan hóa dữ liệu), tỷ lệ nam và nữ mắc bệnh đột quỵ trong tập dữ liệu "healthcare dataset stroke data" gần như tương đương Điều này cho thấy rằng giới tính không ảnh hưởng đến kết quả nghiên cứu về bệnh đột quỵ Tương tự, thuộc tính nơi sinh sống cũng không có tác động đáng kể.

Do đó, chúng ta có thể loại bỏ hai thuộc tính giới tính và nơi sinh sống để giảm chi phí tính toán và cải thiện hiệu suất của mô hình khi áp dụng các thuật toán trong các bước tiếp theo.

Trong nghiên cứu này, chúng ta sử dụng tất cả các thuộc tính còn lại đó là: độ tuổi (age), huyết áp (hypertension), bệnh tim (heart_desease), đường huyết

(avg_glucose_level), loại hình làm việc (work_type), tình trạng hút thuốc lá

(smoking_status), tỷ số khối cơ thể (BMI) mà biến mục tiêu – bệnh đột quỵ (stroke) để phân tích.

2.2.4 Mã hóa dữ liệu phân loại (Encoding Categorical Data)

Trong tập dữ liệu "healthcare dataset stroke data", có một số thuộc tính chứa giá trị kiểu dữ liệu chữ.

- Tình trạng hôn nhân: + Yes: đã kết hôn

Hình 2 25 Các thuộc tính được lựa chọn nghiên cứu trong tập dữ liệu

Trường Đại học Kinh tế Huế

- Công việc hiện tại: + Children: trẻ em

+ Govt_job: công việc nhà nước + Never_worked: chưa từng đi làm + Privated: doanh nghiệp tư nhân + Self-employed: tự kinh doanh

- Tình trạng hút thuốc: + Formly smoke: trước đây có hút

+ Never smoke: chưa từng hút thuốc + Smokes: có hút thuốc

*Bước 1: Chuyển đổi các dữ liệu từ kiểu giá trị kiểu chữ sang kiểu số như sau:

Hình 2 26 Thuật toán Mã hóa dữ liệu phân loại sang kiểu số

Trường Đại học Kinh tế Huế

55 SVTH: Phan Thị Cẩm Nhi

Trong bước 1, tập dữ liệu ban đầu chứa giá trị kiểu chữ đã được chuyển đổi hoàn toàn thành tập dữ liệu chỉ chứa các giá trị kiểu số.

Khi tập dữ liệu chứa các giá trị số như {0,1,2,3…}, máy có khả năng hiểu và xử lý dễ dàng Tuy nhiên, với những giá trị này, các mối quan hệ như 3 = 3 x 1 hay Privated = 3 x Govt_job có thể làm mất đi tính khách quan của tập dữ liệu.

Vì thế, chúng ta cần tiếp tục xử lý dữ liệu như ở bước 2

* Bước 2: Chuyển đổi các dữ liệu kiểu số sang kiểu dữ liệu kiểu mảng [0,1]

Hình 2 27 Kết quả tập dữ liệu sau khi Mã hóa thành kiểu số

Hình 2 28 Thuật toán Mã hóa dữ liệu phân loại sang kiểu ma trận

Trường Đại học Kinh tế Huế

Chúng ta hoàn tất việc chuyển đổi tập dữ liệu có chứa kiểu chữ sang tập dữ liệu hoàn toàn là kiểu số gồm 2 giá trị [0,1].

2.2.5 Phân chia dữ liệu huấn luyện và dữ liệu kiểm thử (Train – Test)

 Cách phân chia dữ liệu trong bài nghiên cứu:

Hình 2 29 Kết quả tập dữ liệu sau khi Mã hóa thành kiểu ma trận [0,1]

Sơ đồ 2 10 Cách phân chia dữ liệu nghiên cứu

Trường Đại học Kinh tế Huế

57 SVTH: Phan Thị Cẩm Nhi

 Chia tập huấn luyện và tập kiểm thử (Train – Test)

Hình 2 30 Thuật toán chia giá trị x và y trong nghiên cứu

Hình 2 31 Thuật toán chia Train - Test trong nghiên cứu

Trường Đại học Kinh tế Huế

2.2.6 Xử lí cân bằng mẫu (SMOTE)

Trong trường hợp giá trị của mẫu (biến mục tiêu) có số lượng mất cân bằng, chúng ta sẽ tiến hành phương pháp cân bằng mẫu.

Trong tập dữ liệu "healthcare dataset stroke data", có 204 trường hợp bị đột quỵ, chiếm 95.1%, trong khi 3,884 trường hợp không bị đột quỵ, chiếm 4.9% Sự chênh lệch lớn giữa hai con số này cho thấy cần thực hiện các tổ hợp tính để tạo ra các mẫu dữ liệu hợp lý hơn.

Hình 2 32 Thuật toán xử lý cân bằng mẫu

Hình 2 33 Thuật toán xuất ra tỷ lệ Bệnh đột quỵ

Trường Đại học Kinh tế Huế

59 SVTH: Phan Thị Cẩm Nhi

Thuật toán xử lý cân bằng mẫu và kết quả:

Sau khi xử lý cân bằng mẫu, tập dữ liệu có số mẫu bị bệnh đột quỵ bằng với số mẫu không bị bệnh đột quỵ (3884).

Sơ đồ 2 11 Tỷ lệ bị bệnh đột quỵ chiếm số nhỏ trong tập dữ liệu

Hình 2 34 Xử lý mất cân bằng mẫu.

Trường Đại học Kinh tế Huế

60 SVTH: Phan Thị Cẩm Nhi

2.2.7 Chuẩn hóa phạm vi dữ liệu (Feature Scaling)

Sau các bước ở trên, chúng ta đã có tập dữ liệu X_train như sau:

Hình 2 35 Tập dữ liệu hiện tại

Trường Đại học Kinh tế Huế

61 SVTH: Phan Thị Cẩm Nhi

Tập dữ liệu sau khi được chuẩn hóa:

Hình 2 37 Thuật toán và tập dữ liệu sau chuẩn hóa

Trường Đại học Kinh tế Huế

Xây dựng mô hình huấn luyện (Model Training)

2.4.1 Lựa chọn mô hình (Model selection)

This article presents eight of the most popular classification algorithm models: a) Logistic Regression, b) Naive Bayes, c) K-Nearest Neighbors, d) Decision Tree, e) Random Forest, f) Support Vector Machine, g) Stochastic Gradient Descent, and h) eXtreme Gradient Boosting.

Các mô hình đã được huấn luyện bằng phương pháp cross-validation, với 8 lần kiểm chứng để thu được kết quả trung bình cộng của 8 lần như sau:

Trường Đại học Kinh tế Huế

63 SVTH: Phan Thị Cẩm Nhi

Từ kết quả trên và dựa vào phương pháp cross-validation, nghiên cứu lựa chọn

3 mô hình để đưa vào một bước nâng cao là hiệu chỉnh sau khi kiểm thử là: RFC,

Nghiên cứu cho thấy rằng việc hiệu chỉnh siêu tham số có thể ảnh hưởng đáng kể đến độ chính xác của 3 mô hình đã đề cập.

2.4.3 Kiểm thử mô hình (Test model)

Sau khi hoàn tất quá trình huấn luyện, các mô hình phân lớp sẽ được kiểm thử trên tập dữ liệu đã được tiền xử lý từ "healthcare dataset stroke data" nhằm đánh giá độ chính xác và hiệu suất thực thi của chúng.

Bài viết này trình bày một số thuật toán trong các mô hình đã được áp dụng trong quá trình kiểm thử, bao gồm các mô hình Hồi quy Logistic (LR), Rừng ngẫu nhiên (RFC) và XGBoost (XGB).

Hình 2 38 Độ chính xác trung bình của các mô hình sau khi huấn huyện

Trường Đại học Kinh tế Huế

Các tham số đã được thiết lập mặc định để truyền vào của mô hình LR trong quá trình kiểm thử: o 10 o " "

Hình 2 39 Thuật toán Logistic Regression (LR)

Trường Đại học Kinh tế Huế

65 SVTH: Phan Thị Cẩm Nhi

Hình 2 40 Thuật toán Random Forest Classifier (RFC)

Trường Đại học Kinh tế Huế

Hình 2 41 Thuật toán eXtreme Gradient Boosting (XGB)

Trường Đại học Kinh tế Huế

67 SVTH: Phan Thị Cẩm Nhi

2.4.4 Hiệu chỉnh mô hình (Turning model)

Hình 2 42 Thuật toán Hiệu chỉnh mô hình Logistic Regression (LR)

Trường Đại học Kinh tế Huế

Hình 2 43 Thuật toán hiệu chỉnh mô hình Random Forest Classifier (RFC)

Trường Đại học Kinh tế Huế

69 SVTH: Phan Thị Cẩm Nhi

Hình 2 44 Thuật toán hiệu chỉnh mô hình eXtreme Gradient Boosting (XGB)

Trường Đại học Kinh tế Huế

KẾT QUẢ THỰC NGHIỆM VÀ THẢO LUẬN

Ngày đăng: 28/08/2023, 20:47

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Vũ Hữu Tiệp (2020), “Machine Learning Cơ Bản”, ngày truy cập: 30/10/2022, https://machinelearningcoban.com/ Sách, tạp chí
Tiêu đề: Machine Learning Cơ Bản
Tác giả: Vũ Hữu Tiệp
Năm: 2020
[2] World Stroke Organization, “Learn about stroke”, ngày truy cập: 30/10/2022, https://www.world-stroke.org/ Sách, tạp chí
Tiêu đề: Learn about stroke
Tác giả: World Stroke Organization
Nhà XB: World Stroke Organization
[3] Hiếua, N. T., Linha, T. X., Hieua, N. T., &amp; Linha, T. X. Dự đoán cường độ liên kết giữa cốt thép bị ăn mòn và lớp bê tông xung quanh bằng phương pháp XGBoost, ngày truy cập 15/11/2022, https://cdn.duytan.edu.vn/ Sách, tạp chí
Tiêu đề: Dự đoán cường độ liên kết giữa cốt thép bị ăn mòn và lớp bê tông xung quanh bằng phương pháp XGBoost
Tác giả: Hiếua, N. T., Linha, T. X., Hieua, N. T., Linha, T. X
[4] Nghiên cứu cơ bản trong “Khoa học Trái đất và Môi trường”, ngày truy cập Sách, tạp chí
Tiêu đề: Khoa học Trái đất và Môi trường
[7] “Một số ứng dụng của Machine Learning hiện nay”, ngày truy cập: 20/10/20022, https://longvan.net/machine-learning-la-gi-ung-dung-cua-machine-learning.html Sách, tạp chí
Tiêu đề: Một số ứng dụng của Machine Learning hiện nay
Tác giả: admin
Nhà XB: Long Vân
Năm: 2024
[8] Nguyễn Cúc, “Machine learning - Học máy trong kinh doanh”, ngày truy cập Sách, tạp chí
Tiêu đề: Machine learning - Học máy trong kinh doanh
Tác giả: Nguyễn Cúc
[9] Caruana, R., &amp; Niculescu-Mizil, A. (2006, June). “An empirical comparison of supervised learning aLRorithms. In Proceedings of the 23rd international conference on Machine learning (pp. 161-168)”, ngày truy cập: 22/11/2022, https://dl.acm.org/doi/abs/10.1145/1143844.1143865 Sách, tạp chí
Tiêu đề: An empirical comparison of supervised learning algorithms
Tác giả: Caruana, R., Niculescu-Mizil, A
Nhà XB: Proceedings of the 23rd international conference on Machine learning
Năm: 2006
[10] Von Luxburg, U. (2010). Clustering stability: an overview. Foundations and Trends® in Machine Learning, 2(3), 235-274, ngày truy cập: 22/11/2022, https://www.nowpublishers.com/article/Details/MAL-008Trường Đại học Kinh tế Huế Sách, tạp chí
Tiêu đề: Clustering stability: an overview
Tác giả: Von Luxburg, U
Nhà XB: Foundations and Trends® in Machine Learning
Năm: 2010

HÌNH ẢNH LIÊN QUAN

Hình 2. 1. Thuật toán khai báo các thư viện trong nghiên cứu - Dự đoán bệnh đột quỵ ở người dựa trên các mô hình phân lớp
Hình 2. 1. Thuật toán khai báo các thư viện trong nghiên cứu (Trang 52)
Sơ đồ 2. 5. Tỷ lệ giữa Tình trạng hút thuốc lá và Bệnh đột quỵ - Dự đoán bệnh đột quỵ ở người dựa trên các mô hình phân lớp
Sơ đồ 2. 5. Tỷ lệ giữa Tình trạng hút thuốc lá và Bệnh đột quỵ (Trang 57)
Sơ đồ 2. 7. Tỷ lệ giữa BMI và Bệnh đột quỵ - Dự đoán bệnh đột quỵ ở người dựa trên các mô hình phân lớp
Sơ đồ 2. 7. Tỷ lệ giữa BMI và Bệnh đột quỵ (Trang 59)
Sơ đồ 2. 8. Tỷ lệ giữa Đường huyết và Bệnh đột quỵ - Dự đoán bệnh đột quỵ ở người dựa trên các mô hình phân lớp
Sơ đồ 2. 8. Tỷ lệ giữa Đường huyết và Bệnh đột quỵ (Trang 60)
Sơ đồ 2. 9.  Tỷ lệ giữa các Độ tuổi và Bệnh đột quỵ - Dự đoán bệnh đột quỵ ở người dựa trên các mô hình phân lớp
Sơ đồ 2. 9. Tỷ lệ giữa các Độ tuổi và Bệnh đột quỵ (Trang 61)
Hình 2. 21. Giá trị của thuộc tính đường huyết  sau khi xử lí giá trị ngoại lệ - Dự đoán bệnh đột quỵ ở người dựa trên các mô hình phân lớp
Hình 2. 21. Giá trị của thuộc tính đường huyết sau khi xử lí giá trị ngoại lệ (Trang 67)
Hình 2. 23. Giá trị của thuộc tính BMI sau  khi xử lí giá trị ngoại lệ - Dự đoán bệnh đột quỵ ở người dựa trên các mô hình phân lớp
Hình 2. 23. Giá trị của thuộc tính BMI sau khi xử lí giá trị ngoại lệ (Trang 68)
Hình 2. 27. Kết quả tập dữ liệu sau khi Mã hóa thành kiểu số - Dự đoán bệnh đột quỵ ở người dựa trên các mô hình phân lớp
Hình 2. 27. Kết quả tập dữ liệu sau khi Mã hóa thành kiểu số (Trang 71)
Hình 2. 29. Kết quả tập dữ liệu sau khi Mã hóa thành kiểu ma trận [0,1] - Dự đoán bệnh đột quỵ ở người dựa trên các mô hình phân lớp
Hình 2. 29. Kết quả tập dữ liệu sau khi Mã hóa thành kiểu ma trận [0,1] (Trang 72)
Hình 2. 30. Thuật toán chia giá trị x và y trong nghiên cứu - Dự đoán bệnh đột quỵ ở người dựa trên các mô hình phân lớp
Hình 2. 30. Thuật toán chia giá trị x và y trong nghiên cứu (Trang 73)
Sơ đồ 2. 11. Tỷ lệ bị bệnh đột quỵ chiếm số nhỏ trong tập dữ liệu - Dự đoán bệnh đột quỵ ở người dựa trên các mô hình phân lớp
Sơ đồ 2. 11. Tỷ lệ bị bệnh đột quỵ chiếm số nhỏ trong tập dữ liệu (Trang 75)
Hình 3. 1. Kết quả ma trận nhầm lẫn của các mô hình phân lớp - Dự đoán bệnh đột quỵ ở người dựa trên các mô hình phân lớp
Hình 3. 1. Kết quả ma trận nhầm lẫn của các mô hình phân lớp (Trang 86)
Hình 3. 2. Kết quả đường cong ROC của các mô hình phân lớp - Dự đoán bệnh đột quỵ ở người dựa trên các mô hình phân lớp
Hình 3. 2. Kết quả đường cong ROC của các mô hình phân lớp (Trang 87)
Bảng 3. 1. So sánh kết quả chạy mô hình với bộ dữ liệu - Dự đoán bệnh đột quỵ ở người dựa trên các mô hình phân lớp
Bảng 3. 1. So sánh kết quả chạy mô hình với bộ dữ liệu (Trang 88)
Hình 3. 4. Ma trận nhầm lẫn và đường cong ROC của mô hình RFC (sau  hiệu chỉnh) - Dự đoán bệnh đột quỵ ở người dựa trên các mô hình phân lớp
Hình 3. 4. Ma trận nhầm lẫn và đường cong ROC của mô hình RFC (sau hiệu chỉnh) (Trang 90)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w