Nguyễn Thiết Độ – 2210A04 Giảng viên hướng dẫn: Vũ Xuân Hạnh ĐỀ TÀI: Hỗ trợ dự đoán nguy cơ mắc bệnh tiểu đường ở phụ nữ BÁO CÁO BÀI TẬP LỚN MÔN: Nhập môn Khai phá dữ liệu và Máy học Hà
KHẢO SÁT NGHIỆP VỤ VÀ THU THẬP DỮ LIỆU
Khảo sát nghiệp vụ
1.1.1 Xác định đối tượng nghiệp vụ
Trong dự án dự đoán bệnh tiểu đường, đối tượng nghiệp vụ chính là quá trình dự đoán nguy cơ mắc bệnh tiểu đường dựa trên các thông tin cá nhân của bệnh nhân Các đối tượng liên quan bao gồm bệnh nhân, chuyên gia y tế, tổ chức y tế và các nhà nghiên cứu y khoa.
1.1.2 Tiếp cận và đánh giá tình huống
Hiện tại là tỉ lệ mắc bệnh tiểu đường đang gia tăng trên toàn cầu Việc phát hiện sớm thông qua dự đoán nguy cơ mắc bệnh có thể giúp cải thiện chăm sóc sức khỏe, giảm chi phí điều trị và ngăn ngừa bệnh tiến triển Việc sử dụng các kỹ thuật khai phá dữ liệu và học máy sẽ giúp tạo ra một hệ thống hỗ trợ dự đoán nguy cơ tiểu đường một cách nhanh chóng và chính xác.
Dựa trên các phép đo chẩn đoán nhất định có trong tập dữ liệu đánh giá các thông số lâm sàng như mức độ đường huyết, huyết áp, chỉ số khối cơ thể(BMI), mức độ insulin trong máu, và các yếu tố khác như số lần mang thai, tuổi tác… để chuẩn đoán nguy cơ mắc bệnh tiểu đường.
Thu thập dữ liệu
1.2.1 Thu thập dữ liệu ban đầu
- Dữ liệu được thu thập từ nguồn mở ( thu thập từ Kaggle ).
- Dữ liệu ở dạng số, bao gồm 2768 bản ghi.
THUỘC TÍNH MÔ TẢ GIÁ TRỊ
Số lần mang thai của cá nhân (lần) số nguyên
Mức độ đường huyết ( mg/dL) số nguyên BloodPressure Huyết áp trong cơ thể (mm Hg) số nguyên SkinThickness Độ dày của nếp gấp da (mm) số nguyên Insulin
Mức độ insulin trong cơ thể
BMI Chỉ số khối cơ thể (BMI) số thập phân
DiabetesPedigreeFunctio n Chỉ số dự đoán tiểu đường dựa trên di truyền số thập phân
Age Tuổi của cá nhân số nguyên (thường từ
Kết quả xét nghiệm tiểu đường 0: Không mắc, 1: Mắc
Kết chương
- Trong chương này, chúng ta đã thực hiện quá trình khảo sát nghiệp vụ và thu thập dữ liệu cho dự án dự đoán bệnh tiểu đường Quá trình khảo sát nghiệp vụ đã giúp xác định rõ đối tượng nghiệp vụ, mục tiêu của dự án và tình hình thực tế về bệnh tiểu đường Điều này giúp định hướng cho các bước tiếp theo trong quá trình phân tích và xây dựng mô hình.
- Bên cạnh đó, dữ liệu từ Kaggle đã được thu thập và mô tả chi tiết các thuộc tính quan trọng liên quan đến nguy cơ mắc bệnh tiểu đường, bao gồm số lần mang thai, mức đường huyết, huyết áp, chỉ số khối cơ thể (BMI), mức insulin, và các yếu tố khác Dữ liệu này sẽ là nền tảng để tiếp tục quá trình tiền xử lý, phân tích và xây dựng mô hình học máy trong các chương sau.
TIỀN XỬ LÝ DỮ LIỆU VÀ MÔ HÌNH HÓA
Tiền xử lý dữ liệu
2.1.1 Phân tích về dữ liệu
Mục tiêu là dự đoán chính xác khả năng mắc bệnh tiểu đường dựa trên dữ liệu sinh trắc học và các yếu tố y tế của từng cá nhân Dữ liệu bao gồm các chỉ số đo lường như mức glucose, huyết áp, chỉ số BMI, và các thông tin khác về sức khỏe.
Nguồn dữ liệu: Kaggle (Dataset )
Thu thập dữ liệu: Dữ liệu bao gồm thông tin y tế của các bệnh nhân, với 2768 bản ghi Dữ liệu có 9 đặc trưng và một nhãn kết quả dự đoán tiểu đường Các đặc trưng bao gồm: o Pregnancies: Số lần mang thai của bệnh nhân. o Glucose: Mức độ đường huyết (mg/dL). o BloodPressure: Huyết áp (mm Hg). o SkinThickness: Độ dày của nếp gấp da (mm). o Insulin: Mức insulin trong cơ thể (mU/L). o BMI: Chỉ số khối cơ thể (BMI). o DiabetesPedigreeFunction: Chỉ số dự đoán nguy cơ tiểu đường dựa trên yếu tố di truyền. o Age: Tuổi của bệnh nhân. o Outcome: Kết quả xét nghiệm tiểu đường (0: Không mắc, 1: Mắc).
Phân tích đặc trưng: o Pregnancies: Số lần mang thai có thể là yếu tố phản ánh nguy cơ mắc bệnh tiểu đường thai kỳ, hoặc ảnh hưởng đến hệ trao đổi chất, liên quan đến khả năng mắc bệnh tiểu đường. o Glucose: Mức glucose trong máu là một yếu tố quan trọng trong việc dự đoán nguy cơ mắc bệnh tiểu đường Mức glucose cao là dấu hiệu tiềm ẩn của bệnh. o BloodPressure: Huyết áp cao cũng có thể liên quan đến nguy cơ mắc bệnh tiểu đường, đặc biệt là ở các bệnh nhân có các yếu tố nguy cơ khác. o SkinThickness: Độ dày nếp gấp da là một phép đo gián tiếp liên quan đến lượng mỡ dưới da, và có thể giúp đánh giá mức độ béo phì, một yếu tố nguy cơ của bệnh tiểu đường. o Insulin: Mức độ insulin trong cơ thể là một chỉ số quan trọng cho thấy khả năng xử lý glucose của cơ thể Mức insulin bất thường có thể liên quan đến nguy cơ phát triển bệnh tiểu đường. o BMI: Chỉ số khối cơ thể cao có liên quan đến béo phì, một yếu tố nguy cơ chính dẫn đến tiểu đường, đặc biệt là tiểu đường tuýp 2. o DiabetesPedigreeFunction: Chỉ số này đánh giá khả năng di truyền mắc bệnh tiểu đường của bệnh nhân, dựa trên tiền sử gia đình. o Age: Tuổi càng cao thì nguy cơ mắc bệnh tiểu đường càng lớn, đặc biệt là đối với tiểu đường tuýp 2.
Sau khi thu thập dữ liệu tiến hành xác định các biến đầu vào (input), biến đầu ra (output), các tập kiểm thử, tập huấn luyện.
Tiến hành các bước tiền xử lý dữ liệu
- Thực hiện tìm các bản ghi có giá trị rỗng của từng đặc trưng và loại bỏ:
Không có giá trị rỗng cần loại bỏ
- Thực hiện tìm các bản ghi có giá trị không xác định của từng đặc trưng và tiến hành loại bỏ:
Không có giá trị không xác định cần loại bỏ
- Thực hiện kiểm tra bản ghi trùng lặp và loại bỏ:
Không có bản ghi trùng lặp cần loại bỏ.
- Thực hiện kiểm tra bản ghi bằng không của 1 số đặc trưng và loại bỏ:
Loại bỏ các bản ghi bằng không của các đặc trưng Glucose, BloodPressure, SkinThickness, Insulin, BMI Bởi trong các tập dữ liệu y tế, giá trị bằng không cho các đặc trưng như Glucose, BloodPressure, Insulin v.v thường không thực tế Ví dụ, không thể có giá trị Glucose là 0 ở người bình thường Những giá trị này thường xuất phát từ lỗi nhập liệu hoặc không đo được, và việc giữ lại chúng có thể gây sai lệch trong mô hình dự đoán.
- Kết quả sau khi thự hiện làm sạch dữ liệu thu được 1427 bản ghi và 9 cột:
- Để đảm bảo rằng các thuộc tính có giá trị khác nhau không làm ảnh hưởng đến mô hình, cần chuẩn hóa các giá trị về cùng một thang đo, ví dụ bằng cách dùng phương pháp Min-Max Scaling hoặc Standardization.
Lựa chọn mô hình hóa
Có nhiều thuật toán học máy có thể áp dụng cho bài toán dự đoán tiểu đường, bao gồm: a, Logistic Regression
Logistic Regression là một phương pháp phân loại nhị phân thường được sử dụng để dự đoán xác suất của một biến kết quả nhị phân (ở đây là Outcome, với hai giá trị 0 và 1).
Mặc dù tên gọi có từ "Regression", nhưng logistic regression thực chất là một mô hình phân loại, không phải hồi quy tuyến tính.
Mô hình logistic regression tính toán một hàm logistic hoặc sigmoid để chuyển đổi giá trị tuyến tính thành xác suất nằm trong khoảng từ 0 đến 1.
Nếu xác suất cao hơn ngưỡng 0.5, dự đoán sẽ là 1 (Mắc tiểu đường), nếu thấp hơn 0.5, dự đoán là 0 (Không mắc).
Dễ dàng giải thích và cài đặt.
Cho phép hiểu rõ ảnh hưởng của từng đặc trưng đến kết quả phân loại nhờ vào các hệ số của mô hình.
Không cần quá nhiều tài nguyên tính toán.
Hiệu suất có thể không tốt với dữ liệu phi tuyến tính phức tạp.
Dễ bị ảnh hưởng bởi đa cộng tuyến (multicollinearity) giữa các biến độc lập. b, Decision Tree
Decision Tree là một mô hình phân loại dựa trên cấu trúc cây, trong đó dữ liệu được phân chia theo các thuộc tính khác nhau để đưa ra quyết định.
Mỗi nút của cây đại diện cho một thuộc tính, và mỗi nhánh là một giá trị của thuộc tính đó Lá của cây là các kết quả dự đoán.
Mô hình này chia dữ liệu theo các thuộc tính sao cho mỗi nhánh tối ưu hóa một chỉ số như Information Gain hoặc
Gini Index, giúp giảm độ bất định hoặc hỗn loạn trong dữ liệu.
Quá trình phân chia tiếp tục đến khi tất cả các dữ liệu tại mỗi lá đều thuộc cùng một lớp hoặc đạt đến một ngưỡng xác định trước.
Dễ hiểu và trực quan hóa.
Không cần tiền xử lý dữ liệu phức tạp (không cần chuẩn hóa hoặc xử lý giá trị thiếu nhiều).
Khả năng xử lý dữ liệu phi tuyến tính và tương tác giữa các thuộc tính.
Dễ bị overfitting nếu cây quá sâu.
Hiệu suất có thể không cao với các tập dữ liệu phức tạp nếu không được điều chỉnh đúng cách. c, Random Forest
Random Forest là một mô hình học máy ensemble dựa trên nhiều cây quyết định (Decision Tree) để cải thiện độ chính xác và độ bền vững của mô hình.
Nó sử dụng kỹ thuật bagging, nơi mỗi cây được huấn luyện trên một mẫu ngẫu nhiên khác nhau của dữ liệu, và kết quả cuối cùng là sự tổng hợp các dự đoán từ các cây riêng lẻ.
Random Forest xây dựng nhiều cây quyết định và cho phép mỗi cây đưa ra một dự đoán.
Kết quả của mô hình là dự đoán trung bình (với hồi quy) hoặc số đông (với phân loại) từ các cây trong rừng.
Ngoài ra, mỗi cây chỉ sử dụng một tập con các thuộc tính để tránh hiện tượng cây quá khớp (overfitting).
Giảm thiểu nguy cơ overfitting so với cây quyết định đơn lẻ.
Hiệu suất tốt với nhiều loại dữ liệu, kể cả dữ liệu phi tuyến tính.
Tự động đánh giá tầm quan trọng của các thuộc tính trong dự đoán.
Tốn tài nguyên tính toán hơn so với mô hình đơn giản như Logistic Regression.
Ít trực quan hơn so với Decision Tree.
Có thể khó tối ưu hóa và điều chỉnh khi số lượng cây lớn. d, Support Vector Machine (SVM)
SVM là một thuật toán phân loại tìm ra một siêu phẳng (hyperplane) tối ưu để phân tách các lớp dữ liệu Mục tiêu là tối đa hóa khoảng cách (margin) giữa các điểm dữ liệu gần nhất của hai lớp (gọi là các điểm hỗ trợ).
SVM tìm kiếm một siêu phẳng trong không gian đặc trưng sao cho phân tách hai lớp dữ liệu một cách rõ ràng.
Trong trường hợp dữ liệu không tuyến tính, SVM có thể sử dụng các hàm kernel (ví dụ như Gaussian, Polynomial) để ánh xạ dữ liệu sang không gian có nhiều chiều hơn, nơi có thể tìm thấy siêu phẳng tuyến tính.
Hiệu suất cao với dữ liệu có cấu trúc phức tạp, đặc biệt là các bài toán có số lượng mẫu nhỏ và số chiều lớn.
Có thể hiệu quả với dữ liệu phi tuyến nhờ các hàm kernel.
Thích hợp với các bài toán phân loại nhị phân.
Khó trực quan hóa kết quả khi số chiều lớn.
Yêu cầu chi phí tính toán cao, đặc biệt với dữ liệu lớn.
Khó khăn trong việc chọn hàm kernel phù hợp và điều chỉnh các siêu tham số như C và gamma.
2.3.2 Đánh giá hiệu suất mô hình
- Ma trận nhầm lẫn (Confusion Matrix):
TP (True Positive): Bệnh nhân thực sự mắc tiểu đường và mô hình dự đoán chính xác.
TN (True Negative): Bệnh nhân thực sự không mắc tiểu đường và mô hình dự đoán chính xác.
FP (False Positive): Mô hình dự đoán bệnh nhân mắc tiểu đường nhưng thực tế không mắc.
FN (False Negative): Mô hình dự đoán bệnh nhân không mắc tiểu đường nhưng thực tế có mắc (rất quan trọng trong bài toán này).
- Các chỉ số đánh giá: o Accuracy: Tỷ lệ dự đoán đúng tổng thể Nhưng với bài toán có sự mất cân bằng dữ liệu (ví dụ số người mắc bệnh ít hơn so với người không mắc), chỉ số này có thể không đủ để đánh giá tốt.
TP + TN Accuracy TP + TN + FB + FN o Precision (Độ chính xác): Phản ánh mức độ chính xác của các dự đoán dương tính (bệnh nhân mắc tiểu đường) Precision cao giúp giảm các dự đoán dương tính giả (FP).
Precision TP + FP o Recall (Độ nhạy): Phản ánh khả năng phát hiện đúng các bệnh nhân mắc tiểu đường (đặc biệt quan trọng vì cần giảm thiểu âm tính giả).
Recall TP + FN o F1-Score: Điểm hài hòa giữa Precision và Recall, dùng để cân bằng giữa việc giảm FP và FN
- Âm tính giả (FN) : o Trong bài toán dự đoán tiểu đường, việc giảm âm tính giả là rất quan trọng vì những người thực sự mắc bệnh nhưng không được phát hiện sẽ không nhận được sự chăm sóc y tế kịp thời Do đó, một mô hình có Recall cao được ưu tiên hơn, vì Recall tập trung vào việc giảmFN.
Mô hình hóa
- Chia tập dữ liệu ban đầu thành train/test theo tỷ lệ 80/20:
80% dữ liệu sẽ dùng để huấn luyện (train).
20% dữ liệu sẽ dùng để kiểm tra hiệu suất mô hình (test).
- Chia tập huấn luyện (80% ban đầu) thành train/validation theo tỷ lệ 80/20:
80% của tập huấn luyện sẽ được dùng để đào tạo mô hình (training).
20% còn lại sẽ dùng để kiểm tra (validation) trong quá trình huấn luyện, giúp điều chỉnh mô hình và siêu tham số.
- Dữ liệu train từ tập huấn luyện sẽ được sử dụng để đào tạo mô hình Mô hình học cách dự đoán dựa trên các thuộc tính của dữ liệu.
- Quá trình này có thể bao gồm:
Logistic Regression: Tối ưu hàm mục tiêu để tìm ra các hệ số tốt nhất.
Decision Tree: Tạo ra các nút và nhánh để phân chia dữ liệu dựa trên các thuộc tính.
Random Forest: Kết hợp nhiều cây quyết định để cải thiện độ chính xác.
SVM: Tìm siêu phẳng phân tách tối ưu trong không gian đặc trưng.
- Dữ liệu validation (từ 20% tập huấn luyện) sẽ được dùng để đánh giá mô hình trong quá trình huấn luyện.
- Đây là bước kiểm tra trước khi áp dụng lên tập kiểm tra cuối cùng, giúp đánh giá:
Mô hình có bị overfitting hay underfitting không.
Hiệu suất sơ bộ của mô hình.
2.4.4 Tối ưu hóa mô hình
- Dựa trên kết quả từ tập validation, bạn có thể điều chỉnh các siêu tham số(hyperparameters) của từng thuật toán, ví dụ:
Logistic Regression: Điều chỉnh mức độ regularization (C).
Decision Tree: Điều chỉnh độ sâu tối đa của cây hoặc số lượng mẫu tối thiểu tại mỗi nút.
Random Forest: Số lượng cây (n_estimators), độ sâu của cây, và số thuộc tính tối đa tại mỗi nút.
SVM: Điều chỉnh các siêu tham số như C (penalty) và kernel (nhân hàm).
2.4.5 Kiểm tra mô hình test
- Sau khi tối ưu hóa, mô hình sẽ được đánh giá trên tập test (20% dữ liệu đã tách ban đầu) để xác định độ chính xác và hiệu suất thực sự của nó.
- Các chỉ số đánh giá bao gồm: Accuracy, Precision, Recall, F1-score, và ma trận nhầm lẫn (Confusion Matrix) như đã đề cập trước đó.
2.4.6 Đánh giá và so sánh các mô hình a, Logistic Regression:
- Đối với tập kiểm tra nội bộ (Validation) :
Confusion Matrix: o True Positives (TP): 41 o True Negatives (TN): 134 o False Positives (FP): 16 o False Negatives (FN): 38
Độ chính xác giữa tập huấn luyện và tập kiểm tra gần bằng nhau, cho thấy mô hình không bị overfitting.
Tuy nhiên, Recall thấp (51.89%), điều này cho thấy khả năng nhận diện các trường hợp dương tính (những người mắc bệnh tiểu đường) chưa tốt, có nhiều trường hợp mắc bệnh không được phát hiện (False Negatives cao).
Precision cao hơn, cho thấy mô hình khá tốt trong việc dự đoán các trường hợp dương tính nhưng chưa đủ mạnh để nhận diện tất cả.
- Tập kiểm tra thực tế ( tập test được tách riêng ban đầu) :
Confusion Matrix: o True Positives (TP): 49 o True Negatives (TN): 181 o False Positives (FP): 21 o False Negatives (FN): 35
Kết quả trên tập test riêng cho thấy Accuracy cao hơn so với tập validation (80% so với 76.41%).
Recall đã cải thiện (58%) nhưng vẫn chưa đủ cao, nghĩa là vẫn còn nhiều trường hợp mắc tiểu đường không được dự đoán đúng (False Negatives khá cao).
Precision giảm một chút so với tập validation nhưng vẫn ổn định ở mức 70%.
F1-Score cũng được cải thiện (64%), nhưng nó vẫn phản ánh sự cân bằng giữa precision và recall chưa hoàn toàn tốt.
- Kết luận: o Mô hình Logistic Regression có độ chính xác tương đối ổn định qua cả tập validation và tập test độc lập. o Tuy nhiên, Recall là một vấn đề cần cải thiện, đặc biệt trong bối cảnh bệnh tiểu đường, việc phát hiện nhầm trường hợp không mắc bệnh (âm tính giả) là quan trọng Một giải pháp có thể là tối ưu hóa thêm mô hình hoặc thử điều chỉnh ngưỡng dự đoán (threshold) để cải thiện khả năng phát hiện bệnh. b, Decision Tree
- Đối với tập kiểm tra nội bộ (Validation): o Train Accuracy: 0.9594 (95.94%) o Test Accuracy: 0.9476 (94.76%) o Confusion Matrix:
False Negatives (FN): 7 o Precision: 0.9351 (93.51%) o Recall: 0.9114 (91.14%) o F1-Score: 0.9231 (92.31%)
Nhận xét: o Độ chính xác giữa tập huấn luyện và tập kiểm tra khá cao, với chỉ số trên 94% Tuy nhiên, độ chính xác cao trên tập huấn luyện (95.94%) so với tập kiểm tra (94.76%) cho thấy mô hình không bị overfitting. o Recall khá tốt ở mức 91.14%, thể hiện khả năng nhận diện các trường hợp dương tính (những người mắc bệnh) của mô hình tốt hơn so với Logistic Regression Mô hình chỉ bỏ sót 7 trường hợp mắc bệnh. o Precision cũng cao (93.51%), nghĩa là mô hình khá chắc chắn khi dự đoán các trường hợp dương tính, với ít trường hợp dương tính giả (FP thấp).
- Đối với tập kiểm tra thực tế (tập test được tách riêng ban đầu): o Accuracy: 0.93 (93%) o Precision: 0.89 (89%) o Recall: 0.86 (86%) o F1-Score: 0.87 (87%) o Confusion Matrix:
Độ chính xác trên tập kiểm tra thực tế là 93%, giảm nhẹ so với tập kiểm tra nội bộ nhưng vẫn ở mức cao Điều này cho thấy mô hình không quá overfitting và vẫn có khả năng tổng quát tốt khi áp dụng vào dữ liệu thực tế.
Recall trong tập kiểm tra thực tế là 86%, giảm nhẹ so với tập validation(91.14%), điều này cho thấy mô hình có thể đã bỏ sót một số trường hợp mắc bệnh trong tập dữ liệu thực tế (FN = 12).
Precision cũng giảm nhẹ so với tập validation (89% so với 93.51%), nhưng vẫn ở mức khá ổn định, thể hiện mô hình vẫn giữ được độ chính xác trong dự đoán các trường hợp dương tính.
F1-Score cũng giảm nhẹ (87% so với 92.31%) nhưng vẫn cho thấy mô hình duy trì được sự cân bằng tốt giữa độ chính xác và độ nhạy.
Mô hình Decision Tree có độ chính xác cao và ổn định qua cả tập validation và tập kiểm tra thực tế Với độ chính xác và F1-Score tốt, mô hình này có khả năng nhận diện tốt các trường hợp mắc bệnh tiểu đường.
Tuy nhiên, vẫn có một số trường hợp bỏ sót (False Negatives), làm giảm nhẹ chỉ số recall khi áp dụng vào dữ liệu thực tế Việc này có thể được cải thiện thông qua điều chỉnh ngưỡng dự đoán hoặc tinh chỉnh thêm mô hình.
So với Logistic Regression, Decision Tree có hiệu suất tổng thể tốt hơn, đặc biệt là ở khả năng phát hiện các trường hợp mắc bệnh (recall cao hơn) và dự đoán chính xác các trường hợp dương tính Tuy nhiên, cần cân nhắc vấn đề overfitting tiềm ẩn và điều chỉnh để đảm bảo mô hình tổng quát hóa tốt hơn khi áp dụng vào các bộ dữ liệu khác. c, Random forest
- Đối với tập kiểm tra nội bộ (Validation):
Confusion Matrix: o True Positives (TP): 70 o True Negatives (TN): 145 o False Positives (FP): 5 o False Negatives (FN): 9
Độ chính xác giữa tập huấn luyện và tập kiểm tra khá cao, với chỉ số trên 93%. Tuy nhiên, độ chính xác cao hơn trên tập huấn luyện (97.48%) so với tập kiểm tra (93.89%) cho thấy mô hình có khả năng overfitting nhẹ, nhưng vẫn trong mức chấp nhận được.
Recall đạt mức 88.61%, cho thấy khả năng phát hiện các trường hợp dương tính (người mắc bệnh) khá tốt, nhưng vẫn bỏ sót 9 trường hợp.
Precision cao (93.33%), nghĩa là mô hình khá chắc chắn khi dự đoán các trường hợp dương tính, với ít trường hợp dương tính giả (FP thấp). Đối với tập kiểm tra thực tế (tách riêng từ đầu):
Confusion Matrix: o True Positives (TP): 73 o True Negatives (TN): 196 o False Positives (FP): 6 o False Negatives (FN): 11
Độ chính xác trên tập kiểm tra thực tế đạt 94%, tăng nhẹ so với tập kiểm tra nội bộ, cho thấy mô hình có khả năng tổng quát tốt và không bị overfitting.
Recall trong tập kiểm tra thực tế là 87%, giảm nhẹ so với tập validation (88.61%) Điều này cho thấy mô hình vẫn bỏ sót một số trường hợp mắc bệnh trong tập dữ liệu thực tế (FN = 11).
Kết chương
- Trong chương 2 đã thực hiện các bước tiền xử lý dữ liệu và mô hình hóa bài toán dự đoán tiểu đường Dữ liệu được làm sạch qua việc loại bỏ các bản ghi có giá trị không hợp lệ và chuẩn hóa nhằm đảm bảo tính nhất quán và hiệu quả cho quá trình huấn luyện mô hình.
- Quá trình tiền xử lý tập trung vào việc xác định và xử lý những giá trị không hợp lý, đồng thời chuẩn hóa dữ liệu nhằm giúp các mô hình học máy hoạt động ổn định hơn Sau đó, tôi đã chọn lọc và áp dụng các thuật toán học máy tiêu biểu như Logistic Regression, Decision Tree, Random Forest và Support Vector Machine (SVM) để dự đoán kết quả mắc tiểu đường.
- Cuối cùng, việc đánh giá các mô hình thông qua các chỉ số như Accuracy,Precision, Recall và F1-score đã giúp tôi xác định hiệu suất và khả năng tổng quát của từng mô hình Dựa vào kết quả đánh giá, mô hình DecisionTree và Random Forest thể hiện độ chính xác và khả năng phát hiện bệnh tiểu đường cao hơn so với Logistic Regression và SVM, tuy nhiên cần chú trọng vào việc tối ưu hóa thêm để cải thiện Recall nhằm giảm thiểu các trường hợp âm tính giả.
- Nhìn chung, chương này đã hoàn thành các mục tiêu tiền xử lý dữ liệu và đánh giá hiệu quả sơ bộ của các mô hình, mở ra hướng tiếp theo trong việc tối ưu hóa và triển khai mô hình dự đoán tiểu đường với độ chính xác và hiệu quả cao hơn.
ĐÁNH GIÁ MÔ HÌNH VÀ TRIỂN KHAI ỨNG DỤNG
Đánh giá mô hình
3.1.1 Phân tích hiệu suất mô hình
- Phân tích hiệu suất mô hình:
Sau khi đã thực hiện đánh giá các mô hình ở chương 2, mô hình Random Forest đã được xác định là lựa chọn tốt nhất với độ chính xác cao nhất (94%) và F1-Score (90%) Đánh giá sâu hơn:
Tính chính xác: Độ chính xác cao của Random Forest cho thấy mô hình có khả năng phân loại chính xác các trường hợp mắc bệnh tiểu đường.
Tính chính xác và khả năng phát hiện: Mặc dù Precision và Recall của mô hình còn có thể cải thiện, nhưng tỷ lệ False Negatives thấp cho thấy mô hình không bỏ sót nhiều trường hợp mắc bệnh.
Khả năng tổng quát: Mô hình duy trì hiệu suất tốt qua các tập dữ liệu khác nhau, từ tập huấn luyện đến tập kiểm tra thực tế.
Confusion Matrix: Cung cấp thông tin chi tiết về các dự đoán sai và đúng Số lượng True Positives cao cho thấy mô hình đã phát hiện được nhiều trường hợp dương tính.
3.1.3 So sánh với mô hình khác
- Decision Tree: Mặc dù độ chính xác cao, nhưng có dấu hiệu overfitting. Random Forest vượt trội hơn trong khả năng tổng quát và ổn định.
- Logistic Regression và SVM: Cả hai mô hình đều có độ chính xác và Recall thấp hơn so với Random Forest và Decision Tree, không phù hợp cho bài toán phát hiện bệnh tiểu đường.
Công cụ phát triển
- Visual Studio Code (VS Code): Là một trình soạn thảo mã nguồn mạnh mẽ với giao diện thân thiện và nhiều tính năng hỗ trợ phát triển VS Code cho phép tích hợp các tiện ích mở rộng và hỗ trợ gỡ lỗi, giúp lập trình viên làm
- Ngôn ngữ Python: Python là ngôn ngữ lập trình phổ biến cho khoa học dữ liệu và học máy Với cú pháp đơn giản và một loạt thư viện phong phú như Scikit- learn, Pandas, và NumPy, Python cho phép triển khai các mô hình học máy một cách nhanh chóng và hiệu quả.
Phát triển ứng dụng
3.3.1 Thiết kế giao diện người dùng
- Giao diện thân thiện: Ứng dụng sẽ có giao diện dễ sử dụng với các biểu mẫu nhập liệu rõ ràng cho người dùng.
- Thông báo kết quả: Hiển thị kết quả dự đoán một cách trực quan.
- Triển khai mô hình Random Forest: Sử dụng một API (như Flask hoặc FastAPI) để tích hợp mô hình vào ứng dụng, cho phép người dùng gửi dữ liệu và nhận kết quả dự đoán.
- Khả năng mở rộng: Ứng dụng sẽ được thiết kế để dễ dàng mở rộng, cho phép thêm các mô hình khác trong tương lai nếu cần thiết Điều này có thể được thực hiện bằng cách thay thế mô hình hiện tại bằng mô hình khác mà không cần thay đổi cấu trúc tổng thể của ứng dụng.
3.3.3 Bảo mật và cập nhật
- Theo dõi hiệu suất mô hình: Thiết lập các công cụ theo dõi để đánh giá hiệu suất mô hình theo thời gian và thực hiện cập nhật khi cần thiết.
- Hỗ trợ người dùng: Cung cấp tài liệu hướng dẫn và hỗ trợ người dùng trong việc sử dụng ứng dụng.