(Luận văn) học máy bằng phương pháp hồi quy logistic và ứng dụng trong phân luồng học sinh phổ thông

89 1 0
(Luận văn) học máy bằng phương pháp hồi quy logistic và ứng dụng trong phân luồng học sinh phổ thô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

i LỜI CAM ĐOAN Luận văn hoàn thành trường Đại học Quy Nhơn Tôi xin cam đoan luận văn cơng trình nghiên cứu riêng tơi hướng dẫn Thầy TS Lê Xuân Vinh Trong q trình nghiên cứu hồn thành luận văn tơi kế thừa thành khoa học nhà khoa học đồng nghiệp với trân trọng biết ơn Tôi xin cam đoan thông tin trích dẫn luận văn lu rõ nguồn gốc, số liệu kết nghiên cứu đề tài trung thực an n va hồn tồn khơng chép sử dụng kết nghiên cứu đề tài tương tn to tự ie gh Bình Định, ngày 15 tháng năm 2020 p Tác giả đề tài d oa nl w m ll fu an v an lu Nguyễn Thị Phú t n oi z z gm @ m co l an Lu n va ac th si ii LỜI CẢM ƠN Trước trình bày nội dung luận văn, tơi xin bày tỏ lịng biết ơn sâu sắc tới Thầy TS Lê Xuân Vinh, người tận tình hướng dẫn để tơi hồn thành luận văn Tơi xin bày tỏ lịng biết ơn chân thành tới tồn thể q thầy giáo khoa Tin trường Đại học Quy Nhơn, dạy bảo tơi tận tình suốt q trình học tập khoa lu an Nhân dịp xin gửi lời cảm ơn chân thành tới gia đình, n va đồng nghiệp học sinh trường THPT Tăng Bạt Hổ cổ vũ, động gh tn to viên, giúp đỡ tơi suốt q trình học tập thực luận văn tốt nghiệp p ie Bình Định, ngày 15 tháng năm 2020 d oa nl w Tác giả đề tài v an lu Nguyễn Thị Phú m ll fu an t n oi z z gm @ m co l an Lu n va ac th si iii MỤC LỤC LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC HÌNH VẼ vi DANH MỤC BẢNG BIỂU vii MỞ ĐẦU 1 Lý chọn đề tài Tổng quan tình hình nghiên cứu đề tài: lu Đối tượng phạm vi nghiên cứu: an n va Phương pháp nghiên cứu: Kết cấu luận văn to gh tn CHƢƠNG TỔNG QUAN VỀ HỌC MÁY ie 1.1 Tổng quan học máy p 1.2 Phân nhóm thuật tốn học máy 12 oa nl w 1.2.1 Phân loại dựa phương thức học 12 1.2.1.1 Học có giám sát (supervised learning) 12 d v an lu 1.2.1.2 Học không giám sát (Unsupervised learning) 13 1.2.1.3 Học bán giám sát (semi- supervised learning): 14 fu an 1.2.1.4 Học củng cố (Reinforcement learning): 14 m ll 1.2.2 Phân loại dựa chức năng: 15 n oi 1.2.2.1 Thuật toán hồi quy (Regression Algorithms) 15 t 1.2.2.2 Thuật toán phân loại (Classification Algorithms) 15 z z 1.2.2.3 Một số thuật toán khác: 16 @ gm 1.3 Quy trình tổ chức chương trình học máy: 16 l 1.4 Đánh giá mơ hình học máy: 17 m co 1.4.1 Phương pháp accuracy 18 Lu 1.4.2 Phương pháp Confusion matrix 18 an 1.4.3 Phương pháp True/False Positive/Negative 21 n va ac th si iv 1.4.3.1 Phương pháp True/False Positive/Negative 21 1.4.3.2 Phương pháp Receiver Operating Characteristic curve 23 1.4.3.2 Phương pháp Area Under the Curve 25 1.4.4 Phương pháp Precision Recall 25 Kết luận chương 29 CHƢƠNG PHƢƠNG PHÁP HỒI QUY LOGISTIC 30 2.1 Phương pháp hồi quy Logistic 30 2.2 Hàm sigmod: 33 2.3 Phát biểu tốn với ngơn ngữ xác suất 36 lu an 2.4 Hàm mát phương pháp tối ưu 37 n va 2.4.1 Xây dựng hàm mát (loss function) 37 2.4.2.1 Khái quát tối ưu phương pháp Gradient Descent 38 gh tn to 2.4.2 Tối ưu hàm mát .38 p ie 2.4.2.2 Thuật toán Gradient Descent 40 oa nl w 2.4.2.3 Thuật toán Stochastic Gradient Descent dùng để tối ưu hàm mát: 40 d 2.5 Một số ví dụ ứng dụng vào phương pháp hồi quy Logistic 41 v an lu 2.5.1 Ví dụ hồi quy đơn biến 41 fu an 2.5.2 Ví dụ hồi quy đa biến 45 Kết luận chương 49 m ll t n oi CHƢƠNG ỨNG DỤNG PHƢƠNG PHÁP HỒI QUY LOGISTIC TRONG BÀI TOÁN PHÂN LUỒNG TRONG HỌC SINH PHỔ THÔNG50 3.1 Giới thiệu toán 50 z 3.2 Mô tả liệu đầu vào, đầu toán 51 z @ gm 3.3 Tiền xử lí liệu 54 l 3.4 Mô tả tập liệu huấn luyện 58 m co 3.5 Xây dựng mơ hình 59 Lu 3.6 Sử dụng mơ hình để dự báo 61 an 3.7 Đánh giá mơ hình 61 n va ac th si v 3.8 Cải tiến 62 Kết luận chương 62 KẾT LUẬN 64 Kết đạt từ nghiên cứu 64 Hạn chế đề tài 64 Hướng phát triển 64 TÀI LIỆU THAM KHẢO 65 PHỤ LỤC 66 lu an n va p ie gh tn to d oa nl w m ll fu an v an lu t n oi z z gm @ m co l an Lu n va ac th si C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an vi DANH MỤC CÁC HÌNH VẼ Hình 1.1: Ma trận chưa chuẩn hóa …………………………………… 19 Hình 1.2: Ma trận chuẩn hóa ……………………………………… 19 Hình 1.3: Đồ thị mô tả đường cong ROC ……………………………… 23 lu 24 Hình 2.1: Biểu diễn mơ hình phân lớp ………………………………… 30 an Hình 1.4: Cách tính Precision Recall ……………………………… n va gh tn to Hình 2.2: Hàm sigmoid ……………………………………………… p ie 32 Hình 2.3: Ranh giới định ……………………………………… d oa nl w 33 m ll fu an v an lu Hình 2.4: Minh họa điểm Global Minima Local Minima ………… 37 t n oi z z gm @ m co l an Lu n va ac th Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an vii DANH MỤC BẢNG BIỂU lu 18 Bảng 1.2: Ma trận chuẩn hóa ……………………………………… 18 Bảng 1.3: Tỉ lệ TP, FP, FN, TN ……………………………………… 20 Bảng 1.4: Tỉ lệ TPR, FPR, FNR, TNR ………………………………… 20 Bảng 1.5 Ví dụ Precision Recall ………………………………… 26 an Bảng 1.1: Ma trận chưa chuẩn hóa …………………………………… n va gh tn to Bảng 2.1 Dữ liệu mẫu cho ví dụ hồi quy đơn biến …………………… p ie 40 oa nl w Bảng 2.2 Dự đốn mơ hình hồi quy đơn biến với vài khách hàng ………………………………………………………………… 42 d v an lu Bảng 2.3 Dữ liệu mẫu cho ví dụ hồi quy đa biến …………………… m ll fu an 43 Hình 2.4 Dự đốn mơ hình hồi quy đa biến với vài khách hàng 46 t n oi Bảng 3.1 Mô tả đặc trưng học sinh chương trình ……… z 50 z @ gm Bảng 3.2 Kiểm tra mơ hình với số liệu …………………… 57 m co l an Lu n va ac th Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an MỞ ĐẦU Lý chọn đề tài Dự báo công việc quan trọng, thiếu nhiều lĩnh vực Khi tiến hành dự báo người ta vào xử lý liệu thu thập khứ để xác định xu hướng vận động tượng tương lai nhờ vào số mơ hình tốn học Có nhiều phương pháp dự báo khác dự báo hệ chuyên gia, dự báo phương trình hồi quy, dự báo chuỗi thời gian… lu an Nhưng dự báo phương pháp hồi quy tuyến tính hồi quy logistic n va ứng dụng rộng rãi nhiều lĩnh vực giáo dục, kinh doanh y học tn to Nó có sở khoa học rõ ràng mang lại kết với độ xác cao Phân gh tích hồi quy logistic phân tích thống kê nhằm xác định mối quan hệ p ie đối tượng quan tâm (biến phụ thuộc) đối tượng oa nl w liên quan (các biến độc lập) để đưa kết luận có ý nghĩa thống kê Phương pháp hồi quy Logistic sử dụng nhiều toán biến phụ d thuộc nhị phân hay rời rạc v an lu Trong giáo dục nước ta nay, công tác phân luồng giáo dục fu an nghề nghiê ̣p hoă ̣c tiế p tu ̣c ho ̣c lên đa ̣i ho ̣c đươ ̣c quan tâm Vào đại học m ll không còn là đường nhấ t để đế n thành công Công tác phân luồng n oi học sinh ở Vi ệt Nam thời gian qua cò n chưa tố t Ở n ước tiên tiế n t Đức, việc phân luồ ng đư ợc thực rấ t sớm , bắ t đầ u từ năm lớp 6, mô ̣t số z không nhỏ cho ̣n xu hướng ho ̣c nghề để bổ sung vào lực lươ ̣ng lao đô ̣ng nghề z @ gm nghiê ̣p Việt Nam bắ t đầ u đã có xu hướng đó Gầ n đăng ký xét tuyển l vào đại học , nhiề u điạ phương Nghê ̣ An , Thanh Hóa có nơi số ho ̣c sinh m co không vào đa ̣i ho ̣c, mà học nghề lên đến 30-40% Đây là số buô ̣c chúng ta an phải phát hiện, nghiên cứu và có mô ̣t tổ ng kế t Lu phải suy nghĩ Những yế u tố nào dẫn đế n quyế t đinh ̣ này ? Đây vấn đề cần n va ac th Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Trong bối cảnh xã hội Việt Nam ngày nay, học sinh sau tốt nghiệp trung học phổ thơng thường có hai lựa chọn: Một là, xét tuyển vào trường đại học, cao đẳng để tiếp tục đường học vấn mình; Hai là, tham gia vào trung tâm dạy nghề để theo đuổi nghề phục vụ cho sống sau Trong thực tế có nhiều người thành cơng với lựa chọn thứ hai vào đại học khơng cịn đường để thành công Nhiều nghiên cứu việc lựa chọn học sinh phụ thuộc vào nhiều yếu tố cá nhân, gia đình, văn hóa mơi trường học tập [5] lu Các nhà quản lý, giáo dục cố gắng khám phá yếu tố để dự đoán khả an học sinh học lên đại học cao đẳng hay học nghề Vì nghiên cứu n va nhằm mục đích thiết lập mơ hình dự đốn cách sử dụng số gh tn to yếu tố ảnh hưởng đến định học sinh như: Học sinh có hộ ie nơng thơn hay thành thị; tình trạng sức khỏe; độ tuổi; xếp loại học lực; quy p mơ gia đình; tính cách; thu nhập Bố/Mẹ; trình độ học vấn Bố/Mẹ; vấn oa nl w đề tư vấn hướng nghiệp gia đình nhà trường,… yếu tố ảnh hưởng đến lựa chọn học sinh có học tiếp lên đại học, cao đẳng hay học d v an lu nghề? Nghiên cứu thống kê gần 500 học sinh trường THPT Tăng Bạt fu an Hổ trường THPT Chuyên Chu Văn An Bình Định thơng tin nêu định lựa chọn học sinh để thấy yếu tố ảnh m ll n oi hưởng lựa chọn học sinh Từ đưa mơ hình dự đốn cho t năm cách phân luồng học sinh để nhà trường gia đình z có định hướng tốt cho học sinh vấn đề lựa chọn nghề nghiệp z gm @ tương lai l Để hiểu rõ mơ hình hồi quy logistic ứng dụng việc m co phát phụ thuô ̣c của các yế u tố đế n quyế t đinh ̣ của ho ̣c sinh và dự báo an Lu xu hướng lựa cho ̣n của ho ̣c sinh, đề tài luận văn lựa chọn với tiêu n va ac th Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an đề “Học máy phƣơng pháp hồi quy logistic ứng dụng phân luồng học sinh phổ thơng” Tổng quan tình hình nghiên cứu đề tài: Hồi quy logistic phân tích hồi quy thích hợp để tiến hành biến phụ thuộc nhị phân Giống tất phân tích hồi quy, hồi quy logistic phân tích dự đốn Hồi quy logistic sử dụng để mơ tả liệu để giải thích mối quan hệ biến nhị phân phụ thuộc lu nhiều biến độc lập an n va Ví dụ ngữ cảnh y khoa, mục tiêu hồi qui Logistic nghiên tn to cứu mối tương quan hay nhiều yếu tố nguy đối tượng phân gh tích Trong hồi qui logistic đối tượng nghiên cứu thường thể p ie qua biến số nhị phân yếu tố nguy thể qua oa nl w biến số liên tục biến nhị phân hay biến thứ bậc Vấn đề đặt cho nghiên cứu dạng để ước tính độ tương quan yếu tố d nguy đối tượng phân tích Các phương pháp phân tích hồi qui tuyến v an lu tích khơng áp dụng biến phụ thuộc khơng phải biến liên tục mà fu an biến nhị phân Trong năm 1970, nhà thống kê David R Cox phát m ll triển mơ hình có tên Logistic Regression Model để phân tích biến nhị n oi phân [3] Mơ hình trở nên có giá trị ứng dụng thống kê vào đầu t năm 1980 (Ahani, et.al, 2010) Kể từ đó, hồi quy logistic sử z z dụng nhiều chuyên ngành bao gồm nghiên cứu y học (Sanchez @ gm cộng sự, 2008; Kaufman cộng sự, 2000; Rubino cộng sự, 2003) l nghiên cứu y sinh chủ yếu để hình thành mơ hình xếp yếu tố có m co thể định liệu kết có xảy hay khơng (Sharareh R cộng sự, an Lu 2010) Trong nghiên cứu xã hội (Ingles cộng sự., 2009; King Zeng, 2002; Saijo cộng sự., 2008; Garcia-Ramirez cộng sự, 2005), n va ac th Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 68 print(clf.predict(X)) k=clf.decision_function(X) p=1.0 / (1.0 + np.exp(-k)) print(p) #Thu voi bo du lieu Thunhap = 55000 m = np.array([55000]).reshape(1,1) print(clf.predict(m)) k=clf.decision_function(m) lu an p=1.0 / (1.0 + np.exp(-k)) n va print('xac suat ',p) tn to print(clf.score(X, y)) ie gh #Thu voi bo du lieu Thunhap = 31000 p m = np.array([31000]).reshape(1,1) oa nl w print(clf.predict(m)) k=clf.decision_function(m) d v an lu p=1.0 / (1.0 + np.exp(-k)) print('xac suat ',p) m ll fu an print(clf.score(X, y)) #Thu voi bo du lieu Thunhap = 11000 m co l print(clf.score(X, y)) gm print('xac suat ',p) @ p=1.0 / (1.0 + np.exp(-k)) z k=clf.decision_function(m) z print(clf.predict(m)) t n oi m = np.array([21000]).reshape(1,1) an Lu #Thu voi bo du lieu Thunhap = 6500 n va ac th Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 69 m = np.array([9000]).reshape(1,1) print(clf.predict(m)) k=clf.decision_function(m) p=1.0 / (1.0 + np.exp(-k)) print('xac suat ',p) print(clf.score(X, y)) lu an n va p ie gh tn to d oa nl w m ll fu an v an lu t n oi z z gm @ m co l an Lu n va ac th Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 70 PHỤ LỤC II: CHƢƠNG TRÌNH VÍ DỤ VỀ HỒI QUY ĐA BIẾN import pandas as pd import numpy as np from sklearn.linear_model import LogisticRegression # training dataset DATA_FILE_NAME = 'data.csv' # gradient descent max step INTERATIONS = 200000 lu an # learning rate n va ALPHA = 0.001 return 1.0 / (1.0 + np.exp(-z)) ie gh tn to def sigmoid(z): p def compute_cost(X, y, theta): oa nl w # number of training examples m = y.size d v an lu # activation h = sigmoid(np.dot(X, theta)) m ll fu an # cost j = - np.sum(y * np.log(h) + (1 - y) * np.log(1 - h)) / m n oi t return j z def gradient_descent(X, y, theta, alpha, num_inters): z gm @ # number of training examples m = y.size m co for i in range(num_inters): l jHistory = np.empty(num_inters) an Lu delta = np.dot(X.T, sigmoid(np.dot(X, theta))- y) / m n va ac th Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 71 theta -= alpha * delta jHistory[i] = compute_cost(X, y, theta) return theta, jHistory df = pd.read_csv(DATA_FILE_NAME) df_0 = df[df.y == 0] df_1 = df[df.y == 1] # extract X,y lu an X = df.values[:, 0:2] n va y = df.values[:,2] tn to m = y.size # number of training examples ie gh # add X_0 to X p X = np.concatenate((np.ones((m,1)), X.reshape(-1,2)), axis=1) print(theta) d oa nl w theta, jHistory = gradient_descent(X, y, np.zeros(X.shape[1]), ALPHA, INTERATIONS) v an lu khachhang = pd.read_csv("data.csv") fu an X = khachhang[['x_1','x_2']] m ll y= khachhang['y'] #X = X.fillna(X.mean()) t n oi #print(X,y) z z #clf = LogisticRegression(random_state=0, solver='lbfgs') gm @ clf = LogisticRegression() k=clf.decision_function(X) m co l clf.fit(X, y) an Lu p=1.0 / (1.0 + np.exp(-k)) n va ac th Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 72 print(p) print(clf.predict(X)) print(clf.score(X, y)) #Du doan voi so tien chi la 7.8, co the vien m = np.array([7.8,1]).reshape(1,2) k=clf.decision_function(m) p=1.0 / (1.0 + np.exp(-k)) print('xac suat ',p) lu an print(clf.predict(m)) n va print(clf.score(X, y)) tn to #Du doan voi so tien chi la 7.8, khong dang ki vien ie gh m = np.array([7.8,0]).reshape(1,2) p k=clf.decision_function(m) oa nl w p=1.0 / (1.0 + np.exp(-k)) print('xac suat ',p) d v an lu print(clf.predict(m)) print(clf.score(X, y)) m ll fu an #Du doan voi so tien chi la 2.1, co dang ki vien m co l print(clf.score(X, y)) gm print(clf.predict(m)) @ print('xac suat ',p) z p=1.0 / (1.0 + np.exp(-k)) z k=clf.decision_function(m) t n oi m = np.array([2.1,1]).reshape(1,2) an Lu #Du doan voi so tien chi la 2.1, khong dang ki vien n va ac th Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 73 m = np.array([2.1,0]).reshape(1,2) k=clf.decision_function(m) p=1.0 / (1.0 + np.exp(-k)) print('xac suat ',p) print(clf.predict(m)) print(clf.score(X, y) ) lu an n va p ie gh tn to d oa nl w m ll fu an v an lu t n oi z z gm @ m co l an Lu n va ac th Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 74 PHỤ LỤC III: CHƢƠNG TRÌNH ĐỂ TÍNH RA CÁC GIÁ TRỊ CỦA XÁC SUẤT P VÀ CÁC GIÁ TRỊ CỦA W #Buoc 1: nhap vao cac thu vien #thu vien dung cho cac phep toan dai so tuyen tinh import numpy as np #thu vien de xu li du lieu import pandas as pd #dung de chuan hoa du lieu lu from sklearn import preprocessing an n va #dung de tim nhung chuc nang quan nhat tn to from sklearn.feature_selection import SelectKBest, chi2 #cac thu vien cho logistic regression gh p ie from sklearn.linear_model import LogisticRegression oa nl w from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score d import time v an lu #Buoc 2: Tai tap du lieu fu an #Lay tap du lieu mau m ll df = pd.read_csv('hocsinhTHPT.csv') n oi print('Cau truc cua file du lieu hoc sinh',df.shape) t print(df[0:5]) z z print(df.count().sort_values()) @ gm print(df) m co df1=df.drop(columns=['Thoigian'],axis=1) l # Bo cot Thoigian Lu an print(df1) n va ac th Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 75 print(df1.shape) # Xoa nhung hoc sinh dien bi thieu thong tin df2 = df1.dropna(how='any') print(df2.shape) print(df2.count().sort_values()) # Khong xoa nhung hoc sinh bi thieu thong tin ma dien vao cho du df[['TdhvBo','Thunhap','Tinhcach','Hocluc','HotroTC','VDGDhuongnghiep','V itricon','Baoho','QHGD','QuymoGD','TinhTrangSK','Tuoi','Hokhau','GT','Tdh vMe']] lu an #y= df['Luachon'] n va #print(X,y) gh tn to #X = X.fillna(X.mean()) p ie #dien xong roi in de kiem tra oa nl w #print(X.count().sort_values()) #print(X,y) d #print(X.shape) v an lu #chuan hoa du lieu m ll #scaler.fit(df) fu an #scaler = preprocessing.MinMaxScaler() t n oi #df = pd.DataFrame(scaler.transform(df), index=df.index, columns=df.columns) z #df.iloc[4:10] z #Doan chuong trinh sau de tinh cac w m co an INTERATIONS = 200000 Lu # gradient descent max step l DATA_FILE_NAME = 'hocsinhTHPT.csv' gm @ #print(df) n va ac th Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 76 # learning rate ALPHA = 0.001 def sigmoid(z): return 1.0 / (1.0 + np.exp(-z)) def compute_cost(X, y, theta): # number of training examples m = y.size # activation lu an h = sigmoid(np.dot(X, theta)) n va # cost return j ie gh tn to j = - np.sum(y * np.log(h) + (1 - y) * np.log(1 - h)) / m p def gradient_descent(X, y, theta, alpha, num_inters): oa nl w # number of training examples m = y.size d v an lu jHistory = np.empty(num_inters) for i in range(num_inters): fu an delta = np.dot(X.T, sigmoid(np.dot(X, theta))- y) / m m ll theta -= alpha * delta n oi z return theta, jHistory t jHistory[i] = compute_cost(X, y, theta) m co l # extract X,y gm df2_1 = df2[df2.Luachon == 1] @ df2_0 = df2[df2.Luachon == 0] z #df = pd.read_csv(DATA_FILE_NAME) an Lu X = df2.values[:, 0:15] n va ac th Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 77 y = df2.values[:,15] m = y.size # number of training examples # add X_0 to X X = np.concatenate((np.ones((m,1)), X.reshape(-1,15)), axis=1) theta, jHistory = gradient_descent(X, y, np.zeros(X.shape[1]), ALPHA, INTERATIONS) print(theta) #mo hinh logistic regression lu t0 = time.time() an n va print(X,y) tn to clf = LogisticRegression() clf.fit(X, y) gh p ie print('Du doan Lua chon cho cac hoc sinh') oa nl w print(clf.predict(X)) print(clf.decision_function(X)) d k=clf.decision_function(X) v an lu p=1.0 / (1.0 + np.exp(-k)) fu an print('xac suat ',p) m ll print('Do chinh xac cua mo hinh',clf.score(X, y)) n oi print('Thoi gian thuc hien mo hinh',time.time() - t0) t #Du doan voi mot hoc sinh co lua chon z z df = pd.read_csv("hocsinhTHPT2.csv") m co l print(df3.shape) gm df3 = df.dropna(how='any') @ # Xoa nhung hoc sinh dien bi thieu thong tin an Lu print(df3.count().sort_values()) n va ac th Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 78 X = df2.values[:, 0:15] y = df2.values[:,15] df[['GT','Hokhau','Tuoi','TinhTrangSK','QuymoGD','TdhvBo','TdhvMe','Thun hap','HotroTC','Hocluc','QHGD','Baoho','Vitricon','Tinhcach','VDGDhuongng hiep']] #y= df['Luachon'] #print(X,y) #X = X.fillna(X.mean()) clf = LogisticRegression() lu an clf.fit(X, y) n va m = np.array([0,0,2,3,0,4,3,3,0,3,2,2,2,6,1]).reshape(1,15) gh tn to print('du doan lua chon cua hoc sinh la: ', clf.predict(m)) p ie print(clf.decision_function(m)) oa nl w k=clf.decision_function(m) p=1.0 / (1.0 + np.exp(-k)) d print('xac suat p = ',p) v an lu print('Do chinh xac cua mo hinh',clf.score(X, y)) m ll fu an print('Thoi gian thuc hien mo hinh',time.time() - t0) t n oi z z gm @ m co l an Lu n va ac th Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 79 PHỤ LỤC IV: CHƢƠNG TRÌNH ĐÁNH GIÁ MƠ HÌNH #Buoc 1: nhap vao cac thu vien #thu vien dung cho cac phep toan DSTT import numpy as np #thu vien de xu li du lieu import pandas as pd #cac thu vien cho logistic regression from sklearn.linear_model import LogisticRegression lu an from sklearn.model_selection import train_test_split n va from sklearn.metrics import accuracy_score tn to from sklearn.metrics import classification_report ie gh from sklearn import metrics p import time oa nl w df = pd.read_csv("hocsinhTHPT2.csv") d v an lu # Xoa nhung hoc sinh dien bi thieu thong tin df3 = df.dropna(how='any') m ll fu an print(df3.shape) print(df3.count().sort_values()) t z y = df3.values[:,15] n oi X = df3.values[:, 0:15] z gm @ #X = df[['GT','Hokhau','Tuoi','TinhTrangSK','QuymoGD','TdhvBo','TdhvMe','Thun hap','HotroTC','Hocluc','QHGD','Baoho','Vitricon','Tinhcach','VDGDhuongng hiep']] m co l an #print(X,y) Lu #y= df['Luachon'] n va ac th Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 80 #X = X.fillna(X.mean()) X1 = df3.values[:200, 0:15] y1 = df3.values[:200,15] from sklearn import preprocessing as pp mms = pp.MinMaxScaler(feature_range= (0,1)) X_train1 = mms.fit_transform(X1) print(X_train1) clf = LogisticRegression() lu an clf.fit(X_train1, y1) n va print(clf.predict(X_train1)) ie gh tn to yy=clf.predict(X_train1) p k=clf.decision_function(X_train1) oa nl w p=1.0 / (1.0 + np.exp(-k)) print('xac suat ',p) d v an lu print('Do chinh xac cua mo hinh la: ',clf.score(X_train1,y1)) # Danh gia mo hinh bang ma tran confusion fu an # Su dung toan bo du lieu cua tap huan luyen de Test m ll predictions = clf.predict(X) n oi gm @ print('\n Ma tran chuan hoa') z print(cnf_matrix) z print('\n Ma tran chua chuan hoa') t cnf_matrix = metrics.confusion_matrix(y, predictions) l m co normalized_confusion_matrix = cnf_matrix/cnf_matrix.sum(axis = 1, keepdims = True) an Lu print(normalized_confusion_matrix) n va ac th Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 81 print('\n Do chinh xac mơ hình', np.diagonal(cnf_matrix).sum()/cnf_matrix.sum()) # in frame danh gia predictions = clf.predict(X) print(classification_report(y,predictions)) #Danh gia mo hinh chia tap du lieu t0 = time.time() #X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=421) lu X = df3.values[:200, 0:15] an n va y = df3.values[:200,15] tn to from sklearn import preprocessing as pp mms = pp.MinMaxScaler(feature_range= (0,1)) gh p ie X_train1 = mms.fit_transform(X) oa nl w print(X_train1) clf_logreg = LogisticRegression(random_state=0) d # Xay dung mo hinh su dung tap du lieu huan luyen v an lu clf_logreg.fit(X, y) fu an # Danh gia mo hinh su dung tap du lieu kiem tra m ll y_pred = clf_logreg.predict(X_train1) n oi l=clf_logreg.decision_function(X_train1) t score = accuracy_score(y, y_pred) z z print(clf_logreg.predict(X_train1)) gm @ print('Do chinh xac cua mo hinh la: ',score) l print('Thoi gian thuc hien mo hinh',time.time() - t0) m co # Danh gia mo hinh bang ma tran confusion an Lu # Su dung 25% du lieu cua tap huan luyen de Test n va ac th Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn

Ngày đăng: 31/07/2023, 20:09

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

Tài liệu liên quan