Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 87 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
87
Dung lượng
3,67 MB
Nội dung
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH VÕ HỒNG NHÂN NGHIÊN CỨU ỨNG DỤNG PHƯƠNG PHÁP SVM VÀO PHÂN NHÓM HỌC SINH CÓ KHẢ NĂNG CAO VÀO HỌC TẠI TRƯỜNG ĐẠI HỌC KIÊN GIANG Chuyên ngành: KHOA HỌC MÁY TÍNH Mã chuyên ngành: 60 48 01 01 LUẬN VĂN THẠC SĨ THÀNH PHỐ HỒ CHÍ MINH, NĂM 2021 Cơng trình hồn thành Trường Đại học Cơng nghiệp TP Hồ Chí Minh Người hướng dẫn khoa học: TS Trương Khắc Tùng Luận văn thạc sĩ bảo vệ Hội đồng chấm bảo vệ Luận văn thạc sĩ Trường Đại học Công nghiệp thành phố Hồ Chí Minh ngày 17 tháng 10 năm 2021 Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: PGS.TS Huỳnh Trung Hiếu - Chủ tịch Hội đồng TS Lê Thành Sách - Phản biện TS Đặng Thị Phúc - Phản biện TS Trịnh Tấn Đạt - Ủy viên TS Lê Nhật Duy - Thư ký (Ghi rõ họ, tên, học hàm, học vị Hội đồng chấm bảo vệ luận văn thạc sĩ) CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA CÔNG NGHỆ THÔNG TIN BỘ CƠNG THƯƠNG CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP Độc lập - Tự - Hạnh phúc THÀNH PHỐ HỒ CHÍ MINH NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Võ Hoàng Nhân MSHV: 17112911 Ngày, tháng, năm sinh: 10/4/1993 Nơi sinh: Sóc Trăng Chun ngành: Khoa học máy tính Mã chuyên ngành: 60480101 I TÊN ĐỀ TÀI: Nghiên cứu ứng dụng phương pháp SVM vào phân nhóm học sinh có khả cao vào học trường Đại học Kiên Giang NHIỆM VỤ VÀ NỘI DUNG: - Nghiên cứu phương pháp phân nhóm liệu - Tiền xử lý thu thập - Xây dựng ứng dụng phân nhóm liệu dựa vào thuậ tốn SVM - Phân tích kết đưa hướng phát triển II NGÀY GIAO NHIỆM VỤ: 06/09/2019 III NGÀY HOÀN THÀNH NHIỆM VỤ: 17/10/2021 IV NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Trương Khắc Tùng Tp Hồ Chí Minh, ngày … tháng NGƯỜI HƯỚNG DẪN năm 2021 CHỦ NHIỆM BỘ MÔN ĐÀO TẠO TS Trương Khắc Tùng TRƯỞNG KHOA CÔNG NGHỆ THÔNG TIN LỜI CẢM ƠN Để hoàn thành luận văn thạc sĩ này, tơi xin bày tỏ cảm kích đặc biệt tới cố vấn tôi, Tiến sĩ Trương Khắc Tùng - Người định hướng, trực tiếp dẫn dắt cố vấn cho suốt thời gian thực đề tài nghiên cứu khoa học Tôi xin gửi lời cảm ơn đến thầy tất tấm lịng biết ơn Tơi xin gửi lời cảm ơn chân thành đến thầy Lê Nhật Duy – Phó khoa Cơng nghệ thơng tin hướng dẫn giúp đỡ biểu mẫu quy trình hoàn thành đề tài luận văn từ bắt đầu đăng ký đề cương đến bảo vệ luận văn Tôi xin gửi lời cảm ơn chân thành đến thầy Lê Ngọc Sơn – Trưởng phòng Quản lý Sau đại học tất Thầy, Cô giúp đỡ thủ tục cần thiết để hồn thành luận văn Sau cùng, tơi xin tỏ lịng biết ơn đến Trường Đại học Kiên Giang – Cơ quan nơi công tác, tạo điều kiện thời gian, cơng việc để tơi hồn thành luận văn thạc sĩ Xin chân thành cảm ơn tất người! i TÓM TẮT LUẬN VĂN THẠC SĨ Việc tuyển sinh trường Đại học, Cao đẳng, trung cấp chuyên nghiệp thời gian gần vấn đề Lãnh đạo trường đặc biệt quan tâm Các thay đổi quy định Bộ giáo dục ảnh hưởng rất nhiều đến hiệu tuyển sinh trường Bên cạnh số lượng trường Đại học, Cao đẳng, trung cấp chuyên nghiệp thành lập ngày nhiều trình tuyển sinh gặp khơng khó khăn, có rất nhiều trường không tuyển sinh giải tán sáp nhập vào trường lớn để trì hoạt đợng Để đối mặt với thực trường lập kế hoạch, chiến lược mới, có tính đợt phá để hồn thành tiêu Bợ giáo dục giao hàng năm trường Đại học Kiên Giang mợt số Trường Đại học Kiên Giang thành lập theo Quyết định số 758/QĐ/TTg ngày 21/05/2014 Thủ tướng Chính Phủ sở Phân hiệu Trường Đại Học Nha Trang Kiên Giang Hiện trường có khoảng 5000 Sinh viên theo học, hàng năm trường Bộ giáo dục đào tạo giao tiêu Tuyển sinh khoảng 1000 Sinh viên Do trường thành lập nên trình Tuyển sinh gặp rất nhiều khó khăn, có nhiều phương án đưa nhìn chung chưa tối ưu Vì đề tài đề xuất một phương pháp giúp nhà Trường có nhìn tổng qt tình hình Tuyển sinh cách phân nhóm học sinh có khả cao vào học tập trường Đại học Kiên Giang Để thực việc chúng tơi sử dụng thuật tốn Support Vector Machine (SVM) cài đặt ngôn ngữ Python 3.6 một số thư viện hỗ trợ khác ii ABSTRACT Student enrollment for universities, colleges, and professional secondary schools was an issue that the school administrator pay more attention at the moment Beside, the enrollment regulations of the Ministry of Education and Training had changed every year that also significantly affect on enrollment efficiency at schools In addition, the number of universities have been established more and more Therefore, the enrollment process was also fronting many difficulties Many schools were not enroll students that have separated or merged into large schools to maintain operations To face the reality situation, Kien Giang university was one of the universities which always designs breakthrough plans and strategies to fulfill the annual target assigned by the Ministry of Education and Training Kien Giang University was established under Decision No 758/QD/TTg by the Prime Minister dated May 21, 2014 Currently, Kien Giang University has about 5000 students This university is assigned the target of Enrollment about 1000 students by the Ministry of Education and Training every year Because Kien Giang University has been established for years ago, the admission process also faced many difficulties Although the administrators tried to find many options, the results of the enrollment for their university were not satisfactory Hence, in this current study, researcher suggested a method to contribute Kien Giang University have an overview of the enrollment situation by grouping students with high possibility to learn at Kien Giang University Researcher used the Support Vector Machine (SVM) algorithm installed on Python 3.6 language and some other support archives iii LỜI CAM ĐOAN Tơi xin cam đoan cơng trình nghiên cứu thân Các kết nghiên cứu kết luận luận văn trung thực, không chép từ bất kỳ một nguồn bất kỳ hình thức Việc tham khảo nguồn tài liệu (nếu có) thực trích dẫn ghi nguồn tài liệu tham khảo quy định Học viên Võ Hoàng Nhân iv MỤC LỤC LỜI CẢM ƠN i TÓM TẮT LUẬN VĂN THẠC SĨ ii ABSTRACT iii LỜI CAM ĐOAN iv MỤC LỤC v DANH MỤC HÌNH ẢNH vii DANH MỤC BẢNG BIỂU viii DANH MỤC TỪ VIẾT TẮT ix MỞ ĐẦU .1 Đặt vấn đề .1 Mục tiêu nghiên cứu Đối tượng phạm vi nghiên cứu Cách tiếp cận phương pháp nghiên cứu .3 Ý nghĩa thực tiễn đề tài .3 CHƯƠNG TỔNG QUAN VỀ LĨNH VỰC NGHIÊN CỨU .4 CHƯƠNG CƠ SỞ LÝ THUYẾT Phân loại thuật toán Machine learning 2.1.1 Phân loại dựa phương thức học .6 2.1.2 Phân loại dựa chức Các thuật tốn dùng để phân nhóm liệu 2.2.1 Support Vector Machine (SVM) 2.2.2 Máy học Naïve bayes 14 2.2.3 Máy học định 17 Mạng Nơ-ron 22 2.3.1 Perceptrons 22 2.3.2 Kiến trúc mạng NN .26 2.3.3 Lan truyền tiến 28 2.3.4 Học với mạng NN .29 2.3.5 Lan truyền ngược đạo hàm 29 2.3.6 Kết luận .31 Thuật toán Principal Component Analysis .32 v 2.4.1 Mở đầu 32 2.4.2 Dữ liệu .33 Các thư viện hỗ trợ .34 2.5.1 Scikit Learn 34 Giới thiệu cơng cụ lập trình mơi trường vận hành 38 2.6.1 Anaconda Jupiter 38 2.6.2 Môi trường vận hành 39 CHƯƠNG CHUẨN BỊ DỮ LIỆU ĐỂ THỰC NGHIỆM 40 Thu thập liệu 40 Tiền xử lý liệu .40 Chuẩn hóa liệu .42 3.3.1 Normalization .43 3.3.2 Standardization 44 CHƯƠNG THỰC NGHIỆM DỰ ĐOÁN KHẢ NĂNG NHẬP HỌC CỦA HỌC SINH VÀ ĐÁNH GIÁ KẾT QUẢ 46 Thực nghiệm .46 4.1.1 Đọc liệu phân chia liệu 46 4.1.2 Huấn luyện 47 Đánh giá kết 51 KẾT LUẬN VÀ KIẾN NGHỊ 62 TÀI LIỆU THAM KHẢO 63 PHỤ LỤC 66 LÝ LỊCH TRÍCH NGANG CỦA HỌC VIÊN 74 vi DANH MỤC HÌNH ẢNH Hình 2.1 Ví dụ bàn cờ vây Hình 2.2 Ví dụ phân lớp SVM không gian R2 .9 Hình 2.3 Phân lớp tuyến tính với SVM .10 Hình 2.4 SVM phân lớp liệu khơng tách rời 11 Hình 2.5 Nơ-ron sinh học 23 Hình 2.6 Perceptron .23 Hình 2.7 Sigmoid Function 25 Hình 2.8 Mơ hình Nơ-ron 26 Hình 2.9 Neural Network 26 Hình 2.10 NN - hidden layer 27 Hình 2.11 Chiều liệu 32 Hình 2.12 Dữ liệu liên quan 33 Hình 2.13 Dữ liệu khơng liên quan .33 Hình 2.14 Mean principal components .34 Hình 2.15 Giao diện Website thư viện Scikit-learn 35 Hình 2.16 Demo thực tốn phân cụm 36 Hình 2.17 Giao diện Anaconda 38 Hình 2.18 Giao diện Jupiter Notebook 39 Hình 2.19 Python 3.6.3 39 Hình 3.1 Tập liệu sau tiền xử lý .42 Hình 3.2 Kết trước sau chuẩn hóa MinMaxScaler 44 Hình 3.3 Kết trước sau chuẩn hóa Normalizer 45 Hình 4.1 Kết sau h́n luyện mơ hình 53 Hình 4.2 Visualize ma trận confusion_matrix 54 Hình 4.3 Kết sau h́n luyện mơ hình phương pháp Naive Bayes 55 Hình 4.4 Kết sau h́n luyện mơ hình phương pháp Cây định 55 Hình 4.5 Kết sau h́n luyện mơ hình phương pháp kNN 56 Hình 4.6 Kết sau huấn luyện mơ hình phương pháp Mạng Noron .56 Hình 4.7 Dữ liệu kiểm tra 57 Hình 4.8 Biểu đồ kết nhập học thực tế 57 Hình 4.9 Tỷ lệ sinh viên dự đoán đăng ký nhập học 58 Hình 4.10 Biểu đồ học sinh dự đoán đăng ký nhập học phương pháp SVM 59 Hình 4.11 Biểu đồ học sinh dự đoán đăng ký nhập học phương pháp Naïve Bayes .59 Hình 4.9 Biểu đồ học sinh dự đoán đăng ký nhập học phương pháp Cây định 60 Hình 4.10 Biểu đồ học sinh dự đoán đăng ký nhập học phương pháp kNN 60 Hình 4.11 Biểu đồ học sinh dự đốn đăng ký nhập học phương pháp mạng Noron 61 vii Hình 4.11 Biểu đồ học sinh dự đoán đăng ký nhập học phương pháp mạng Noron 61 KẾT LUẬN VÀ KIẾN NGHỊ Luận văn trình bày tổng quan phương pháp phân lớp học sinh có khả cao vào học trường Đại học Kiên Giang Trong luận văn tập trung vào phương pháp SVM, sử dụng nghiên cứu điều chỉnh thông số hàm SVC thư viện libSVM cung cấp ngơn ngữ lập trình Python Bên cạnh luận văn nghiên cứu thực nghiệm phương pháp khác Naive Bayes, định, kNN, mạng Noron để so sánh kết với SVM Luận văn xây dựng mơ hình phân lớp Sinh viên có khả cao vào học trường Đại học Kiên Giang dựa vào kết nghiên cứu trên, thực nghiệm bộ liệu thu thập từ bạn học sinh trường trung học phổ thông địa bàn tỉnh Kiên Giang Góp phần gia tăng hiệu tuyển sinh Trường, đồng thời giảm chi phí cơng tác Tuyển sinh Bên cạnh kết đạt luận văn tồn một số hạn chế: Tập liệu dùng để h́n luyện cịn (5108 dịng) Q trình tiền xử lý cịn mất nhiều thời gian cơng sức Chưa có giao diện người dùng, phải thực dòng lệnh Hướng phát triển đề tài: Cần nghiên cứu điều chỉnh thông số phương pháp để tăng độ xác thời gian huấn luyện Thay đổi giá trị trọng số quan trọng để cải tiến phương pháp Cần thu thập thêm liệu (dự kiến 10.000 dịng) Cải thiện q trình tiền xử lý liệu đơn giản nhanh Xây dựng giao diện thân thiện với người dùng 62 TÀI LIỆU THAM KHẢO [1] Ho D and Randall R B "Optimisation of bearing diagnostic techniques using simulated and actual bearing fault signals," Mechanical Systems and Signal Processing Pp 763-788, 2000 [2] Peng Z et al "Vibration signal analysis and feature extraction based on reassigned wavelet scalogram," Journal of Sound and Vibration Pp 1087-1100, 2002 [3] Smith J S "The local mean decomposition and its application to EEG perception data," Journal of The Royal Society Interface Pp 443-454, 2005 [4] Wang Y et al "A Comparative Study on the Local Mean Decomposition and Empirical Mode Decomposition and Their Applications to Rotating Machinery Health Diagnosis," Journal of Vibration and Acoustics P 132, 2010 [5] Zacksenhouse et al "Toward helicopter gearbox diagnostics from a small number of examples," Mechanical Systems and Signal Processing Pp 523-543, 2000 [6] Vapnik V N Statistical Learning Theory John Wiley and Sons, 1998 [7] Jang J et al "New focus assessment method for iris recognition systems," Pattern Recognition Letters Pp 1759-1767, 2008 [8] Saimurugan M et al "Multi component fault diagnosis of rotational mechanical system based on decision tree and support vector machine," Expert Systems with Applications Pp 3819-3826, 2011 [9] Cheng J et al "Comparison between the methods of local mean decomposition and empirical mode decomposition," Journal of vibration and shock Pp 13-16, 2006 63 [10] Ari S et al "Detection of cardiac abnormality from PCG signal using LMS based least square SVM classifier," Expert Systems with Applications Pp 80198026, 2010 [11] Duan K et al "Evaluatgion of simple performance measures for tuning SVM hyperparameters," Neurocomputing Pp 41-59, 2003 [12] Zhang X et al "An ACO-based algorithm for parameter optimization of support vector machines," Expert Systems with Applications Pp 6618-6628, 2010 [13] Ao H et al "The support vector machine parameter optimization method based on artificial chemical reaction optimization algorithm and its application to roller bearing fault diagnosis," Journal of vibration and control P 2013, 2013 [14] Ao H et al "A Roller Bearing Fault Diagnosis Method Based on LCD Energy Entropy and ACROA-SVM," Shock and Vibration P 2014, 2014 [15] Hai Qiu et al "Wavelet Filter-base Weak Signature Detection Method and its Application on Roller Bearing Prognostics," Journal of Sound and Vibration Pp 1066-1090, 2005 [16] J.-H Chiang and P.-Y Hao "Support vector learning mechanism for fuzzy rulebased modeling: a new approach," IEEE Trans On Fuzzy Systems Vol 12, pp 1-12, 2004 [17] J.L Castro et al "Extraction of fuzzy rules from support vector machines," Elsevier Fuzzy Sets and Systems Vol 158 Pp 2057 - 2077, 2007 [18] L.J.Cao and Francis E.H.Tay "Support vector machine with adaptive parameters in Financial time series forecasting," IEEE trans On neural network Vol 14 no 6, 2003 [19] S Chen et al "Extraction of fuzzy rules by using support vector machines," IEEE, Computer society Pp 438-441, 2008 64 [20] Sheng-Hsun Hsu et al "A two-stage architecture for stock price forecasting by integrating self-organizing map and support vector regression," Expert system with applications Vol 36, pp 7947-7951, 2009 [21] R Courant and D Hilbert Methods of Mathematical Physics Wiley New York , 1953 [22] Chih-Wei Hsu et al "A practical Guide to Support Vector Classification." Internet: http://www.csie.ntu.edu.tw/~cjlin/libsvm/ (2010) [23] Bùi Công Cường, Phạm Văn Chiến "An experiment result based on adaptive neuro-fuzzy inference system for stock price predict on," Journal of Cmputer Science and Cybermetics Vol 27, no.1, pp 51-60, 2011 [24] Nguyễn Cơng Điều "Mợt số thuật tốn cho mo hình chuỗi thời gian mờ heuristic dự báo số chứng khốn," trình bày Đại hội tốn học tồn quốc, Quy Nhơn, 2008 [25] Vạn Duy Thanh Long et al Phương pháp dự đoán xu hướng cổ phiếu dụa việc kết hợp K-mean SVM với ước lượng xác suất lớp NXB Đại học quốc gia – TP.HCM, 2011 65 PHỤ LỤC import xlrd import pandas as pd from sklearn.svm import SVC from sklearn.naive_bayes import GaussianNB from sklearn.tree import DecisionTreeClassifier from sklearn.neural_network import MLPClassifier from sklearn.neighbors import NearestCentroid from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score from sklearn.metrics import confusion_matrix from sklearn.metrics import classification_report import pickle import numpy as np import matplotlib.pyplot as plt import itertools from sklearn import preprocessing from sklearn.preprocessing import MinMaxScaler from sklearn.preprocessing import Normalizer 66 def lay_dl(df,hang): #ham lay du lieu theo hang excel return df.iloc[hang,:] def chuyen_data(arr,x_train,y_train): #ham dung de lay data du lieu de huan luyen a =[] for i in [3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]: #lay du lieu tai cac cot [ ] excel if i != 20: if str(arr[i]) == 'nan': a.append(float(0)) else: a.append(float(arr[i])) else: if str(arr[i]) == 'nan': y_train.append(float(0)) else: y_train.append(float(arr[i])) x_train.append(np.asarray(a)) def plot_confusion_matrix(cm, classes, normalize=False, title='Confusion Matrix', cmap=plt.cm.Blues): 67 # hàm vẽ confusion matrix fig = plt.figure(figsize=(10,8)) plt.imshow(cm, interpolation='nearest', cmap=cmap) plt.title(title) plt.colorbar() tick_marks = np.arange(len(classes)) plt.xticks(tick_marks, classes, rotation=45) plt.yticks(tick_marks, classes) if normalize: cm = cm.astype('float')/cm.sum(axis=1)[:, np.newaxis] thresh = cm.max()/2 for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])): plt.text(j, i, cm[i,j], horizontalalignment="center", color="white" if cm[i,j]>thresh else "black") plt.tight_layout() 68 plt.ylabel('True label') plt.xlabel('Predicted label') plt.show() xx =[] yy=[] x1 = pd.ExcelFile('datanew2.xlsx') # duong dan den file dung de lay du lieu huan luyen, df = pd.read_excel(x1, 0, header=None) for i in range(len(df.iloc[:,1])-6): a = lay_dl(df,i+5) chuyen_data(a,xx,yy) X_train, X_test, y_train, y_test = train_test_split(xx, yy, test_size=0.3) # print(X_train[0]) # scaler = preprocessing.MinMaxScaler() # X_train = scaler.fit_transform(X_train) # X_test = scaler.fit_transform(X_test) # print(X_train[0]) 69 transformer = Normalizer() X_train = transformer.fit_transform(X_train) X_test = transformer.fit_transform(X_test) # print(X_train[0]) def huanluyenSVM(outfile): #ham dung de huan luyen mo hinh print(" \n SVM \n"); model = SVC(kernel = 'poly', C = 1e5) model.fit(np.asarray(X_train),np.asarray(y_train)) y_pred = model.predict(X_test) print("Confusion matrix: ", confusion_matrix(y_test,y_pred)) cm = confusion_matrix(y_test,y_pred) cl = [[0],[1]] print ("Do chinh xac: %.3f" % float(100*accuracy_score(y_test, y_pred))) print(classification_report(y_test, y_pred)) with open(outfile, 'wb') as outfile: pickle.dump((model, cl), outfile) 70 plot_confusion_matrix(cm, classes=cl, title='Confusion Matrix, without normalization') def huanluyenNB(outfile): #ham dung de huan luyen mo hinh print(" \n Naive Bayes \n"); model = GaussianNB() model.fit(np.asarray(X_train),np.asarray(y_train)) y_pred = model.predict(X_test) print("Confusion matrix: ", confusion_matrix(y_test,y_pred)) cm = confusion_matrix(y_test,y_pred) cl = [[0],[1]] print ("Do chinh xac: %.3f" % float(100*accuracy_score(y_test, y_pred))) print(classification_report(y_test, y_pred)) with open(outfile, 'wb') as outfile: pickle.dump((model, cl), outfile) plot_confusion_matrix(cm, classes=cl, title='Confusion normalization') def huanluyenDT(outfile): #ham dung de huan luyen mo hinh 71 Matrix, without print(" \n Cay Quyet dinh \n"); model = DecisionTreeClassifier(criterion ="entropy", splitter = "random", max_depth = 8) model.fit(np.asarray(X_train),np.asarray(y_train)) y_pred = model.predict(X_test) print("Confusion matrix: ", confusion_matrix(y_test,y_pred)) cm = confusion_matrix(y_test,y_pred) cl = [[0],[1]] print ("Do chinh xac: %.3f" % float(100*accuracy_score(y_test, y_pred))) print(classification_report(y_test, y_pred)) with open(outfile, 'wb') as outfile: pickle.dump((model, cl), outfile) plot_confusion_matrix(cm, classes=cl, title='Confusion normalization') def huanluyenkNN(outfile): #ham dung de huan luyen mo hinh print(" \n kNN \n"); model = KNeighborsClassifier(n_neighbors = 10) model.fit(np.asarray(X_train),np.asarray(y_train)) y_pred = model.predict(X_test) 72 Matrix, without print("Confusion matrix: ", confusion_matrix(y_test,y_pred)) cm = confusion_matrix(y_test,y_pred) cl = [[0],[1]] print ("Do chinh xac: %.3f" % float(100*accuracy_score(y_test, y_pred))) print(classification_report(y_test, y_pred)) with open(outfile, 'wb') as outfile: pickle.dump((model, cl), outfile) plot_confusion_matrix(cm, classes=cl, title='Confusion Matrix, normalization') def huanluyenNR(outfile): #ham dung de huan luyen mo hinh print(" \n Mang Noron \n"); model = MLPClassifier(hidden_layer_sizes = 10) model.fit(np.asarray(X_train),np.asarray(y_train)) y_pred = model.predict(X_test) print("Confusion matrix: ", confusion_matrix(y_test,y_pred)) cm = confusion_matrix(y_test,y_pred) cl = [[0],[1]] print ("Do chinh xac: %.3f" % float(100*accuracy_score(y_test, y_pred))) print(classification_report(y_test, y_pred)) 73 without with open(outfile, 'wb') as outfile: pickle.dump((model, cl), outfile) plot_confusion_matrix(cm, classes=cl, normalization') file_huanluyenSVM = 'svm.pkl' huanluyenSVM(file_huanluyenSVM) file_huanluyenNB = 'nb.pkl' huanluyenNB(file_huanluyenNB) file_huanluyenDT = 'dt.pkl' huanluyenDT(file_huanluyenDT) file_huanluyenkNN = 'knn.pkl' huanluyenkNN(file_huanluyenkNN) file_huanluyenNR = 'nr.pkl' huanluyenNR(file_huanluyenNR) 74 title='Confusion Matrix, without LÝ LỊCH TRÍCH NGANG CỦA HỌC VIÊN I LÝ LỊCH SƠ LƯỢC: Họ tên: Võ Hoàng Nhân Giới tính: Nam Ngày, tháng, năm sinh: 10/04/1993 Nơi sinh: Sóc Trăng Email: vhnhan@vnkgu.edu.vn Điện thoại: 0943245713 II QUÁ TRÌNH ĐÀO TẠO: Từ năm 2011 đến 2015: Học đại học Khoa Công nghệ Thông tin - Trường đại học Cần Thơ Từ năm 2017 đến 2021: Học cao học Khoa Công nghệ Thông tin – Trường đại học Cơng nghiệp thành phố Hồ Chí Minh III Q TRÌNH CƠNG TÁC CHUN MƠN: Thời gian Nơi cơng tác Cơng việc đảm nhiệm 2016-2021 Trường Đại học Kiên Giang Lập trình Website, lập trình ứng dụng tảng Web, Quản trị hệ thống phần mềm trường, Quản lý phịng máy tính, trợ giảng học phần thực hành cho Giảng viên Tp HCM, ngày tháng 10 năm 2021 Người khai Võ Hoàng Nhân 75