Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 45 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
45
Dung lượng
4,46 MB
Nội dung
lOMoARcPSD|18034504 BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC KINH TẾ TP HỒ CHÍ MINH TRƯỜNG CƠNG NGHỆ VÀ THIẾT KẾ ĐỒ ÁN MƠN HỌC ĐỀ TÀI: PHÂN TÍCH DỮ LIỆU VỀ YẾU TỐ DẪN ĐẾN BỆNH TIM DỰA TRÊN BỘ DỮ LIỆU HEART DISEASE BẰNG PHẦN MỀM ORANGE Học phần: Khoa Học Dữ Liệu Nhóm Sinh Viên: NGUYỄN QUANG HUY NGUYỄN HOÀNG THẢO LY Chuyên Ngành: KINH TẾ ỨNG DỤNG Khóa: K47 Giảng Viên: TS Đặng Ngọc Hồng Thành TP Hồ Chí Minh, Ngày xx tháng xx năm 2022 lOMoARcPSD|18034504 MỤC LỤC MỤC LỤC CHƯƠNG TỔNG QUAN 1.1 Tổng Quan Về Bài Toán Phân Lớp Dữ Liệu 1.2 Giới Thiệu Về Python Phần Mềm Orange 1.3 Lý Do Chọn Lựa Đề Tài CHƯƠNG CÁC MƠ HÌNH PHÂN LỚP DỮ LIỆU 2.1 Các Mơ Hình Phân Lớp Dữ Liệu 2.1.1 Mơ Hình Logistic Regression 2.1.2 Mơ Hình Decision Tree 2.1.3 Mô Hình Support Vector Machine 2.1.4 Mơ Hình Neural Network 2.2 Quy Trình Phân Lớp Dữ Liệu 2.2.1.Phân Chia Dữ Liệu 2.2.2 Phân Lớp Dữ Liệu 2.2.3 Đánh Giá Tính Hiệu Quả CHƯƠNG CÁC KẾT QUẢ THỰC NGHIỆM 3.1 Bộ Dữ Liệu 3.2 Các Kết Quả Thực Nghiệm 3.3 Phân Tích Đánh Giá CHƯƠNG KẾT LUẬN 10 4.1 Các Kết Quả Đạt Được 10 4.2 Những Hạn Chế Hướng Phát Triển 10 TÀI LIỆU THAM KHẢO 11 lOMoARcPSD|18034504 CHƯƠNG TỔNG QUAN 1.1 Tổng Quan Về Bài Toán Phân Lớp Dữ Liệu 1.1.1 Định nghĩa phân lớp liệu Là trình phân đối tượng liệu vào hay nhiều lớp (loại) cho trước nhờ mơ hình phân lớp Mơ hình xây dựng dữa tập liệu gán nhãn trước (thuộc lớp nào) Quá trình gán nhãn (thuộc lớp nào) cho đối tượng liệu q trình phân lớp liệu 1.1.2 Quá trình phân lớp liệu Dữ liệu huấn luyện Dữ liệu kiểm thử Thuật toán phân lớp Kết phân lớp dùng để đánh giá mơ hình Mơ hình phân lớp Kết phân lớp thực tế Dữ liệu Bước 1: Xây dựng mơ hình phân lớp (hay gọi giai đoạn “học” “huấn luyện”) - Dữ liệu đầu vào: liệu mẫu gán nhãn tiền xử lý - Các thuật toán phân lớp: định, hàm số toán học, tập luật,… - Kết bước mơ hình phân lớp huấn luyện (trình phân lớp) Bước 2: Sử dụng mơ hình chia thành bước nhỏ: - Bước 2.1: Đánh giá mơ hình (kiểm tra tính đắn mơ hình) lOMoARcPSD|18034504 o Dữ liệu đầu vào: tập liệu mẫu khác gán nhãn tiền xử lý Tuy nhiên lúc đưa vào mơ hình phân lớp, ta “lờ” thuộc tính gán nhãn o Tính đắn mơ hình xác định cách so sánh thuộc tính gán nhãn liệu đầu vào kết phân lớp mơ hình - Bước 2.2: Phân lớp liệu o Dữ liệu đầu vào: liệu “khuyết” thuộc tính cần dự đốn lớp (nhãn) o Mơ hình tự động phân lớp (gán nhãn) cho đối tượng liệu dựa vào huấn luyện bước 1.1.3 Phân loại toán phân lớp Nhiệm vụ toán phân lớp phân đối tượng liệu vào n lớp cho trước Nếu: - n = 2: Phân lớp nhị phân - n > 2: Phân lớp đa lớp - Mỗi đối tượng liệu thuộc vào lớp nhất: Phân lớp đơn nhãn - Mỗi đối tượng liệu lúc thuộc nhiều lớp khác nhau: Phân lớp đa nhãn 1.1.4 Các ứng dụng phân lớp liệu kinh tế - Tài ngân hàng o Dự báo giá chứng khốn o Xếp hạng tín dụng cá nhân tổ chức o Đánh giá rủi ro tài - Sales & marketing o Dự bào doanh thu o Dự báo khách hàng trung thành - Kinh tế học o Dự báo khủng hoảng kinh tế o Dự bào cung cầu 1.2 Giới Thiệu Về Python Phần Mềm Orange 1.2.1 Giới thiệu Python Python ngôn ngữ lập trình thơng dịch (interpreted), hướng đối tượng (object-oriented) ngôn ngữ bậc cao (high-level), ngữ nghĩa động (dynamic semantics) Python hỗ trợ module gói (packages), khuyến khích chương trình module hóa tái sử dụng mã Trình lOMoARcPSD|18034504 thơng dịch Python thư viện chuẩn mở rộng có sẵn dạng mã nguồn dạng nhị phân miễn phí cho tất tảng phân phối tự Đặc điểm Python: - Ngữ pháp đơn giản, dễ đọc - Vừa hướng thủ tục (procedual-oriented), vừa hướng đối tượng (object-oriented) - Hỗ trợ module hỗ trợ gói (package) - Xử lý lỗi ngoại lệ (Exception) - Kiểu liệu động mức cao - Có thư viện chuẩn module ngoài, đáp ứng tất nhu cầu lập trình - Có khả tương tác với module khác viết C/C++ (hoặc Java cho Jython, Net cho IronPython) - Có thể nhúng vào ứng dụng giao tiếp kịch (scripting interface) 1.2.2 Phần mềm Orange Khai phá liệu (Data mining) học máy (Machine Learning) lĩnh vực khó để khám phá nghiên cứu Do đó, nhiều phần mềm đời với mục tiêu giúp cho người dùng dễ dàng nghiên cứu tốn lĩnh vực khó nhằn Một phần mềm kể đến Orange Phần mềm Orange công cụ trực quan hóa phân tích liệu nguồn mở, lập trình Python với giao diện trực quan tương tác dễ dàng Cơng cụ có thành phần dành cho học máy, tiện ích bổ sung cho tin sinh học khai thác văn đóng gói với tính để phân tích liệu Orange thư viện Python Các tập lệnh Python chạy cửa sổ đầu cuối, mơi trường tích hợp PyCharm PythonWin trình báo Python Với nhiều chức năng, phần mềm phân tích liệu từ đơn giản đến phức tạp; tạo đồ họa đẹp mắt thú vị; giúp việc khai thác liệu học máy trở nên dễ dàng cho người dùng chuyên gia Orange bao gồm giao diện canvas mà người dùng đặt widget tạo quy trình phân tích liệu Các widget cung cấp chức đọc liệu, hiển thị bảng liệu, chọn tính năng, đào tạo dự đốn, so sánh thuật tốn học tập, trực quan hóa phần tử liệu,… Người dùng tương tác khám phá hình ảnh trực quan đưa tập hợp chọn vào widget khác: Data: dùng để rút trích, biến đổi nạp liệu (ETL process) lOMoARcPSD|18034504 Visualize: dùng để biểu diễn biểu đồ (chart) giúp quan sát liệu tốt Model: gồm hàm machine learning phân lớp liệu, có Neural Network gồm hyper – parameter để xây dựng nhanh Deep learning lOMoARcPSD|18034504 Evaluate: phương pháp đánh giá mơ hình máy học Unsupervised: gồm hàm machine learning gom nhóm liệu lOMoARcPSD|18034504 1.3 Lý Do Chọn Lựa Đề Tài Hiện nay, bệnh tim vấn đề sức khoẻ cộng đồng chủ yếu, với tỷ lệ mắc bệnh tử vong cao, với gia tăng gánh nặng chi phí điều trị Bệnh tim mạch xảy ai, khơng phân biệt giới tính, nghề nghiệp lối dống Do bệnh chữa khỏi nên người bệnh cần phải điều trị theo dõi cẩn thận, chí suốt đời Tại Châu Âu, tần suất suy tim có triệu chứng ước tính khonagr 0,4 – 2,0% Tại Châu Á, theo ước tính Nhật Bản, số bệnh nhân suy tim tăng 90.000 tỏng năm đạt 1,3 triệu vào năm 2023 Có nhiều yếu tố liên quan đến bệnh tim nhóm em lựa chọn sử dụng liệu yếu tố liên quan dẫn tới mắc bênh tim độ tuổi khác để phân tích đưa giải pháp phù hợp để hạn chế vấn đề lOMoARcPSD|18034504 CHƯƠNG CÁC MƠ HÌNH PHÂN LỚP DỮ LIỆU 2.1 Các Mơ Hình Phân Lớp Dữ Liệu 2.1.1 Mơ Hình Logistic Regression Định nghĩa: Là mơ hình xác suất dự đoán giá trị đầu rời rạc (discrete target variable) từ tập giá trị đầu vào (được thể dạng vector) Việc tương đương với việc phân loại đầu vào vào nhóm tương ứng Mơ tả: Đối với tốn phân lớp: Tập nhãn Một đối tượng liệu Hàm logistic dự đoán đối tượng xem đối tượng x sở hữu thuộc tính cụ thể thuộc vào lớp y x0 w0 x1 w1 x2 xd w2 wd z a Mơ hình phân lớp nhị phân sử dụng phương pháp hồi quy logistic lOMoARcPSD|18034504 Chúng ta biểu diễn cơng thức phương pháp hồi quy Logistic sau: = Trong đó: d số lượng đặc trưng (thuộc tính) liệu, w trọng số, ban đầu khởi tạo ngẫu nhiên, sau điều chỉnh lại cho phù hợp Chúng ta biểu diễn hiệu ứng Logistic Regression với mục đích ước lượng dự báo, bị giới hạn phạm vi từ đến Điều lý giải hiệu ứng biến cho kết vượt q vấn đề Hoặc xác suất âm hay tức nhỏ 0, diễn giải theo hệ số hồi quy Logistic vơ nghĩa 2.1.2 Mơ Hình Decision Tree Định nghĩa: Cây định hệ thống phân cấp có cấu trúc dùng để phân lớp đối tượng dựa vào dãy luật Các thuộc tính đối tượng thuộc vào nhiều kiểu liệu khác (Binary, Nominal, Ordinal, Quantitative,…) thuộc tính phân lớp phải có kiểu liệu Binary Ordinal Từ liệu đối tượng sẵn có, phương pháp định giúp mô tả, phân loại, tổng quan liệu cho trước Cụ thể hơn, định đưa dự đoán cho đối tượng Ưu – Nhược điểm: Ưu điểm: - Dễ hiểu - Khơng địi hỏi việc chuẩn hóa liệu - Có thể xử lý nhiều kiểu liệu khác - Xử lý tốt lượng liệu lớn thời gian ngắn Nhược điểm: - Khó giải tình liệu phụ thuộc thời gian - Chi phí xây dựng mơ hình cao Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 - Test and score: Sử dụng phương pháp K-fold Cross Validation với k=5 Dựa số AUC (tính xác), Precision (độ xác), Recall (độ phủ) F1 score (giá trị trung bình điều hồ – Harmonic mean) hai độ đo Precision Recall, ta thấy mơ hình Neural Network có số liệu đô tốt so với mô hình cịn lại 30 Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 - Đường cong ROC: Đường cong tạo cách biểu diễn tỷ lệ dự báo true positive rate (TPR) dựa tỷ lệ dự báo false positive rate (FPR) ngưỡng khác Quan sát đường ta thấy đường cong ROC mô hình Decision Tree có FPR tương đối thấp TPR tương đối cao Bên cạnh diện tích vùng nằm đường cong ROC mơ hình Neural network lớn nhất, biểu thị mơ hình tốt - Sử dụng Confusion Matrix để xem xét đánh giá độ nhầm lẫn mơ hình để đưa mơ hình tốt để phân tích liệu 31 Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 Mơ hình Logistic Regresion: - Mức độ nhầm lẫn dự đoán người bị mắc bệnh thành người không bị mắc bệnh 11,0% - Mức độ nhầm lẫn dự đoán người không bị mắc bệnh thành người bị mắc bệnh 15,3% Mơ hình Decision Tree: 32 Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 - Mức độ nhầm lẫn dự đốn người bị mắc bệnh thành người khơng bị mắc bệnh 10,2% - Mức độ nhầm lẫn dự đốn người khơng bị mắc bệnh thành người bị mắc bệnh 7,0% Mơ hình SVM: 33 Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 - Mức độ nhầm lẫn dự đoán người bị mắc bệnh thành người không bị mắc bệnh 7,7% - Mức độ nhầm lẫn dự đốn người khơng bị mắc bệnh thành người bị mắc bệnh 9,5% Mơ hình Neural Network: - Mức độ nhầm lẫn dự đoán người bị mắc bệnh thành người không bị mắc bệnh 5,8% - Mức độ nhầm lẫn dự đoán người không bị mắc bệnh thành người bị mắc bệnh 7,5% Dựa kết thu thập ta thấy mơ hình Neural Network có độ nhầm lẫn Thơng qua việc xem xét đánh giá số kiểm định ta thấy mơ hình Neural Network có số kiểm định tốt nên lựa chọn phù hợp 34 Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 CHƯƠNG CÁC KẾT QUẢ THỰC NGHIỆM 3.1 Bộ Dữ Liệu 3.1.1 Mô tả bao quát liệu Bộ liệu Heart Disease thu thập từ năm 1988 bao gồm liệu nước: Cleverland, Hungary, Switzerland, Long Beach Bộ liệu bao gồm 1026 mẫu có 1000 mẫu sử dụng nghiên cứu với biến định lượng age, resting blood pressure, serum cholestoral, maximum heart rate achieved, oldpeak biến định tính là: sex, chest pain type, fasting blood sugar, resting electrocardiographic results, exercise induced angina, the slope of the peak exercise ST segment, number of major vessels, thal STT Age Sex 10 11 12 Bảng thuộc tính: Thuộc tính Ý nghĩa Độ tuổi Giới tính Đo lường Numberic Categorical Chest pain type (cp) Resting blood pressure (trestbps) Serum cholestoral (chol) Fasting blood sugar (fbs) Loại đau ngực Huyết áp lúc nghỉ ngơi Numberic Numberic Cholesterol Đường huyết lúc đói Numberic Categorical Resting electrocardiographic results (restecg) Maximum heart rate achieved (thalach) Exercise induced angina (exang) Kết điện tầm đồ nghỉ ngơi Numberic Nhịp tim tối đa Numberic Đau thắt ngực tập thể dục Categorical ST depression induced by exercise relative to rest (Oldpeak) The slope of the peak exercise ST segment (slope) Number of major vessels Suy giảm đoạn ST tập thể dục Numberic Độ dốc đoạn ST tâp thể dục Số lượng mạch Numberic Numberic Mơ tả Age in years = male = female values in mm Hg In mg/ml Fasting Blood Sugar > 120 mg/dl = True = False Values 0,1,2 = Yes = No Number of Major Vessels 35 Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 (ca) 13 A blood disorder called Thalassemia (Thal) Bệnh rối loạn máu tên Thalassemia Categorical 14 Target Kết Categorical (0-3) Colored by Flourosopy = normal = fixed defect = resersable defect = no disease = disease Mục tiêu: nhóm phải phân lớp yếu tố ảnh hưởng tới bệnh tim độ tuổi, từ tìm giải pháp để hạn chế yếu tố dẫn tới bệnh tim Biểu đồ Histogram biến mơ hình 36 Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 Bảng liệu hoàn chỉnh 3.1.2 Tiền xử lý liệu Trong nghiên cứu để có kết phân tích tốt nhất, nhóm sử dụng công cụ tiền xử lý liệu Tiền xử lý liệu kỹ thuật sử dụng để chuyển đổi liệu thô thành tập liệu Nói cách khác, liệu thu thập từ nguồn khác nhau, thu thập định dạng thô không khả thi cho việc phân tích Các bước làm liệu: - Tóm tắt hố liệu - Xử lý liệu bị thiếu (missing data) - Xử lý liệu bị nhiễu (noisy data) o Xây dựng mơ hình xử lý liệu Preprocess: 37 Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 Kết thu được: Sau xử lý liệu liệu giữ số lượng mẫu ban đầu 1000 Điều cho ta thấy, khơng có liệu bị thiếu Từ đó, ta lưu lại liệu sau xử lý tiến hành chạy phân tích kết nghiên cứu 3.2 Các Kết Quả Thực Nghiệm - Sử dụng mô hình Neural Network để phân lớp liệu dự đốn số lượng người mắc bệnh không mắc bệnh 38 Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 - Xây dựng mô hình: - Bảng confusion Matrix: - Kết dự báo mơ hình: 39 Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 3.3 Phân Tích Đánh Giá - Mức độ phù hợp: o So với mơ hình khác mơ hình Neural Network có số AUC, Recall, Precision cao o Mức phù hợp mơ hình Neural Network có đường tiệm cận khoảng (0;1), có mức nhầm lẫn nhất, TPR cao so với FPR diện tích đường ROC lớn - So sánh kết dự đoán số người mắc bệnh số người không mắc bệnh với liệu thực liệu o Dữ liệu thực: 40 Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 41 Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 o Dữ liệu dự đoán: - Qua so sánh ta thấy mức độ xác dự đốn cao, có vài dự đốn nhầm lẫn - Thơng qua số kiểm định ý nghĩa rủi ro thực tiễn qua Confusion Matrix, ta đánh giá sử dụng mơ hình Neural Network hiệu với mức độ kiểm định cao độ nhầm lẫn dự đoán thấp so với liệu thực - Qua cột số error cho ta thấy mức độ xác mẫu phân lớp mơ hình Neural Network Mơ hình phân lớp cho cột error thấp so với mơ hình khác nên phân lớp sử dụng mơ hình Neural network hợp lí Bởi cột error thấp nên dự đốn kết có sai sót cơng việc này, từ sử dụng để tìm biện pháp khắc phục hạn chế số người bị bệnh tim CHƯƠNG KẾT LUẬN 4.1 Các Kết Quả Đạt Được Sau triển khai phân tích phân loại khác sử dụng với kết hợp với kỹ thuật khai thác liệu khác đánh giá kết nghiên cứu ta thấy hiểu mơ hình dự đốn số yếu tố ảnh hưởng tới bệnh tim mạch, hỗ trợ cho ngành y việc dự đoán số lượng bệnh nhân mắc bệnh 42 Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 khơng bị mắc bệnh Từ đó, thực nghiên cứu sâu số lượng người mắc bệnh tim để đưa biện pháp phù hợp việc giảm thiểu số lượng người bị mắc bệnh Do mang tính chất dự đốn, dự báo nên sử dụng mơ hình muốn khai qt số lượng mắc bệnh tim thuộc tính khác cần trước có số liệu khảo sát cụ thể Mục tiêu nhóm cung cấp kỹ thuật khai thác liệu sử dụng tự động hệ thống dự đoán bệnh tim Các kỹ thuật liệu khác nhau, phân loại khai thác xác định công việc xuất năm gần bệnh tim hiệu chẩn đốn Phân tích cho thấy mơ hình Neural Network với 14 thuộc tích có độ xác cao việc nghiên cứu dự đoán 4.2 Những Hạn Chế Hướng Phát Triển 4.2.1 Hạn chế Một hạn chế lớn công việc tập trung chủ yếu vào việc áp dụng kĩ thuật phân loại để dự đốn bệnh tim, thay nghiên cứu kĩ thuật làm liệu khác để chuẩn bị tạo tập liệu phù hợp Theo quan sát cho thấy tập liệu cho độ xác phân loại cao hơn, tốt so với tập liệu không với giá trị bị thiếu Việc lựa chọn kĩ thuật làm liệu với thuật tốn phân loại thích hợp dẫn đến phát triển hệ thống dự đoán mang lại độ xác nâng cao Bài dự án nhóm cố gắng đạt mục tiêu kinh nghiệm nghiên cứu chưa có nhiều vốn kiến thức cịn hạn chế nên khơng thể tránh sai sót cách trình bày, cách phân tích liệu cách sử dụng ngôn từ thiếu chuyên nghiệp 4.2.2 Hướng phát triển Từ nghiên cứu nhóm phát triển việc trau đồi thêm kiến thức để phân tích rõ ràng liệu khác Trong tương lai, nhóm tìm liệu có ý nghĩa mặt thực tiễn nhiều để phân tích giúp 43 Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 ích cho đời sống kinh tế xã hội Nhóm học cách trình bày dự án logic khoa học TÀI LIỆU THAM KHẢO Các giảng LMS https://www.educba.com/orange-data-mining/ https://orangedatamining.com/ https://en.wikipedia.org/wiki/Orange_(software) https://www.predictiveanalyticstoday.com/orange-data-mining/ https://www.predictiveanalyticstoday.com/orange-data-mining/ Hazra, A., Mandal, S K., Gupta, A., & Mukherjee, A (2017) Heart Disease Diagnosis and Prediction Using Machine Learning and Data Mining Techniques: A Review Advances in Computational Sciences and Technology Amanda H Gonsalves, Fadi Thabtah, Rami Mustafa A Mohammad, Gurpreet Singh, Prediction of Coronary Heart disease using Machine Learning: an experimental analysis AH Chen, SY Huang, PS Hong, CH Cheng, and EJ Lin,2011, “HDPS: Heart disease Prediction Systerm, computing in Cardiology 44 Downloaded by vu ga (vuchinhhp2@gmail.com) ... Quan Về Bài Toán Phân Lớp Dữ Liệu 1.2 Giới Thiệu Về Python Phần Mềm Orange 1.3 Lý Do Chọn Lựa Đề Tài CHƯƠNG CÁC MƠ HÌNH PHÂN LỚP DỮ LIỆU 2.1 Các Mơ Hình Phân Lớp Dữ. .. nào) Q trình gán nhãn (thuộc lớp nào) cho đối tượng liệu q trình phân lớp liệu 1.1.2 Q trình phân lớp liệu Dữ liệu huấn luyện Dữ liệu kiểm thử Thuật toán phân lớp Kết phân lớp dùng để đánh giá mơ... Tổng Quan Về Bài Toán Phân Lớp Dữ Liệu 1.1.1 Định nghĩa phân lớp liệu Là trình phân đối tượng liệu vào hay nhiều lớp (loại) cho trước nhờ mơ hình phân lớp Mơ hình xây dựng dữa tập liệu gán nhãn