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

Báo cáo đồ án nhập môn máy học heart disease classification

36 44 0

Đ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 đề Heart Disease Classification
Người hướng dẫn TS. Vũ Ngọc Thanh Sang
Trường học Trường Đại Học Sài Gòn
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo đồ án
Năm xuất bản 2022
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 36
Dung lượng 1,56 MB

Cấu trúc

  • 1.1 Vấn đề cần giải quyết là gì (4)
  • 1.2 Định nghĩa bài toán cho người không cùng chuyên môn (4)
  • 1.3 Định nghĩa bài toán cho người có cùng chuyên môn (4)
  • 1.4 Giải thiết của bài toán là gì (5)
  • 1.5 Các bài toán tương tự trong thực tế … (5)
  • 2.1 Động lực để giải quyết bài toán … (5)
  • 2.2 Giải pháp mang lại những lợi ích gì … (5)
  • 2.3 Giải pháp được sử dụng như thế nào … (6)
  • 3.1 Giải pháp hiện tại của bài toán … (7)
  • 3.2 Giải pháp CNTT cho bài toán … (7)
  • 4.1 Mô tả dữ liệu … (7)
  • 4.2 Trong hoàn cảnh như thế nào thì có thể thu thập được dữ liệu (7)
  • 4.3 Trong hoàn cảnh như thế nào thì không thể thu thập được dữ liệu (8)
  • 5.1 Xác định và xử lý dữ liệu bị bỏ (8)
  • 5.2 Mã hóa dữ liệu (8)
  • 5.3 Thống kê dữ liệu (10)
  • 5.4 Gom nhóm các đặc trưng ( theo kiểu dữ liệu ) (10)
  • 5.5 Phân bố của từng đặc trưng như thế nào? (11)
  • 5.6 Mối tương quan của từng cặp đặc trưng như thế nào? (15)
  • 5.7 Tính năng tác động nhiều nhất đến dự đoán của mô hình … (17)
  • 6.1 Trích xuất đặc trưng (19)
  • 6.2 Chọn lọc đặc trưng (20)
  • 7.1 Chia dữ liệu thành các tập train, validation, test (20)
  • 7.2 Xác định độ đo cho bài toán (phân loại, hồi quy, phân cụm) (20)
  • 7.3 Huấn luyện mô hình (24)
  • 8.1 Tinh chỉnh tham số trong không gian tham số (30)
  • 9.1 So sánh hiệu suất (33)
  • 10.1 Tóm tắt bài toán (33)
  • 10.2 Các công trình liên quan (34)
  • 10.3 Đề xuất giải pháp (34)
  • 10.4 Kết quả của giải pháp (35)
  • 10.5 Kết luận (35)

Nội dung

Vấn đề cần giải quyết là gì

Theo Tổ chức Y tế Thế giới, hàng năm có 12 triệu ca tử vong do bệnh tim trên toàn cầu, với tải trọng bệnh ngày càng gia tăng Nhiều nghiên cứu đã được tiến hành để xác định các yếu tố nguy cơ và dự đoán chính xác nguy cơ mắc bệnh tim, được coi là kẻ giết người thầm lặng vì thường không có triệu chứng rõ ràng Việc chẩn đoán sớm bệnh tim rất quan trọng để giúp bệnh nhân thay đổi lối sống và giảm thiểu biến chứng Dự án này tập trung vào việc dự đoán bệnh tim thông qua phân tích dữ liệu bệnh nhân và sử dụng các thuật toán học máy để phân loại tình trạng bệnh.

Định nghĩa bài toán cho người không cùng chuyên môn

Phát hiện bệnh tim là một thách thức lớn, bởi vì các công cụ dự đoán hiện có thường tốn kém và không hiệu quả Việc phát hiện sớm có thể giảm tỷ lệ tử vong và biến chứng, nhưng không thể theo dõi bệnh nhân hàng ngày một cách chính xác do sự thiếu hụt bác sĩ và yêu cầu về thời gian cũng như chuyên môn Do đó, dự án của chúng tôi đã phát triển và nghiên cứu một mô hình sử dụng thuật toán học máy để dự đoán khả năng mắc bệnh tim của bệnh nhân.

