(Luận văn) kết hợp pca và kmeans với hồi quy logistic trong ứng dụng tiên lượng bệnh tiểu đường

88 0 0
(Luận văn) kết hợp pca và kmeans với hồi quy logistic trong ứng dụng tiên lượng bệnh tiểu đường

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC QUY NHƠN LÊ THỊ DƯ a lu n KẾT HỢP PCA VÀ KMEANS VỚI HỒI QUY LOGISTIC va n TRONG ỨNG DỤNG TIÊN LƯỢNG BỆNH TIỂU ĐƯỜNG p ie gh tn to oa nl w Chuyên ngành : Khoa học máy tính Mã số: 8.48.01.01 d a nv a lu u nf ll NGƯỜI HƯỚNG DẪN: TS LÊ XUÂN VINH m tz n oi z m co l gm @ an Lu n va ac th si LỜI CẢM ƠN Trước tiên, xin gửi lời biết ơn sâu sắc đến thầy TS Lê Xuân Vinh dành nhiều thời gian tâm huyết hướng dẫn thực luận văn tốt nghiệp Sự tận tình hướng dẫn thầy nguồn động viên lớn tơi suốt thời gian tìm hiểu, nghiên cứu hồn thành luận văn Tơi xin bày tỏ lịng biết ơn đến q thầy khoa cơng nghệ thông tin trường Đại học Quy Nhơn giảng dạy chia sẻ kinh nghiệm học tập, nghiên cứu đến với tập thể lớp thân Trong suốt trình học tập a lu nghiên cứu, góp ý, chia sẻ, động viên tất thành viên tập thể n n va lớp giúp tơi hồn thành tốt khóa học, tơi xin cảm ơn tất anh chị Tôi xin gửi lời biết ơn đến hội đồng sư phạm trường THPT Số Tuy p ie gh tn to bạn Phước tạo điều kiện thuận lợi cho tơi có thời gian học tập bồi dưỡng nâng oa nl w cao kiến thức chuyên môn Cuối cùng, gửi lịng biết ơn tới thành viên gia đình tạo d điều kiện tốt để lựa chọn phát triển đường học tập a lu a nv Một lần nữa, xin chân thành cảm ơn! tháng năm 2020 Học viên ll u nf Quy Nhơn, ngày m tz n oi Lê Thị Dư z m co l gm @ an Lu n va ac th si MỤC LỤC LỜI CẢM ƠN DANH MỤC HÌNH VẼ VÀ CÁC BẢNG MỞ ĐẦU 1 Lý chọn đề tài Đối tượng phạm vi nghiên cứu 3 Phương pháp nghiên cứu a lu Mục tiêu nội dung luận văn n n va Ý nghĩa khoa học thực tiễn tn to Bố cục luận văn: Chương 1: MỘT SỐ KIẾN THỨC LÝ THUYẾT CƠ SỞ p ie gh 1.1 Giới hiệu Machine learning 1.1.1 Khái niệm Machine learning oa nl w 1.1.2 Phân loại kỹ thuật học máy: 1.1.3 Các ứng dụng Machine learning d a lu 1.1.4Các bước thực học máy a nv 1.2 Bài toán phân lớp liệu 10 u nf 1.2.1 Phân lớp liệu 10 ll 1.2.2 Một số ứng dụng phân lớp tiêu biểu: 11 m n oi 1.2.3 Tiến trình phân lớp liệu 12 tz 1.3 Giới thiệu toán phân lớp cho bệnh tiểu đường 14 1.3.1 Giới thiệu bệnh tiểu đường 14 z 15 l gm @ 1.3.2 Những kết nghiên cứu phân lớp cho liệu bệnh tiểu đường co 1.3.3 Phương pháp luận nghiên cứu: 16 m 1.3.4 Công cụ hỗ trợ khai phá liệu 16 Lu an 1.3.5 Giới thiệu liệu tiểu đường 17 n va ac th si KẾT LUẬN CHƯƠNG 18 Chương 2: THUẬT TOÁN HỒI QUY LOGISTIC, PCA, K-MEANS 19 2.1 Thuật toán hồi quy Logistic( Logistic Regression) 19 2.1.1 Định nghĩa 19 2.1.2 Ứng dụng thuật toán hồi quy Logistic 20 2.1.3 Hàm Sigmoid sử dụng hồi quy Logistic 21 2.1.4 Xây dựng thuật toán hồi quy Logistic nhị phân 22 2.1.5 Ví dụ ứng dụng thuật toán hồi quy logistic 26 2.2 Thuật toán Principal Component Analysis (PCA) 29 a lu 2.2.1 Vai trị thuật tốn PCA toán phân lớp 29 n va 2.2.2 Bài toán giảm chiều liệu 30 n 2.2.3 Cơ sở toán học PCA 30 tn to 2.2.4 Các bước thực phương pháp PCA 31 p ie gh 2.2.5 Ví dụ áp dụng thuật tốn mơ ứng dụng 32 2.3 Thuật toán phân cụm liệu K-Means 38 oa nl w 2.3.1 Phân cụm liệu 38 2.3.2 Ứng dụng phân cụm: 40 d a lu 2.3.3 Thuật toán phân cụm K-Means 40 a nv 2.3.4 Các bước thực thuật toán K-Means 42 u nf 2.3.5 Ví dụ minh họa triển khai thuật toán K-Means 42 ll KẾT LUẬN CHƯƠNG 45 m n oi Chương 3: SỰ KẾT HỢP BA THUẬT TOÁN PCA, K-MEANS VÀ HỒI QUY tz LOGISTIC ỨNG DỤNG TIÊN LƯỢNG BỆNH TIỂU ĐƯỜNG 46 z 3.1 Chuẩn bị liệu tiểu đường 46 @ 3.2 Tiền xử lí liệu 47 gm l 3.3 Ứng dụng thuật toán hồi quy Logistic Regression Classifier phần co mềm python để dự đoán bệnh tiểu đường cho bệnh nhân 48 m 3.4 Kết hợp thuật toán PCA hồi quy logistic vào ứng dụng tiên lượng Lu an bệnh tiểu đường 51 n va ac th si 3.4.1 Thuật toán PCA 51 3.4.2 Kết hợp hai thuật toán PCA-Logistic 57 3.5 K_Means hồi quy Logistic 59 3.5.1 Phát loại bỏ liệu ngoại lai(outliers) bỡi thuật toán phân cụm K-Means 59 3.5.2 Thực thuật toán hồi quy Logistic tập liệu K-Means 63 3.6 Cải thiện thuật toán hồi quy Logistic kết hợp PCA K-Means 64 a lu KẾT LUẬN CHƯƠNG 67 n n va KẾT LUẬN 69 tn to DANH MỤC TÀI LIỆU THAM KHẢO 71 PHỤ LỤC p ie gh QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN THẠC SĨ (bản sao) d oa nl w a nv a lu ll u nf m tz n oi z m co l gm @ an Lu n va ac th si (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng DANH MỤC CÁC BẢNG Bảng 3.1: Thống kê độ xác kết thuật toán 67 DANH MỤC CÁC HÌNH Hình 2.1: Phân ảnh phân loại đối tượng thành hai nhóm 20 Hình 2.2: Đồ thị hàm sigmoid biểu diễn python 22 Hình 2.3: Hình ảnh ví dụ phân cụm liệu thuật tốn K- Means 39 a lu Hình 3.1: Hình ảnh mô tả trực quan biểu diễn giá trị ma trận nhầm lẫn 50 n Hình 3.2: Đồ thi phân tích thàn phần PCA 57 n va Hình 3.3 Mơ tả outlier liệu chiều 59 tn to Hình 3.4: Đồ thị cluster 62 p ie gh Hình 3.5: Đồ thị biểu diễn liệu thuật toán PCA 65 Hình 3.6: Đồ thị cluster để xác định ngưỡng outliers 66 Hình 3.7: Hình vẽ kết loại bỏ outliers dùng K-Means 66 d oa nl w a nv a lu ll u nf m tz n oi z m co l gm @ an Lu n va ac th (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng si (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng Pl-1 M U Lý chọn đề tài Tiểu đường bệnh biểu tăng đường máu mãn tính thiếu insulin, bệnh khơng truyền nhiễm có ảnh hưởng nghiêm trọng sống người Nó xem bệnh hàng đầu có khả gây chết cho người Nhiều quốc gia phải đối mặt với phát triển nhanh chóng trẻ hóa bệnh tiểu đường Khi mắc bệnh tiểu đường làm cho số đường huyết cao mức bình thường Nguyên a lu nhân tiết insulin bị khiếm khuyết ảnh hưởng sinh học bị suy yếu n hai Bệnh tiểu đường dẫn đến tổn thương mãn tính rối loạn n va tn to chức mô khác nhau, đặc biệt mắt, thận, tim, mạch máu dây thần kinh tim mạch, hạ đường huyết, nhiễm trùng dẫn đến hoại tử tử vong p ie gh Theo tổ chức Y tế giới (WHO) gọi bệnh tiểu đường "Cơn sóng thần tàn phá sức khỏe toàn cầu" tỷ lệ mắc bệnh biến chứng bệnh oa nl w ngày tăng cao Nếu khơng có biện pháp ngăn chặn hiệu dự báo đến d năm 2040, tồn giới có 642 triệu người mắc bệnh tiểu đường, a nv a lu có triệu người mắc bệnh nước ta [7] Ngoài ra, 46.5% người mắc bệnh tiểu đường chưa chẩn đốn Điều nói lên 10 người u nf ll trưởng thành tương lai có người mắc bệnh tiểu đường Vậy, bệnh m tiểu đường ngày trẻ hóa tình trạng báo động nên cần phải ý n oi tz nhiều đến Nguyên nhân kết hầu hết người bệnh không nhận tình trạng sức khỏe họ thời điểm sớm z gm @ Trong buổi gặp trao đổi thông tin với báo chí Hội trại dinh dưỡng đái tháo đường tên gọi “Chung tay kiểm soát đẩy lùi bệnh đái tháo đường” lần l co III - năm 2018 (Diabetes Camp - 2018) diễn vào chiều 23/10, PGS.TS Tạ m Văn Bình - Nguyên giám đốc Bệnh viện Nội tiết Trung ương, nguyên Viện Lu an trưởng Viện Đái tháo đường Rối loạn chuyển hóa (Đại học Y Hà Nội), Chủ n va ac th (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng si (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng Pl-2 tch Hi ngi giỏo dc bnh đái tháo đường Việt Nam nhấn mạnh: “Đái tháo đường thực bệnh có nhiều biến chứng nguy hiểm, việc tầm soát, phát sớm bệnh đái tháo đường giúp cho trình điều trị đạt hiệu cao nhất, kiểm soát, ngăn ngừa biến chứng nguy hiểm” [8] Người mắc bệnh tiểu đường có sống khỏe mạnh hạnh phúc họ kiểm sốt bệnh cách thơng qua dùng thuốc kết hợp với chế độ ăn uống lành mạnh giám sát bác sỹ Vì vậy, phát sớm đóng vai trị quan trọng chẩn đốn bệnh tiểu đường giảm đáng kể a lu bệnh biến chứng tiểu đường mang lại n Trong khoa học y tế, chẩn đốn tình trạng sức khỏe nhiệm vụ n va khó khăn Đặc biệt, chẩn đoán bệnh tiểu đường thách thức tn to quan trọng nước phát triển phát triển Thực tế cho thấy, p ie gh lịch sử khám bệnh bệnh nhân kết xét nghiệm cần thiết để chẩn đoán bệnh cụ thể chẩn đoán dựa kinh nghiệm bác sĩ Tuy nhiên, oa nl w chẩn đoán bệnh bác sĩ kinh nghiệm chẩn đốn có kết khơng xác tình trạng sức khỏe bệnh nhân Do đó, làm d a nv a lu để chẩn đốn phân tích bệnh tiểu đường nhanh chóng xác chủ đề đáng để nghiên cứu Chẩn đoán sớm hơn, kiểm sốt u nf dễ dàng nhiều Để có kết chẩn đốn mong muốn, việc dựa ll m vào kinh nghiệm cao bác sỹ cịn cần phải sử dụng cơng nghệ thông n oi tz tin tiên tiến ứng dụng khai thác liệu lĩnh vực phù hợp cho việc Khai thác liệu cung cấp khả trích xuất khám phá z mẫu chưa biết, ẩn từ kho lưu trữ liệu lớn Những mẫu hỗ trợ l gm @ y tế chẩn đoán định co Với phát triển phương pháp Machine Learning, khả vận m dụng phương pháp để tìm giải pháp cho vấn đề khả thi, Lu an khai thác liệu hỗ trợ dự đoán tiên lượng bệnh nhân bị tiu ng Hn na, n va ac th (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng si (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng Pl-3 d oỏn bnh sm, iu tr cho tớch cực cho bệnh nhân trước trở nên nguy kịch Khai thác liệu có khả trích xuất kiến thức ẩn từ lượng lớn liệu liên quan đến bệnh tiểu đường Gần đây, có nhiều nhà nghiên cứu giới phát triển mơ hình dự đốn khác cách sử dụng khai thác liệu để dự đoán chẩn đoán cho bệnh nhân tiểu đường Tuy nhiên, hầu hết nghiên cứu họ gặp trở ngại bước tiền xử lí liệu bị giới hạn số liệu có sẵn cho dự đốn kết phân loại cuối Để khắc phục hạn chế này, đề a lu xuất nghiên cứu với đề tài: “Kết hợp PCA K-Means với hồi quy Logistic n ứng dụng tiên lượng bệnh tiểu đường” va n Đối tượng phạm vi nghiên cứu p ie gh tn to 2.1 Đối tượng nghiên cứu lý thuyết: Tìm hiểu nội dung thuật toán PCA, K-Means hồi quy Logistic từ xây dựng mơ hình kết hợp ba thuật toán để tiên lượng kết dự đoán bệnh oa nl w tiểu đường cho bệnh nhân 2.2 Đối tượng nghiên cứu thực tiễn: d a nv a lu Các số sinh hóa xét nghiệm bệnh nhân khám bệnh tiểu đường 2.3 Phạm vi nghiên cứu: u nf Dữ liệu bệnh nhân Bệnh viện đa khoa tỉnh Bình Định từ tháng năm ll m Phương pháp nghiên cứu tz n oi 2019 đến tháng năm 2020 3.1 Phương pháp nghiên cứu tài liệu, tổng hợp hệ thống hóa: z Tìm kiếm, thu thập tài liệu từ cơng trình nghiên cứu khoa học @ l gm công bố báo đăng hội nghị, tạp chí thơng tin từ co website ứng dụng thuật toán học máy tốn phân lớp liệu m Phân tích, tổng hợp rút trích nội dung cần thiết để giải yêu cầu an Lu 3.2 Phương pháp thực nghim khoa hc: n va ac th (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng si (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng Pl-4 Sử dụng liệu thu thập từ Bệnh Viện Đa Khoa Tỉnh Bình Định số sinh hóa xét nghiệm bệnh nhân tiểu đường cho trình thử nghiệm, đánh giá Thực việc thử nghiệm, đánh giá thuật toán đề xuất luận văn nhằm đánh giá tính hiệu độ xác q trình dự đốn đề xuất so với kết thực nghiệm cơng trình nghiên cứu có trước Mục tiêu nội dung luận văn Mục tiêu nghiên cứu chúng tơi phân tích mơ hình, chứng tỏ kết a lu dự báo xác kết hợp thuật toán phân cụm K-Means n hồi quy Logistic Vai trị phân tích thành phần (PCA) nhằm giảm chiều va n kích thước tập liệu bảo tồn thơng tin Sau thuật toán K- p ie gh tn to Means sử dụng để loại bỏ liệu ngoại lai Sau sử dụng hồi quy Logistic để xây dựng mô hình phân lớp dự báo Sự kết hợp thuật tốn cải thiện hiệu mơ hình phân lớp oa nl w Ý nghĩa khoa học thực tiễn 5.1 Ý nghĩa khoa học: d a nv a lu Với kết hợp ứng dụng ngành khoa học máy tính y khoa, đề tài đóng góp phương pháp thực nghiệm hỗ trợ ngành y học việc u nf chẩn đoán bệnh cho bệnh nhân Kết thu thực đề tài hỗ trợ ll m cho cán y tế chẩn đoán bệnh tiểu đường cho bệnh nhân tz n oi 5.2 Ý nghĩa thực tiễn: Chẩn đoán phát bệnh q trình, địi hỏi cán y tế z phải có trình độ chun mơn cao cần phải có đầy đủ trang thiết bị y tế @ l gm hỗ trợ chẩn đốn xác tình trạng bệnh bệnh nhân Việc phát co sớm xác bệnh đưa hướng điều trị đúng, khắc phục m biến chứng bệnh gây cho bệnh nhân Điều góp phần giảm Lu an thiệt hại tinh thần kinh tế cho người bệnh, góp phần thỳc y nn kinh t n va ac th (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng si (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng Pl-68 vo trin khai mụ hỡnh trờn d liệu thực tế áp dụng thực tiễn Chúng tơi phân tích đánh giá đầu mơ hình số liệu cụ thể thể qua bảng nêu Trường hợp 1: Nếu sử dụng thuật toán hồi quy Logistic tập liệu chuẩn hóa, kết đạt mơ hình tốt Tuy nhiên, tập liệu chúng tơi tương đối nhỏ có thuộc tính ảnh hưởng nên kết đạt khả quan Nếu ứng dụng trường hợp vào tập liệu lớn hơn, chúng tơi ngại liệu outliers số chiều liệu a lu tác động nhiều đến kết dự đoán Từ kết chẩn đốn chúng n tơi xác va n Trường hợp 2: Chúng tơi định thử nghiệm kết hợp thuật tốn PCA tn to vào mơ hình dự đốn hồi quy Logistic mặc kết thấp Tuy p ie gh nhiên, ưu điểm thuật toán PCA giảm chiều liệu cách nén tập liệu lại Điều này, xét mặt tối ưu thời gian, chúng tơi có nhiều hy vọng oa nl w giảm lượng thời gian đáng kể thực mơ hình chúng tơi giảm lượng lớn liệu làm ảnh hưởng đến kết dự đoán chúng d a nv a lu Trường hợp 3: Một kết mang lại thuật tốn thật lý tưởng Độ u nf xác dự đoán gần với kết thực tế sau thực loại bỏ ll m liệu outliers Tuy nhiên, thực thuật toán tập liệu lớn tz n oi tốn thời gian Trường hợp 4: Chúng tin thử nghiệm thuật toán kết hợp z nêu cải tiến kết dự đoán hồi quy Logistic hiệu @ m co l gm thời gian thực độ xác mơ hình an Lu n va ac th (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng si (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng Pl-69 KT LUN Qua thi gian học tập, nghiên cứu hoàn thành luận văn, đạt kết sau: Thứ nhất, nắm số kiến thức học máy, hiểu quy trình học máy để ứng dụng vào thực tiễn Thứ hai, biết cài đặt chương trình annaconda, sử dụng phần mềm sublime Text triển khai thuật toán thực nghiệm Thứ ba, phần trình bày luận văn chúng tơi nêu với mục đích xây a lu dựng mơ hình hiệu để dự đốn bệnh tiểu đường cho bệnh nhân Sau n nghiên cứu chúng tơi đề xuất mơ hình mới, bao gồm kết hợp PCA n va tn to để giảm kích thước liệu, phân cụm K-Means để phát loại bỏ liệu ngoại lai, cuối dùng hồi quy Logistic để phân loại p ie gh Thông qua kết thực nghiệm mơ hình cải tiến thuật tốn phân loại hồi quy Logistic để dự đoán bệnh tiểu đường oa nl w thực thơng qua việc kết hợp hai thuật toán PCA K-Means (từ d 0.92% lên 0.96%) a lu Kết sử dụng thuật toán cải tiến hồi quy Logistic cách kết hợp a nv PCA K-Means cho độ xác cao Qua cho thấy q trình cải tiến thuật u nf ll tốn hồi quy Logistic chúng tơi xây dựng thành công Điều giúp m cho bạn đọc có lựa chọn tập liệu n oi tz Cuối cùng, tính đạt đề tài nghiên cứu PCA góp phần nâng cao khả phân cụm liệu cho K-Means làm cho kết z thuật toán kết hợp sau l gm @ phân cụm liệu đạt tốt Kết tốt cho liệu đầu vào cho co Điểm hạn chế đề tài là: tập liệu chúng tơi thu m thập cịn Vì thế, chúng tơi chưa đánh giá hết hiệu suất mơ Lu an hình cải tiến Hy vọng bạn đọc ứng dụng mơ hình đề xuất chỳng tụi trờn n va ac th (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng si (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng Pl-70 tập liệu lớn nhằm đưa nhược điểm hướng khắc phục để đề tài phát triển đưa vào ứng dụng rộng rãi a lu n n va p ie gh tn to d oa nl w a nv a lu ll u nf m tz n oi z m co l gm @ an Lu n va ac th (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng si (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng Pl-71 DANH MC TI LIU THAM KHẢO [1] TS Lê Thị Kim Nga - Đại học Quy Nhơn - Giáo trình xử lý ảnh, 2019 [2] TS Lê Xuân Vinh - Đại học Quy Nhơn - Giáo trình Machine Learning, 2019 [3] A Iyer, S Jeyalatha, R Sumbaly, Diagnosis of diabetes using classification mining techniques, Int J Data Min Knowl Manag Process (IJDKP), (1) (2015) [4] J Han, M Kamber, J Pei, Data mining concepts and techniques, a lu (3rd), Morgan Kaufmann Publishers, USA (2012) n n va [5] B.M Patil, R.C Joshi, Toshniwal Durga, Hybrid prediction model for tn to Type-2 diabetic patients, Expert Syst Appl, 37 (2010), pp 8102-8108 p ie gh [6] J Novakovic, S Rankov, Classification performance using principal component analysis and different value of the ratio R, Int J Comput Commun oa nl w Control, Vol VI (2) (2011), pp 317-327, ISSN 1841-9836, E-ISSN 1841-9844 [7]http://daithaoduong.kcb.vn/tinh-hinh-dai-thao-duong/ d [8]http://dantri.com.vn/suc-khoe/du-bao-se-co-tren-600-trieu-nguoi-mac- a lu benh-tieu-duong-vao-nam-2030-20181024102930774.htm a nv u nf [9]https://www.diabetesdaily.com/learn-about-diabetes/what-is- ll diabetes/how-many-people-have-diabetes/ m tz n oi z m co l gm @ an Lu n va ac th (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng si (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng Pl-72 PH LC Chng trỡnh phõn tớch thnh phn PCA import numpy as np import pandas as pd from sklearn.decomposition import PCA import matplotlib.pyplot as plt from sklearn.preprocessing import StandardScaler df = pd.read_csv(filepath_or_buffer='D:\python2\dulieu.csv', a lu header=None, sep=',') n n va print("\nTAB_PID") df = df.drop(df.index[[0]], axis=0) p ie gh tn to print(df) df.dropna(how="all", inplace=True) oa nl w ar_x = df.iloc[:,0:3].values ar_y = df.iloc[:,3].values d ar_x_std = StandardScaler().fit_transform(ar_x) a lu df_std = pd.DataFrame(ar_x_std, columns=['Tuoi', 'GioiTinh', a nv 'Glucose']) u nf ll df_std['ChanDoan'] = ar_y tz n oi print(df_std) m print("\ndf_std") df_std.to_csv(r'D:\python2\dulieu_chuanhoa.csv') z print("\ncov_mat") m cov_mat = np.cov(ar_x_std.T) co print(cov_mat) l gm @ cov_mat= np.cov(ar_x_std, rowvar=False) an Lu eig_vals, eig_vecs = np.linalg.eig(cov_mat) n va ac th (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng si (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng Pl-73 print("\neigen vectors, eigen values") print('vectors \n%s' %eig_vecs) print('values \n%s' %eig_vals) eig_pairs = [(np.abs(eig_vals[i]), eig_vecs[:,i]) for i in range(len(eig_vals))] eig_pairs.sort() eig_pairs.reverse() print("\neigen pairs") a lu print(eig_pairs) n for i in eig_pairs: va n print(i[0]) p ie gh tn to tot = sum(eig_vals) print("\nev_total: ",tot) var_exp = [(i / tot)*100 for i in sorted(eig_vals, reverse=True)] oa nl w print(var_exp) cum_var_exp = np.cumsum(var_exp) d a nv a lu print(cum_var_exp) print("2 dimensions: ",var_exp[0:2]) u nf print("2 dimentions: ",sum(var_exp[0:2])) ll m print("\nselected eigen pairs") print(eig_pairs[1][1]) z gm @ print("\nmat_w") tz n oi print(eig_pairs[0][1]) mat_w = np.hstack((eig_pairs[0][1].reshape(3,1), m co print(mat_w) l eig_pairs[1][1].reshape(3,1))) an Lu mat_y = ar_x_std.dot(mat_w) n va ac th (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng si (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng Pl-74 df_principle = pd.DataFrame(data = mat_y , columns = ['pc1', 'pc2']) print("\ndf_principle") print(df_principle) df_final = pd.concat([df_principle, pd.DataFrame(ar_y,columns = ['ChanDoan'])], axis = 1) print("\ndf_final") print(df_final) df_final.to_csv(r'D:\python2\dulieu_chuanhoa_pca.csv') a lu max = 1000 n plt.subplot(2,2,1) va n plt.title('PCA [0:1]') p ie gh tn to for i in df_final.index: if i < max: if df_final.iloc[i,2] == '0': oa nl w plt.scatter(df_final.iloc[i,0], df_final.iloc[i,1], s = 20, c = 'g') elif df_final.iloc[i,2] == '1': d a nv a lu plt.scatter(df_final.iloc[i,0], df_final.iloc[i,1], s = 20, c = 'b') plt.subplot(2,2,2) u nf plt.title('PCA [0:2]') ll if df_final.iloc[i,2] == '0': tz n oi if i < max: m for i in df_final.index: z elif df_final.iloc[i,2] == '1': l gm @ plt.scatter(df_final.iloc[i,0], df_final.iloc[i,2], s = 20, c = 'g') m plt.subplot(2,2,3) co plt.scatter(df_final.iloc[i,0], df_final.iloc[i,2], s = 20, c = 'b') an Lu plt.title('PCA [1:2]') n va ac th (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng si (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng Pl-75 for i in df_final.index: if i < max: if df_final.iloc[i,2] == '0': plt.scatter(df_final.iloc[i,1], df_final.iloc[i,2], s = 20, c = 'g') elif df_final.iloc[i,2] == '1': plt.scatter(df_final.iloc[i,1], df_final.iloc[i,2], s = 20, c = 'b') plt.show() Chương trình phân cụm loại bỏ outliers K-Means a lu import pandas as pd n import numpy as np va n import seaborn as sns p ie gh tn to import scipy as ss from sklearn.cluster import KMeans import matplotlib.pyplot as plt oa nl w from sklearn.metrics import accuracy_score df_pid = pd.read_csv('D:\python2\dulieu_chuanhoa.csv') d print(df_pid) a nv a lu print("\nTAB_PID") u nf df_X = df_pid.drop(['ChanDoan'], axis=1 ll m print("\nbảng tách Y") tz df_y = df_pid['ChanDoan'] n oi df_X = df_X.iloc[:, 1:] z kmeans = KMeans(n_clusters=2) m df_pid_clustered = kmeans.predict(df_X) co l kmeans.fit(df_X) gm @ print(df_X) an Lu df_pid_transformed = kmeans.transform(df_X) n va ac th (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng si (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng Pl-76 df_proc = pd.DataFrame() df_proc['ChanDoan_true'] = df_y ChanDoan_true = ChanDoan_false = for i in df_proc.index: if df_proc.iloc[i,0] == df_proc.iloc[i,1]: ChanDoan_true = ChanDoan_true + else: a lu ChanDoan_false = ChanDoan_false + n kmeans_acc_per = ChanDoan_true / (ChanDoan_true + n va ChanDoan_false) p ie gh tn to df_pid_clustered_2 = [] for x in df_pid_clustered: if x == 1: oa nl w df_pid_clustered_2.append(0) elif x == 0: d a nv a lu df_pid_clustered_2.append(1) df_pid_clustered_2 = np.array(df_pid_clustered_2) u nf kmeansclustercenters = kmeans.cluster_centers_ ll m print("\nKmeans_Cluster_Centers:") if kmeans_acc_per < 0.5: tz n oi print(kmeansclustercenters) z kmeans_acc_per = - kmeans_acc_per kmeansclustercenters = co l np.flip(kmeansclustercenters, 0) gm @ df_pid_clustered = df_pid_clustered_2 m df_pid_transformed = np.flip(df_pid_transformed, 1) an Lu print("\nKmeans_Cluster_Centers:") n va ac th (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng si (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng Pl-77 print(kmeansclustercenters) print("\nKmeans_Accuracy_Percent:") print(kmeans_acc_per) print("\nKmeans_Transformed:") print(df_pid_transformed) df_proc['cluster'] = df_pid_clustered d00 = [] d11 = [] a lu for i in df_X.index: n if df_proc.iloc[i,0] == 0: va n d00.append(df_pid_transformed[i][0]) tn to d11.append(-1) p ie gh else: d11.append(df_pid_transformed[i][1]) oa nl w d00.append(-1) df_proc['d00'] = d00 d a nv a lu df_proc['d11'] = d11 d00 = [x for x in d00 if x >= 0] u nf d11 = [x for x in d11 if x >= 0] ll m co l plt.title('Cluster 2') gm plt.subplot(2,1,2) @ d11.sort() z plt.plot(d00) tz plt.title('Cluster 1') n oi plt.subplot(2,1,1) m d00.sort() an Lu plt.plot(d11) n va ac th (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng si (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng Pl-78 plt.show() d0_thr = 2.1 d1_thr = 1.35 inv = np.zeros((len(df_X),1)) for i in df_X.index: if df_proc.iloc[i,0] == 0: if df_proc.iloc[i,2] > d0_thr: inv[i] = a lu for i in df_X.index: n if df_proc.iloc[i,0] == 1: va n if df_proc.iloc[i,3] > d1_thr: tn to inv[i] = p ie gh df_proc['inv'] = inv print("\nProcessing_Table_with_Invalid_Tags:") oa nl w print(df_proc.head(10)) print("\nPID_Before:") d a nv a lu print(df_X.shape) df_X_kmeans = df_X u nf df_y_kmeans = df_y ll tz plot_proc = df_proc n oi count_dropped = m count = len(df_X) m co l count_dropped = count_dropped + gm if df_proc.iloc[i,inv_index] == 1: @ for i in df_proc.index: z inv_index = an Lu df_X_kmeans = df_X_kmeans.drop([i], axis=0) n va ac th (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng si (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng Pl-79 df_y_kmeans = df_y_kmeans.drop([i], axis=0) plot_proc = plot_proc.drop([i], axis=0) print("\nPID_After:") print(df_X_kmeans.shape) print('\nDropped:', count_dropped, "/", count, '(', 100 * count_dropped / count, "%)") df_final = df_X_kmeans df_final = pd.concat([df_final, df_y_kmeans], axis = 1) a lu df_final.index = range(len(df_final)) n df_final.to_csv(r'D:\python2\dulieu_chuanhoa_kmeans.csv') va n plot_X = df_X p ie gh tn to plot_X = pd.concat([plot_X, pd.DataFrame(data = df_pid_clustered, columns = ['cluster'])], axis = 1) plot_X_kmeans = df_X_kmeans oa nl w plot_X_kmeans = pd.concat([plot_X_kmeans, pd.DataFrame(data = plot_proc['cluster'], columns = ['cluster'])], axis = 1) d a nv a lu plot_X_kmeans.index = range(len(plot_X_kmeans)) print(plot_X_kmeans) ll u nf count_dim = [0,1] tz n oi for i in count_dim: m max = 1000 for j in range(i + 1, len(count_dim) + 1): z plt.subplot(1,2,1) m co plt.ylim(-2,4) l plt.xlim(-3,3) gm @ plt.suptitle('Kmeans [' + str(i) + ':' + str(j) + ']', fontsize = 20) an Lu for k in plot_X.index: n va ac th (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng si (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng Pl-80 if k < max: if int(plot_X.iloc[k,3]) == 0: plt.scatter(plot_X.iloc[k,i], plot_X.iloc[k,j], s=20, c='green') else: plt.scatter(plot_X.iloc[k,i], plot_X.iloc[k,j], s=20, c='blue') plt.scatter(kmeansclustercenters[:, i], kmeansclustercenters[:, j], s=100, c=['#004c00','#00004c']) plt.subplot(1,2,2) a lu plt.xlim(-3,3) n plt.ylim(-2,4) va n for l in plot_X_kmeans.index: tn to if l < max: p ie gh if int(plot_X_kmeans.iloc[l,3]) == 0: plt.scatter(plot_X_kmeans.iloc[l,i], plot_X_kmeans.iloc[l,j], oa nl w s=20, c='green') else: d s=20, c='blue') a nv a lu plt.scatter(plot_X_kmeans.iloc[l,i], plot_X_kmeans.iloc[l,j], u nf plt.scatter(kmeansclustercenters[:, i], kmeansclustercenters[:, j], ll m s=100, c=['#004c00','#00004c']) tz n oi plt.show() Chương trình hồi quy Logistic kết hợp PCA K-Means m co l from sklearn.cluster import KMeans gm import seaborn as sns @ import numpy as np z import pandas as pd an Lu from sklearn.linear_model import LogisticRegression n va ac th (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng si (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng Pl-81 import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score from sklearn.metrics import classification_report from sklearn import metrics col_names = ['Tuoi', 'GioiTinh', 'Glucose','chandoan'] df_pid = pd.read_csv('D:\python2\dulieu_chuanhoa_PCA_kmeans.csv') df_pid.head() a lu print("\npid") n print(df_pid) va n df_X = df_pid.drop(['ChanDoan'], axis=1) p ie gh tn to df_X = df_X.iloc[:, 1:] df_y = df_pid['ChanDoan'] print("\n tách Y") oa nl w print(df_X) train_X, test_X, train_y, test_y = train_test_split(df_X, df_y, d a nv a lu test_size=0.2) logreg = LogisticRegression() u nf logreg.fit(train_X, train_y) ll m y_pred=logreg.predict(test_X) n oi cnf_matrix tz cnf_matrix = metrics.confusion_matrix(test_y, y_pred) m class_names=[0,1] # name of classes co print(classification_report(test_y, y_pred)) l gm @ print(cnf_matrix) z print("\nARRAY") an Lu fig, ax = plt.subplots() n va ac th (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng si (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng (Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng(Luỏưn.vn).kỏt.hỏằÊp.pca.v.kmeans.vỏằi.hỏằi.quy.logistic.trong.ỏằâng.dỏằƠng.tiên.lặỏằÊng.bỏằnh.tiỏằu.ặỏằãng

Ngày đăng: 28/10/2023, 22:00

Tài liệu cùng người dùng

Tài liệu liên quan