luận văn thạc sĩ 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 4 0
luận văn thạc sĩ 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 rõ nguồn gốc, số liệu kết nghiên cứu đề tài trung thực hồn tồn khơng chép sử dụng kết nghiên cứu đề tài tương tự Bình Định, ngày 15 tháng năm 2020 Tác giả đề tài Nguyễn Thị Phú download by : skknchat@gmail.com 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ê Xn 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ể quý thầy cô 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 Nhân dịp tơi xin gửi lời cảm ơn chân thành tới gia đình, đồng nghiệp học sinh trường THPT Tăng Bạt Hổ cổ vũ, động 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 Bình Định, ngày 15 tháng năm 2020 Tác giả đề tài Nguyễn Thị Phú download by : skknchat@gmail.com 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: Đối tượng phạm vi nghiên cứu: 5 Phương pháp nghiên cứu: Kết cấu luận văn CHƢƠNG TỔNG QUAN VỀ HỌC MÁY 1.1 Tổng quan học máy 1.2 Phân nhóm thuật tốn học máy 12 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 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 1.2.1.4 Học củng cố (Reinforcement learning): 14 1.2.2 Phân loại dựa chức năng: 15 1.2.2.1 Thuật toán hồi quy (Regression Algorithms) 15 1.2.2.2 Thuật toán phân loại (Classification Algorithms) 15 1.2.2.3 Một số thuật toán khác: 16 1.3 Quy trình tổ chức chương trình học máy: 16 1.4 Đánh giá mơ hình học máy: 17 1.4.1 Phương pháp accuracy 18 1.4.2 Phương pháp Confusion matrix 18 1.4.3 Phương pháp True/False Positive/Negative 21 download by : skknchat@gmail.com 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 2.4 Hàm mát phương pháp tối ưu 37 2.4.1 Xây dựng hàm mát (loss function) 37 2.4.2 Tối ưu hàm mát .38 2.4.2.1 Khái quát tối ưu phương pháp Gradient Descent 38 2.4.2.2 Thuật toán Gradient Descent 40 2.4.2.3 Thuật toán Stochastic Gradient Descent dùng để tối ưu hàm mát: 40 2.5 Một số ví dụ ứng dụng vào phương pháp hồi quy Logistic 41 2.5.1 Ví dụ hồi quy đơn biến 41 2.5.2 Ví dụ hồi quy đa biến 45 Kết luận chương 49 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 tốn 50 3.2 Mô tả liệu đầu vào, đầu toán 51 3.3 Tiền xử lí liệu 54 3.4 Mô tả tập liệu huấn luyện 58 3.5 Xây dựng mơ hình 59 3.6 Sử dụng mơ hình để dự báo 61 3.7 Đánh giá mô hình 61 download by : skknchat@gmail.com 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 download by : skknchat@gmail.com luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong 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 Hình 1.4: Cách tính Precision Recall ……………………………… 24 Hình 2.1: Biểu diễn mơ hình phân lớp ………………………………… 30 Hình 2.2: Hàm sigmoid ……………………………………………… 32 Hình 2.3: Ranh giới định ……………………………………… 33 Hình 2.4: Minh họa điểm Global Minima Local Minima ………… 37 luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong download by : skknchat@gmail.com luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong vii DANH MỤC BẢNG BIỂU Bảng 1.1: Ma trận chưa chuẩn hóa …………………………………… 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 Bảng 2.1 Dữ liệu mẫu cho ví dụ hồi quy đơn biến …………………… 40 Bảng 2.2 Dự đoán mơ hình hồi quy đơn biến với vài khách hàng ………………………………………………………………… 42 Bảng 2.3 Dữ liệu mẫu cho ví dụ hồi quy đa biến …………………… 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 Bảng 3.1 Mô tả đặc trưng học sinh chương trình ……… 50 Bảng 3.2 Kiểm tra mơ hình với số liệu …………………… 57 luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong download by : skknchat@gmail.com luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong 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… Nhưng dự báo phương pháp hồi quy tuyến tính hồi quy logistic ứng dụng rộng rãi nhiều lĩnh vực giáo dục, kinh doanh y học Nó có sở khoa học rõ ràng mang lại kết với độ xác cao Phân tích hồi quy logistic phân tích thống kê nhằm xác định mối quan hệ đối tượng quan tâm (biến phụ thuộc) đối tượng 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ụ thuộc nhị phân hay rời rạc Trong giáo dục nước ta nay, công tác phân luồng giáo dục 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 không còn là đường nhấ t để đế n thành công Công tác phân luồng học sinh ở Vi ệt Nam thời gian qua cò n chưa tố t Ở n ước tiên tiế n Đứ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ố không nhỏ cho ̣n xu hướng ho ̣c nghề để bổ sung vào lực lươ ̣ng lao đô ̣ng nghề nghiê ̣p Việt Nam bắ t đầ u đã có xu hướng đó Gầ n đăng ký xét tuyển vào đại học , nhiề u điạ phương Nghê ̣ An , Thanh Hóa có nơi số ho ̣c sinh 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 phải suy nghĩ Những yế u tố nào dẫn đế n quyế t đinh ̣ này ? Đây vấn đề cần phải phát hiện, nghiên cứu và có mô ̣t tổ ng kế t luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong download by : skknchat@gmail.com luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong 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] Các nhà quản lý, giáo dục cố gắng khám phá yếu tố để dự đoán khả học sinh học lên đại học cao đẳng hay học nghề Vì nghiên cứu nhằm mục đích thiết lập mơ hình dự đốn cách sử dụng số yếu tố ảnh hưởng đến định học sinh như: Học sinh có hộ 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 mơ gia đình; tính cách; thu nhập Bố/Mẹ; trình độ học vấn Bố/Mẹ; vấn đề 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 nghề? Nghiên cứu thống kê gần 500 học sinh trường THPT Tăng Bạt 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 hưởng lựa chọn học sinh Từ đưa mơ hình dự đoán cho năm cách phân luồng học sinh để nhà trường gia đình có định hướng tốt cho học sinh vấn đề lựa chọn nghề nghiệp tương lai Để hiểu rõ mơ hình hồi quy logistic ứng dụng việc 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 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 luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong download by : skknchat@gmail.com luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong đề “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 nhiều biến độc lập Ví dụ ngữ cảnh y khoa, mục tiêu hồi qui Logistic nghiên cứu mối tương quan hay nhiều yếu tố nguy đối tượng phân tích Trong hồi qui logistic đối tượng nghiên cứu thường thể qua biến số nhị phân cịn yếu tố nguy thể qua 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ố nguy đối tượng phân tích Các phương pháp phân tích hồi qui tuyến tích khơng áp dụng biến phụ thuộc khơng phải biến liên tục mà biến nhị phân Trong năm 1970, nhà thống kê David R Cox phát triển mơ hình có tên Logistic Regression Model để phân tích biến nhị phân [3] Mơ hình trở nên có giá trị ứng dụng thống kê vào đầu năm 1980 (Ahani, et.al, 2010) Kể từ đó, hồi quy logistic sử dụng nhiều chuyên ngành bao gồm nghiên cứu y học (Sanchez cộng sự, 2008; Kaufman cộng sự, 2000; Rubino cộng sự, 2003) nghiên cứu y sinh chủ yếu để hình thành mơ hình xếp yếu tố định liệu kết có xảy hay không (Sharareh R cộng sự, 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), luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong download by : skknchat@gmail.com luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong 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) p=1.0 / (1.0 + np.exp(-k)) print('xac suat ',p) print(clf.score(X, y)) #Thu voi bo du lieu Thunhap = 31000 m = np.array([31000]).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)) #Thu voi bo du lieu Thunhap = 11000 m = np.array([21000]).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)) #Thu voi bo du lieu Thunhap = 6500 luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong download by : skknchat@gmail.com luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong 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)) luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong download by : skknchat@gmail.com luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong 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 # 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 h = sigmoid(np.dot(X, theta)) # cost j = - np.sum(y * np.log(h) + (1 - y) * np.log(1 - h)) / m return j def gradient_descent(X, y, theta, alpha, num_inters): # number of training examples m = y.size jHistory = np.empty(num_inters) for i in range(num_inters): delta = np.dot(X.T, sigmoid(np.dot(X, theta))- y) / m luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong download by : skknchat@gmail.com luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong 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 X = df.values[:, 0:2] y = df.values[:,2] m = y.size # number of training examples # add X_0 to X X = np.concatenate((np.ones((m,1)), X.reshape(-1,2)), axis=1) theta, jHistory = gradient_descent(X, y, np.zeros(X.shape[1]), ALPHA, INTERATIONS) print(theta) khachhang = pd.read_csv("data.csv") X = khachhang[['x_1','x_2']] y= khachhang['y'] #print(X,y) #X = X.fillna(X.mean()) #clf = LogisticRegression(random_state=0, solver='lbfgs') clf = LogisticRegression() clf.fit(X, y) k=clf.decision_function(X) p=1.0 / (1.0 + np.exp(-k)) luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong download by : skknchat@gmail.com luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong 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) print(clf.predict(m)) print(clf.score(X, y)) #Du doan voi so tien chi la 7.8, khong dang ki vien m = np.array([7.8,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)) #Du doan voi so tien chi la 2.1, co dang ki vien m = np.array([2.1,1]).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)) #Du doan voi so tien chi la 2.1, khong dang ki vien luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong download by : skknchat@gmail.com luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong 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) ) luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong download by : skknchat@gmail.com luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong 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 from sklearn import preprocessing #dung de tim nhung chuc nang quan nhat from sklearn.feature_selection import SelectKBest, chi2 #cac thu vien cho logistic regression from sklearn.linear_model import LogisticRegression from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score import time #Buoc 2: Tai tap du lieu #Lay tap du lieu mau df = pd.read_csv('hocsinhTHPT.csv') print('Cau truc cua file du lieu hoc sinh',df.shape) print(df[0:5]) print(df.count().sort_values()) print(df) # Bo cot Thoigian df1=df.drop(columns=['Thoigian'],axis=1) print(df1) luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong download by : skknchat@gmail.com luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong 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']] #y= df['Luachon'] #print(X,y) #X = X.fillna(X.mean()) #dien xong roi in de kiem tra #print(X.count().sort_values()) #print(X,y) #print(X.shape) #chuan hoa du lieu #scaler = preprocessing.MinMaxScaler() #scaler.fit(df) #df = pd.DataFrame(scaler.transform(df), index=df.index, columns=df.columns) #df.iloc[4:10] #print(df) #Doan chuong trinh sau de tinh cac w DATA_FILE_NAME = 'hocsinhTHPT.csv' # gradient descent max step INTERATIONS = 200000 luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong download by : skknchat@gmail.com luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong 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 h = sigmoid(np.dot(X, theta)) # cost j = - np.sum(y * np.log(h) + (1 - y) * np.log(1 - h)) / m return j def gradient_descent(X, y, theta, alpha, num_inters): # number of training examples m = y.size jHistory = np.empty(num_inters) for i in range(num_inters): delta = np.dot(X.T, sigmoid(np.dot(X, theta))- y) / m theta -= alpha * delta jHistory[i] = compute_cost(X, y, theta) return theta, jHistory #df = pd.read_csv(DATA_FILE_NAME) df2_0 = df2[df2.Luachon == 0] df2_1 = df2[df2.Luachon == 1] # extract X,y X = df2.values[:, 0:15] luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong download by : skknchat@gmail.com luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong 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 t0 = time.time() print(X,y) clf = LogisticRegression() clf.fit(X, y) print('Du doan Lua chon cho cac hoc sinh') print(clf.predict(X)) print(clf.decision_function(X)) k=clf.decision_function(X) p=1.0 / (1.0 + np.exp(-k)) print('xac suat ',p) print('Do chinh xac cua mo hinh',clf.score(X, y)) print('Thoi gian thuc hien mo hinh',time.time() - t0) #Du doan voi mot hoc sinh co lua chon df = pd.read_csv("hocsinhTHPT2.csv") # Xoa nhung hoc sinh dien bi thieu thong tin df3 = df.dropna(how='any') print(df3.shape) print(df3.count().sort_values()) luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong download by : skknchat@gmail.com luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong 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() clf.fit(X, y) m = np.array([0,0,2,3,0,4,3,3,0,3,2,2,2,6,1]).reshape(1,15) print('du doan lua chon cua hoc sinh la: ', clf.predict(m)) print(clf.decision_function(m)) k=clf.decision_function(m) p=1.0 / (1.0 + np.exp(-k)) print('xac suat p = ',p) print('Do chinh xac cua mo hinh',clf.score(X, y)) print('Thoi gian thuc hien mo hinh',time.time() - t0) luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong download by : skknchat@gmail.com luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong 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 from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score from sklearn.metrics import classification_report from sklearn import metrics import time df = pd.read_csv("hocsinhTHPT2.csv") # Xoa nhung hoc sinh dien bi thieu thong tin df3 = df.dropna(how='any') print(df3.shape) print(df3.count().sort_values()) X = df3.values[:, 0:15] y = df3.values[:,15] #X = df[['GT','Hokhau','Tuoi','TinhTrangSK','QuymoGD','TdhvBo','TdhvMe','Thun hap','HotroTC','Hocluc','QHGD','Baoho','Vitricon','Tinhcach','VDGDhuongng hiep']] #y= df['Luachon'] #print(X,y) luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong download by : skknchat@gmail.com luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong 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() clf.fit(X_train1, y1) print(clf.predict(X_train1)) yy=clf.predict(X_train1) k=clf.decision_function(X_train1) p=1.0 / (1.0 + np.exp(-k)) print('xac suat ',p) print('Do chinh xac cua mo hinh la: ',clf.score(X_train1,y1)) # Danh gia mo hinh bang ma tran confusion # Su dung toan bo du lieu cua tap huan luyen de Test predictions = clf.predict(X) cnf_matrix = metrics.confusion_matrix(y, predictions) print('\n Ma tran chua chuan hoa') print(cnf_matrix) print('\n Ma tran chuan hoa') normalized_confusion_matrix = cnf_matrix/cnf_matrix.sum(axis = 1, keepdims = True) print(normalized_confusion_matrix) luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong download by : skknchat@gmail.com luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong 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) X = df3.values[:200, 0:15] y = df3.values[:200,15] from sklearn import preprocessing as pp mms = pp.MinMaxScaler(feature_range= (0,1)) X_train1 = mms.fit_transform(X) print(X_train1) clf_logreg = LogisticRegression(random_state=0) # Xay dung mo hinh su dung tap du lieu huan luyen clf_logreg.fit(X, y) # Danh gia mo hinh su dung tap du lieu kiem tra y_pred = clf_logreg.predict(X_train1) l=clf_logreg.decision_function(X_train1) score = accuracy_score(y, y_pred) print(clf_logreg.predict(X_train1)) print('Do chinh xac cua mo hinh la: ',score) print('Thoi gian thuc hien mo hinh',time.time() - t0) # Danh gia mo hinh bang ma tran confusion # Su dung 25% du lieu cua tap huan luyen de Test luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong download by : skknchat@gmail.com luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong luan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thongluan.van.thac.si.hoc.may.bang.phuong.phap.hoi.quy.logistic.va.ung.dung.trong.phan.luong.hoc.sinh.pho.thong

Ngày đăng: 03/01/2024, 07:01

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

Tài liệu liên quan