Định nghĩa bài toán cho người có cùng chuyên môn

Học máy đang được ứng dụng rộng rãi trên toàn cầu, đặc biệt trong ngành công nghiệp chăm sóc sức khỏe Nó đóng vai trò quan trọng trong việc dự đoán sự xuất hiện của bệnh tim, cung cấp thông tin quý giá cho bác sĩ để điều chỉnh chẩn đoán và điều trị phù hợp cho từng bệnh nhân Trong dự án này, chúng tôi áp dụng các thuật toán học máy để phân tích và so sánh các phương pháp phân loại như Logistic Regression, Nearest Neighbors, Support Vectors, Nu SVC, Decision Tree, Random Forest, AdaBoost, Gradient Boosting, Naive Bayes, Linear DA, Quadratic DA, và Neural Net, Catboost.

Giải thiết của bài toán là gì

Trong dự án này, chúng tôi sẽ sử dụng bộ dữ liệu về bệnh tim để phân tích và dự đoán xem bệnh nhân có mắc bệnh tim hay không Việc áp dụng học máy trong dự đoán này sẽ giúp cải thiện tốc độ và hiệu quả trong lĩnh vực chăm sóc sức khỏe, nơi thường tốn nhiều thời gian.

Các bài toán tương tự trong thực tế …

Bài toán dự đoán bệnh tiểu đường

Bài toán dự đoán bệnh parkinson

2 Sự cần thiết của project

Động lực để giải quyết bài toán …

Nghiên cứu này nhằm mục đích phát triển một mô hình dự đoán bệnh tim, xác định thuật toán phân loại hiệu quả nhất để đánh giá nguy cơ mắc bệnh Các thuật toán như Logistic Regression, Nearest Neighbors, Support Vectors, Decision Tree, Random Forest, và nhiều phương pháp khác được so sánh để tìm ra giải pháp tối ưu Việc dự đoán bệnh tim là rất quan trọng và yêu cầu độ chính xác cao, do đó, các thuật toán sẽ được đánh giá qua nhiều cấp độ và chiến lược khác nhau Kết quả nghiên cứu sẽ hỗ trợ các nhà nghiên cứu và chuyên gia y tế trong việc tiên lượng sớm bệnh tim, từ đó giúp bệnh nhân có nguy cơ cao thay đổi lối sống và giảm thiểu biến chứng.

Giải pháp mang lại những lợi ích gì …

- Giảm chi phí, tiết kiệm thời gian.

- Giúp đưa ra gợi ý cho bác sĩ.

Giải pháp được sử dụng như thế nào …

Chúng em đã tiến hành thử nghiệm nhiều thuật toán phân loại nhằm dự đoán khả năng mắc bệnh tim của bệnh nhân dựa trên các chỉ số sức khỏe khác nhau.

Quy trình của giải pháp:

Bước 1: Nhập các thư viện cần thiết, Nhập bộ dữ liệu bệnh tim.

Bước 2: Xử lý trước dữ liệu để loại bỏ dữ liệu bị thiếu.

Bước 3: Thực hiện phân chia tỷ lệ phần trăm 75% để chia tập dữ liệu thành tập huấn luyện và 25% cho tập kiểm tra.

Step 4: Select a machine learning algorithm from the following options: Logistic Regression, Nearest Neighbors, Support Vector Machines (SVM), Nu Support Vector Classification (Nu SVC), Decision Tree, Random Forest, AdaBoost, Gradient Boosting, Naive Bayes, Linear Discriminant Analysis (LDA), Quadratic Discriminant Analysis (QDA), Neural Networks, CatBoost, LightGBM, and XGBoost.

Bước 5: Xây dựng mô hình phân loại cho thuật toán học máy đã đề cập dựa trên tập huấn luyện.

Bước 6: Kiểm tra mô hình trình phân loại cho thuật toán học máy đã đề cập dựa trên tập kiểm tra.

Bước 7: Thực hiện so sánh đánh giá các kết quả hoạt động thử nghiệm thu được đối với mỗi bộ phân loại.

Bước 8: Thực hiện điều chỉnh tham số từ tham số mặc định trong mô hình phân loại dựa trên các biện pháp khác nhau.

Bước 9: Thực hiện so sánh đánh giá các kết quả với mô hình phân loại từ tham số mặc định, kết luận thuật toán hoạt động tốt nhất.

3 Giải pháp thủ công cho bài toán

Giải pháp hiện tại của bài toán …

Chẩn đoán bệnh tim là một nhiệm vụ quan trọng và phức tạp, đòi hỏi nhiều thời gian Các chẩn đoán này thường dựa vào trực giác, kinh nghiệm và chuyên môn của các bác sĩ chuyên ngành.

Giải pháp CNTT cho bài toán …

Điện tâm đồ (ECG) là một phương pháp ghi lại sự thay đổi dòng điện trong tim theo thời gian, giúp theo dõi nhịp tim được điều khiển bởi hệ thống dẫn truyền điện học Dòng điện này, mặc dù rất nhỏ, có thể được phát hiện qua các điện cực đặt trên cơ thể và được ghi lại trên giấy đồ thị sau khi được khuếch đại Việc đo điện tâm đồ hoàn toàn an toàn cho sức khỏe, có chi phí thấp và được coi là xét nghiệm cơ bản trong chẩn đoán và điều trị các bệnh liên quan đến tim.

Dữ liệu từ điện tâm đồ giúp bác sĩ đánh giá khả năng bơm máu của tim tại thời điểm kiểm tra, từ đó hỗ trợ trong nhiều tình huống y khoa khác nhau và theo dõi tình trạng sức khỏe tim mạch của bệnh nhân.

Mô tả dữ liệu …

Bộ dữ liệu về bệnh tim được công khai trên trang web UCI Machine Learning Repository chứa 76 thuộc tính, nhưng các nghiên cứu chỉ sử dụng 14 thuộc tính cụ thể Đặc biệt, cơ sở dữ liệu Cleveland là nguồn dữ liệu duy nhất mà các nhà nghiên cứu trong lĩnh vực Machine Learning đã áp dụng cho đến nay.

Trong hoàn cảnh như thế nào thì có thể thu thập được dữ liệu

Bệnh nhân còn sống trong lúc làm nghiên cứu, đầy đủ các chỉ số khi lấy

Trong hoàn cảnh như thế nào thì không thể thu thập được dữ liệu

Bệnh nhân không còn sống trong lúc làm nghiên cứu, thiếu các chỉ số khi lấy mẫu thử, bộ test không được bảo quản đúng nơi quy định,

Xác định và xử lý dữ liệu bị bỏ

Dữ liệu hàng thứ 93, 159, 164, 165 và 252 có ‘ca=4’ và hàng thứ 49 và 282 có ‘thal = 0’ là không chính xác Theo bộ dữ liệu gốc chúng có giá trị là NaNs.

Vì vậy, chúng em sẽ bỏ đi những dữ liệu sai.

Mã hóa dữ liệu

Trong tập dữ liệu, các tên viết tắt thường khó hiểu và không rõ nghĩa Những thuật ngữ y tế và kỹ thuật đầy đủ đã khó tiếp cận, huống chi là các dạng viết tắt Để cải thiện tính dễ đọc, chúng tôi sẽ cập nhật tên cột trong khung dữ liệu, dựa trên thông tin từ kho lưu trữ dữ liệu UCI.

Chúng tôi sẽ thay thế các mã danh mục (0, 1, 2, ) bằng các thuật ngữ y tế có ý nghĩa rõ ràng, chẳng hạn như 'đau thắt ngực không điển hình' và 'đau thắt ngực điển hình'.

Gom nhóm các đặc trưng ( theo kiểu dữ liệu )

Như chúng ta thấy ở trên thì sẽ có 3 loại kiểu dữ liệu object, int và float Hãy gom chúng dựa theo kiểu dữ liệu.

# đặc trưng số học num_feats = ['age', 'cholesterol', 'resting_blood_pressure',

'max_heart_rate_achieved', 'st_depression', 'num_major_vessels']

# đặc trưng nhị phân bin_feats = ['sex', 'fasting_blood_sugar', 'exercise_induced_angina', 'target']

# đặc trưng phân loại nom_feats= ['chest_pain_type', 'resting_electrocardiogram', 'st_slope',

'thalassemia'] cat_feats = nom_feats + bin_feats

Phân bố của từng đặc trưng như thế nào?

Kết quả của chúng em cho thấy sự cân bằng tương đối, với khoảng 46% các trường hợp không có bệnh và 54% có bệnh Do đó, không cần lo lắng về vấn đề mất cân bằng dữ liệu.

Phân phối của các đặc trưng số học:

Phân phối của các đặc trưng phân loại:

Mối tương quan của từng cặp đặc trưng như thế nào?

- Mối tương quan giữa các đặc trưng là yếu nhất

- Từ các đặc trưng số ‘num_major_vessels’, ‘max_heart_rate_achieved’ và

‘st_depression’ tương quan khá hợp lý với biến mục tiêu ở hệ số tương quan - 0,47, 0,43 và -0,43 tương ứng

- Từ các đặc điểm phân loại ‘chest_pain_type’, ‘st_depression’,

‘thalassemia’, và ‘exercise_created_angina’ có tương quan tốt hơn với biến mục tiêu, ‘thalassemia’ cao nhất ở mức 0,52

- Cholestrol ít tương quan với bệnh tim.

Vậy các đặc trưng có khả năng dự đoán cao hơn có thể là ‘chest_pain_type’,

‘num_major_vessels’, ‘thalassemia’, ‘exercise_created_angina’,

‘max_heart_rate_achieved’ và ‘st_depression’.

Tính năng tác động nhiều nhất đến dự đoán của mô hình …

Một trong những thách thức trong dự án học máy là giải thích các dự đoán của mô hình Để hiểu rõ hơn về các tính năng ảnh hưởng đến dự đoán, hai phương pháp hiệu quả là Permutation Importance và SHAP Những phương pháp này giúp xác định các yếu tố quan trọng nhất trong mô hình, từ đó cải thiện khả năng giải thích và độ tin cậy của các dự đoán.

Permutation importance là phương pháp đánh giá mức độ quan trọng của tính năng trong mô hình bằng cách xáo trộn ngẫu nhiên một giá trị tính năng duy nhất Khi mối quan hệ giữa tính năng và mục tiêu bị phá vỡ, điểm số mô hình sẽ giảm xuống, cho thấy mức độ phụ thuộc của mô hình vào tính năng đó.

SHAP (SHapley Additive exPlanations) là một phương pháp lý thuyết trò chơi nhằm giải thích đầu ra của các mô hình học máy Phương pháp này liên kết việc phân bổ tín dụng tối ưu với các giải thích cục bộ thông qua các giá trị Shapley cổ điển Các giá trị Shapley được tính gần đúng bằng Kernel SHAP, sử dụng hạt nhân có trọng số, và DeepSHAP, áp dụng DeepLift để ước lượng.

Theo cả permutation importance và SHAP, ba đặc điểm quan trọng nhất của mô hình là ‘num_major_vessels’, ‘chest_pain_type’ và ‘st_slope’

Trích xuất đặc trưng

Đặc trưng số học: Đặc trưng phân loại :

Chọn lọc đặc trưng

Các biểu đồ hồi quy cho một số đặc trưng chọn lọc được thể hiện dưới dạng quan hệ tuyến tính với tuổi Tương tự như cột đầu tiên trong biểu đồ cặp (pair-plot) về đặc trưng số học ở trên, chúng ta có thể nhận thấy các mối quan hệ này.

- Ngoại trừ ‘maximum_heart_rate_achieved’, thì các chỉ số khác có xu hướng quan hệ với nhau tuyến tính ‘age’ (mặc dù có quan hệ yếu hơn với

- Bệnh nhân trẻ hơn với ‘maximum_heart_rate_achieved’ cao hơn thì thường sẽ có điều kiện tim mạch

- Chỉ số ‘st_depression’ thấp hơn bất chấp tuổi tác thì đều biểu lộ ra kết quả mắc bệnh về tim mạch.

Chia dữ liệu thành các tập train, validation, test

The dataset is divided into 75% for training and 25% for testing This data is then utilized in various machine learning models, including Logistic Regression, Nearest Neighbors, Support Vectors, Nu SVC, Decision Tree, Random Forest, AdaBoost, Gradient Boosting, Naive Bayes, Linear DA, Quadratic DA, Neural Net, and Catboost.

LightGBM , Xgboost để phù hợp, dự đoán và cho điểm mô hình

Xác định độ đo cho bài toán (phân loại, hồi quy, phân cụm)

Để đánh giá hiệu suất của thuật toán học có giám sát, chúng em sử dụng confusion matrix, một công cụ trực quan hóa hiệu quả Mỗi hàng trong ma trận đại diện cho các thể hiện thuộc lớp ‘thực tế’, trong khi mỗi cột thể hiện các kết quả thuộc lớp ‘dự đoán’.

- Accuracy: Là tỷ lệ dự đoán chính xác cho kết quả kiểm tra.

- Recall: Là tỷ lệ các ví dụ được dự đoán thuộc về một lớp so với tất cả các ví dụ thực sự thuộc về lớp đó.

Precision là tỷ lệ phần trăm của các mẫu dương tính thực có liên quan trong tổng số mẫu được dự đoán thuộc về một loại cụ thể.

- F1-Score: Là giá trị trung bình hài hòa của precision và recall của mô hình.

Chúng em sử dụng đường cong ROC để minh họa hiệu suất của thuật toán phân loại nhị phân, thể hiện mối quan hệ giữa tỷ lệ dương và tỷ lệ dương sai.

Bảng tóm tắt chỉ số hiệu suất của thuật toán truyền thống

According to the performance summary of traditional algorithms, Logistic Regression achieved the highest accuracy at 86%, while Neural Networks excelled in recall with 94% Quadratic DA led in precision with 85% To determine the best option, the F1-Score provides a balance between recall and precision Notably, Logistic Regression also boasts the best F1-Score, making it the preferred choice Therefore, we will utilize it to further enhance our model using hyperparameters optimized through the scikit-learn Randomized Search algorithm.

Bảng tóm tắt chỉ số hiệu suất của thuật toán hiện đại

Bảng tóm tắt chỉ số hiệu suất cho thấy bộ phân loại LightGBM vượt trội hơn so với hai bộ phân loại khác Chúng tôi sẽ sử dụng LightGBM để nâng cao mô hình của mình thông qua việc điều chỉnh tham số bằng thuật toán Grid Search của scikit-learn.

Huấn luyện mô hình

The article discusses various machine learning classifiers available in the scikit-learn library, including Logistic Regression, K-Neighbors Classifier, Support Vector Classifiers, Decision Trees, Random Forests, AdaBoost, Gradient Boosting, Naive Bayes, and Discriminant Analysis It highlights the process of encoding categorical features using LabelEncoder and outlines a function, score_summary, that evaluates multiple classifiers by fitting them to training data and predicting validation outcomes The function computes key performance metrics such as accuracy, ROC AUC, recall, precision, and F1 score, presenting the results in a structured DataFrame.

# confusion matrix, cm cm = confusion_matrix(y_val, pred)

# recall: TP/(TP+FN) recall = cm[1,1]/(cm[1,1] +cm[1,0]) precision = cm[1,1]/(cm[1,1] +cm[0,1])

The F1 score is calculated using the formula TP/(TP+FP) and can also be expressed as f1 = 2*recall*precision/(recall + precision) To store the evaluation metrics, a DataFrame is created with accuracy, ROC AUC, recall, precision, and F1 score, which is then appended to a data table The function `plot_conf_matrix` visualizes confusion matrices for different classifiers, fitting each model to the training data and plotting the results The `roc_auc_curve` function generates ROC curves for each classifier, displaying the false positive rate against the true positive rate, along with the area under the curve (AUC) Categorical features such as chest pain type and resting electrocardiogram are encoded for analysis The dataset is split into training and testing sets, with a test size of 25%.

In machine learning, the dataset is split into training and validation sets using the `train_test_split` function, with specified test sizes Various classifiers are employed for model evaluation, including Logistic Regression, Nearest Neighbors, Support Vector Machines, Nu SVC, Decision Trees, Random Forests, AdaBoost, Gradient Boosting, Naive Bayes, Linear Discriminant Analysis, Quadratic Discriminant Analysis, and Neural Networks This diverse selection of algorithms enhances the robustness of the model's performance assessment.

LogisticRegression(solver="liblinear", random_state=seed),

SVC(probability=True, random_state=seed),

NuSVC(probability=True, random_state=seed),

MLPClassifier(random_state=seed)] score_summary(names, classifiers).sort_values(by='Accuracy' , ascending False)\

.style.background_gradient(cmap='coolwarm')\

.bar(subset=["ROC_AUC",], color='#6495ED')\

.bar(subset=["Recall"], color='#ff355d')\

In this article, we explore the performance of various boosting algorithms, including CatBoost, XGBoost, and LightGBM, by visualizing their results through ROC AUC curves and confusion matrices We utilize the CatBoostClassifier, XGBClassifier, and LGBMClassifier to compare their effectiveness in classification tasks The analysis includes generating bar plots to highlight the AUC scores and organizing confusion matrices into a structured format for better interpretation.

CatBoostClassifier(random_state=seed, verbose=0),

XGBClassifier(objective= 'binary:logistic', random_state=seed),

LGBMClassifier(random_state=seed)] score_summary(names_boost, classifiers).sort_values(by='Accuracy' , ascending = False)\

.style.background_gradient(cmap='coolwarm')\

.bar(subset=["ROC_AUC",], color='#6495ED')\

.bar(subset=["Recall"], color='#ff355d')\

.bar(subset=["Precision"], color='lightseagreen')\

.bar(subset=["F1"], color='gold') roc_auc_curve(names_boost, classifiers) plot_conf_matrix(names=names_boost, classifiers=classifiers, nrows=1, ncols=3, fig_a, fig_b=3)

Tinh chỉnh tham số trong không gian tham số

Tinh chỉnh tham số cho mô hình LightGBM bằng thuật toán scikit-learning Grid Search giúp tăng thêm hiệu suất của mô hình. from sklearn.model_selection import GridSearchCV

# Tạo từ điển rs_params trong đó đề cập đến một siêu tham số cụ thể cùng với các giá trị mà nó có thể nhận

# GridSearchCV thử tất cả các kết hợp giá trị được truyền trong rs_params và đánh giá mô hình cho từng kết hợp bằng phương pháp xác thực chéo

# Sau khi sử dụng chức năng này, chúng em có thể chọn một tổ hợp có hiệu suất tốt nhất

# Sau đó chúng em sẽ chạy lại các dự đoán rs_params = {'num_leaves': [20, 100],'max_depth': [5, 15],'min_data_in_leaf':

The GridSearchCV is utilized to optimize hyperparameters for the LGBMClassifier, with a random state for reproducibility and a 5-fold cross-validation After fitting the model on the training data, the best parameters are extracted and a new LGBMClassifier is instantiated with these parameters The model is then trained on the training set, with evaluation on a validation set to monitor performance Finally, a classification report is generated, and a confusion matrix is plotted to visualize the model's predictions against the actual values.

In contrast, the Logistic Regression model does not enhance the performance of the overall model The implementation involves using the `RandomizedSearchCV` from `sklearn.model_selection` alongside `uniform` from `scipy.stats`, and it employs `RepeatedStratifiedKFold` for cross-validation The Logistic Regression is initialized with parameters such as `tol=1e-4`, `max_iter=100`, and a specified `random_state` for reproducibility.

Lấy mẫu giá trị cho C từ phân phối đồng đều trong khoảng [0, 5], với xác suất 50% cho mỗi giá trị l1 và l2 của penalty, sử dụng bộ giải liblinear hỗ trợ penalty.

Sử dụng các giá trị mẫu để thực hiện RandomizedSearchCV và đánh giá mô hình thông qua phương pháp xác thực chéo cho một dải giá trị kết hợp ngẫu nhiên.

# Sau khi sử dụng chức năng này, chúng em có thể chọn một tổ hợp có hiệu suất tốt nhất

We will rerun the predictions using a hyperparameter search space defined by a uniform distribution for the regularization strength (C) ranging from 0 to 5, with penalties of 'l2' and 'l1', and utilizing the 'liblinear' solver A RandomizedSearchCV is employed with a logistic regression model (lr) to optimize these parameters, applying a cross-validation of 5 and scoring based on the F1 metric After fitting the model with the training data (X_train, y_train), we will output the best hyperparameters found Subsequently, we will create a new logistic regression model with these optimal parameters, fit it to the training data, and print a classification report comparing the model's predictions against the validation set (X_val, y_val).

So sánh hiệu suất

Chúng em đã thu thập đầy đủ các chỉ số hiệu suất của các bộ phân loại và quyết định chọn thuật toán phân loại tốt nhất Cả Logistic Regression và LightGBM đều đạt accuracy 86%, nhưng LightGBM nổi bật hơn với recall và precision đều đạt 94% Với điểm F1-Score tốt nhất, LightGBM được chọn làm thuật toán phân loại tối ưu cho dự án của chúng em.

Các công trình liên quan

T.Nagamani và các cộng sự đã đề xuất một hệ thống kết hợp kỹ thuật khai thác dữ liệu với thuật toán MapReduce, cho thấy độ chính xác cao hơn so với mạng thần kinh nhân tạo mờ thông thường trong 45 trường hợp thử nghiệm Sự cải thiện độ chính xác của thuật toán đạt được nhờ vào việc áp dụng lược đồ động và chia tỷ lệ tuyến tính.

Fahd Saleh Alotaibi đã tiến hành một nghiên cứu so sánh năm thuật toán khác nhau, sử dụng công cụ Rapid Miner, cho thấy độ chính xác cao hơn so với Matlab và Weka Nghiên cứu này so sánh độ chính xác của các thuật toán phân loại như Cây quyết định, Hồi quy logistic, Rừng ngẫu nhiên, Naive Bayes và SVM, trong đó thuật toán Cây quyết định đạt được độ chính xác cao nhất.

Nagaraj M Lutimath và cộng sự đã áp dụng các phương pháp Naive Bayes và SVM để dự đoán bệnh tim Trong phân tích, các phép đo hiệu suất như Lỗi tuyệt đối trung bình, Tổng lỗi bình phương và Lỗi bình phương trung bình gốc được sử dụng, cho thấy rằng SVM có độ chính xác vượt trội hơn so với Naive Bayes.

Đề xuất giải pháp

Quy trình của đề xuất giải pháp:

Bước 1: Nhập các thư viện cần thiết, Nhập bộ dữ liệu bệnh tim.

Bước 2: Xử lý trước dữ liệu để loại bỏ dữ liệu bị thiếu.

Bước 3: Thực hiện phân chia tỷ lệ phần trăm 75% để chia tập dữ liệu thành tập huấn luyện và 25% cho tập kiểm tra.

Bước 4: Chọn thuật toán học máy, tức là Logistic Regression, Nearest

AdaBoost, Gradient Boosting, Naive Bayes, Linear DA, Quadratic DA, Neural Net, Catboost, LightGBM , Xgboost.

Bước 5: Xây dựng mô hình phân loại cho thuật toán học máy đã đề cập dựa trên tập huấn luyện.

Bước 6: Kiểm tra mô hình trình phân loại cho thuật toán học máy đã đề cập dựa trên tập kiểm tra.

Bước 7: Thực hiện so sánh đánh giá các kết quả hoạt động thử nghiệm thu được đối với mỗi bộ phân loại.

Bước 8: Thực hiện điều chỉnh tham số từ tham số mặc định trong mô hình phân loại dựa trên các biện pháp khác nhau.

Bước 9: Thực hiện so sánh đánh giá các kết quả với mô hình phân loại từ tham số mặc định, kết luận thuật toán hoạt động tốt nhất.

Kết quả của giải pháp

Based on accuracy, Logistic Regression and LightGBM both achieved a top score of 86% In terms of recall, LightGBM excelled with a score of 94% For precision, both LightGBM and Neural Networks led with 94% With the best F1-Score, LightGBM emerged as our top choice for the classification algorithm.

Ngày đăng: 29/11/2023, 05:59

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w