1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề ti dự đoán mức độ thích ứng của học sinh trong giáo dục trực tuyến sử dụng thuật toán navie bayes

39 2 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 4,02 MB

Nội dung

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN NHẬP MÔN HỌC MÁY ĐỀ TI: DỰ ĐỐN MỨC ĐỘ THÍCH ỨNG CỦA HỌC SINH TRONG GIÁO DỤC TRỰC TUYẾN SỬ DỤNG THUẬT TOÁN NAVIE BAYES Sinh viên thực : TRẦN TUẤN ANH (19810310026) Giảng viên hướng dẫn : PHẠM THỊ KIM DUNG Ngành Chun ngành Lớp Khóa : CƠNG NGHỆ THƠNG TIN : CÔNG NGHỆ PHẦN MỀM : D14-CNPM1 : 2019- 2023 Hà Nội,17 tháng năm 2022 Mơ tả tóm tắt đề tài  Xây dựng mơ hình phân lớp navie bayes Nội dung thực CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI CHƯƠNG 2: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU CHƯƠNG 3: KỸ THUẬT PHÂN LỚP VÀ MÔ HÌNH PHÂN LỚP NAVIE BAYES      CHƯƠNG THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT LUẬN Hoàn thành báo cáo chuyên đề học phần môn: “Nhập môn học máy” Xây dựng mơ hình hồn chỉnh đơn giản phù hợp với nội dung môn học Hà Nội, ngày 06 tháng năm 2022 Giảng viên hướng dẫn Sinh viên thực (ký ghi rõ họ tên) Trần Tuấn Anh Phạm Thị Kim Dung (ký ghi rõ họ tên) PHIẾU CHẤM ĐIỂM Sinh viên thực hiện: Họ tên Chữ ký Ghi Chữ ký Ghi Trần Tuấn Anh MSV:19810310026 Giảng viên chấm: Họ tên Giảng viên chấm : Giảng viên chấm : MỤC LỤC LỜI CẢM ƠN LỜI MỞ ĐẦU TÓM TẮT ĐỀ TÀI CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI .9 1.1 Đặt vấn đề 1.2 Mục tiêu đề tài 1.3 Ý nghĩa đề tài 10 1.3.1 Ý nghĩa chung .10 1.3.2 Ý nghĩa thực tiễn 10 CHƯƠNG 2: TỔNG QUAN VỀ HỌC MÁY .11 2.1 Tổng quan học máy (machine learning) .11 2.1.1 Khái niệm học máy 11 2.1.2 Quy trình giải tốn học máy 12 2.1.3 Ứng dụng machine learning 12 2.2 Classification 13 2.2.1 khái niệm 13 2.2.2 Các loại kỹ thuật phân lớp học máy 14 2.3 navie bayes 15 2.3.1Ưu điểm navie bayes .15 2.3.2 Nhược điểm Naive Bayes 16 2.3.3 Các loại phân loại Naive Bayes .16 2.4 ứng dụng navie bayes 17 2.5 sở liệu giáo dục trực tuyến 17 CHƯƠNG 3: KỸ THUẬT PHÂN LỚP VÀ MƠ HÌNH PHÂN LỚP NAVIE BAYES 19 3.1 Khái niệm phân lớp ( khai phá liệu ) 19 3.2 Mơ hình phân lớp navie bayes 21 3.3 Một số kiểu mơ hình Naive Bayes 23 3.3.1 Multinomial Naive Bayes 23 3.3.2 Bernoulli Naive Bayes 23 3.3.3 Gaussian Naive Bayes 23 3.3.4 Categorical Naïve Bayes: .23 CHƯƠNG THỰC NGHIỆM VÀ ĐÁNH GIÁ 24 4.1 Cài đặt thuật toán .24 4.3 Kết luận 35 TÀI LIỆU THAM KHẢO .39 LỜI CẢM ƠN Đầu tiên, em xin gửi lời cảm ơn chân thành đến Trường Đại học Điện Lực đưa môn học khai phá liệu vào trương trình giảng dạy Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến giảng viên môn – cô Phạm Thị Kim Dung dạy dỗ, truyền đạt kiến thức quý báu cho em suốt thời gian học tập vừa qua Trong thời gian tham gia lớp học thầy, em có thêm cho nhiều kiến thức bổ ích, tinh thần học tập hiệu quả, nghiêm túc Đây chắn kiến thức hữu hiệu trải nghiệm để giúp em vững bước sau Bộ môn khai phá liệu môn học thú vị, vô bổ ích có tính thực tế cao Đảm bảo cung cấp đủ kiến thức, gắn liền với nhu cầu thực tiễn sinh viên Tuy nhiên, vốn kiến thức nhiều hạn chế khả tiếp thu thực tế nhiều bỡ ngỡ Mặc dù em cố gắng chắn tiểu luận khó tránh khỏi thiếu sót nhiều chỗ cịn chưa xác, kính mong thầy xem xét góp ý để tiểu luận em hoàn thiện Em xin chân thành cảm ơn! Sinh viên Trần Tuấn Anh LỜI MỞ ĐẦU Trong thời kỳ cơng nghiệp hóa đại hóa , xã hội phát triển đại, nhu cầu người ngày tăng cao, với kỉ nguyên công nghệ thông tin phát triển Nắm vững kiến thức môn học để phục vụ cho việc khai phá liệu cần xây dựng giải pháp thông qua khai phá liệu giáo dục, đưa tri thức để hỗ trợ tìm giải pháp cho học tập mùa dịch Từ nhu cầu trên, nhóm chúng em nhận đề tài: dự đốn mức độ thích ứng học sinh giáo dục trực tuyến sử dụng thuật tốn navie bayes Chúng em kính mong q thầy bạn góp ý để chúng em bổ sung hồn thiện tập lớn cách cụ thể, chi tiết, đầy đủ đạt hiểu cao Chúng em xin chân thành cám ơn giáo viên gv Phạm Thị Kim Dung hướng dẫn, giúp đỡ chúng em hoàn thành tập lớn Sinh viên Trần Tuấn Anh TÓM TẮT ĐỀ TÀI Ngành giáo dục ln vấn đề sống cịn quốc gia giới Trong năm gần đây, phủ Việt nam đặc biệt đầu tư cho ngành mũi nhọn thơng qua sách , nguồn vốn dành cho trang thiết bị hạ tầng nghiên cứu khoa học Trong lĩnh vực giáo dục, ngày có nhiều cơng trình khoa học giáo dục Tuy nhiên nghiên cứu khoa học ứng dụng công nghệ thông tin để giải tốn giáo dục khơng nhiều Do chuyển biến tình hình lây lan diễn biến phức tạm đại dịch Covid-19 xảy toàn giới, nên chúng em làm đề tài sử dụng môn học khai phá liệu để xác định đánh gía thích ứng học tập nhiều học sinh thấy ảnh hưởng phần dịch bệnh tới tình hình học tập trực tuyến Nghiên cứu tiến hành theo bước chính: (1) Thu nhập thơng tin liên quan tiền xử lý liệu (2) Tìm hiểu tốn Phân lớp nhiều lớp khai phá liệu, lựa chọn kỹ thuật phân lớp navie bayes với liệu thu nhập (3) Hiện thực chương trình máy tính đánh giá ý nghĩa thực tiễn CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 Đặt vấn đề Công nghệ thông tin ngày phổ biến đến tất người, ứng dụng công nghệ thông tin vào việc lưu trữ xử lý thông tin ngày áp dụng hầu hết vào loại lĩnh vực điều tạo lượng lớn liệu lưu trữ với kích thước lớn Đây điều kiện tốt cho việc khai thác kho liệu để đem lại tri thức có ích với công cụ truy vấn, lập bảng biểu khai phá liệu Trong lĩnh vực giáo dục, phần tình hình dịch bệnh khiến cho thường xuyên phải học trực tuyến Vì xây dựng hệ thống chuẩn đoán cần thiết cho ngành giáo dục Hệ hỗ trợ kết hợp với cán giáo dục giúp chuẩn đốn sớm tình hình giáo dục bước đệm đưa giải pháp tình hình học online Chúng ta dựa vào liệu thu thập để phán đốn tình hình thích nghi học tập online học sinh Ứng dụng kỹ thuật phân lớp nhiều lớp khai phá liệu nhằm xây dựng hệ thống đánh giá hướng nghiên cứu đề tài Sau phân tích số thuật tốn đặc điểm liệu thu nhập được, đề tài đề xuất ứng dụng mơ hình phân lớp nhiều lớp kỹ thuật phân lớp navie bayes để tìm quy luật tiềm ẩn liệu 1.2 Mục tiêu đề tài Đề tài tập chung vào nghiên cứu kỹ thuật phân lớp khai phá dữu liệu, từ nắm bắt giải thuật làm tiền đề cho nghiên cứu xây dựng ứng dụng cụ thể Sau phân tích đặc điểm dữu liệu thu nhập lựa chọn giải thuật phù hợp với liệu, việc xây dựng đánh giá chất lượng, độ hiệu hệ thống mục tiêu đề tài 1.3 Ý nghĩa đề tài 1.3.1 Ý nghĩa chung Với trợ giúp máy tính, đề tài đóng góp biện pháp thực hỗ trợ giáo viên đánh giá tình hình học tập sinh viên thời kì học online Kết quả, Kinh nghiệm thu thực đề tài giúp giáo viên đánh giá tình hình học tập cho học sinh, đồng thời mong muốn người công tác lĩnh vực giáo dục Khoa học máy tính ngồi lại với để tìm giải pháp tốt vấn đề giảng dạy cách kết hợp lĩnh vực giáo dục khoa học máy tính 1.3.2 Ý nghĩa thực tiễn Đánh giá tỷ lệ nhiễm , chết virus phát bệnh q trình, địi hỏi cán y tế phải thật vững chun mơn mà cịn có đầy đủ trang thiết bị y tế chuẩn đốn xác bệnh cho bệnh nhân Nếu chuẩn đoán sai bệnh đưa đến điều trị sai, không phát sớm bệnh cho bệnh nhân,… Hình 4.2.1 liệu gốc ban đầu  Chuẩn hóa liệu for col in df.columns: df[col]= LabelEncoder().fit_transform(df[col]) print(df)  Sau chuyển đổi liệu : Hình 4.2.2 hình ảnh sau chuyển đổi liệu sang dạng số  Gán y cột Adaptivity Level X cột lại df X = df[['Gender', 'Age', 'Education Level', 'Institution Type', 'IT Studen t', 'Location', 'Load-shedding', 'Financial Condition', 'Internet Type', 'Network Type', 'Class Dur ation', 'Self Lms', 'Device']] y = df['Adaptivity Level'] print("X la: \n", X) print("y la: \n", y)  Chia tập (X, y) thành (X_train, y_train) (X_test, y_test) theo tỉ lệ 80/20 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) print("X_test la: \n", X_test.reset_index()) print("y test la: \n", y_test.reset_index()) print(" counts of label '1': {}".format(sum(y_train == 1))) print(" counts of label '0': {} \n".format(sum(y_train == 0))) print(" counts of label '2': {} \n".format(sum(y_train == 2))) Hình 4.2.7 count label 0,1,2 tương ứng Moderate- high-low Adaptivity level  X_test,y_test Hình 4.3.3 liệu x test Hình 4.4.4 liệu y test  X_train,y_train Hình 4.2.5 liệu X train Hình 4.2.6 liệu y train  Chẩn đốn mơ hình học máy GaussianNB : log_model = GaussianNB(priors=None, var_smoothing=1e-09).fit(X_train, y_tr ain) log_model_new = GaussianNB().fit(X_train, y_train) y_pred_log_new = log_model_new.predict(X_test) y_pred_log = log_model.predict(X_test) print("y predict la: \n", y_pred_log) print("Accuracy Score log:", accuracy_score(y_test, y_pred_log)) print("y predict la: \n", y_pred_log_new) print("Accuracy Score log:", accuracy_score(y_test, y_pred_log_new)) Hình 4.2.8 kết y dự đốn mơ hình GaussianNB  Chẩn đốn mơ hình học máy BernoulliNB: becluni_model = BernoulliNB(alpha = 2.0 , fit_prior = True , class_prior = None).fit(X_train, y_train) becluni_model_new = BernoulliNB().fit(X_train, y_train) y_pred_logg = becluni_model.predict(X_test) y_pred_logg_new = becluni_model_new.predict(X_test) print("y predict la: \n", print("Accuracy Score print("y predict la: \n", print("Accuracy Score y_pred_logg) log:", accuracy_score(y_test, y_pred_logg)) y_pred_logg_new) log:", accuracy_score(y_test, y_pred_logg_new)) Hình 4.2.9 in kết classification report model BernoulliNB  Chẩn đốn mơ hình học máy CategoricalNB: CategoricalNB_model = CategoricalNB(alpha = 2.0 , fit_prior = True , class _prior = None).fit(X_train, y_train) CategoricalNB_model_new = CategoricalNB().fit(X_train, y_train) y_pred_loggg = CategoricalNB_model.predict(X_test) y_pred_loggg_new = CategoricalNB_model_new.predict(X_test) print("y predict la: \n", y_pred_logg) print("Accuracy Score log:", accuracy_score(y_test, y_pred_loggg)) print("y predict la: \n", y_pred_logg_new) print("Accuracy Score log:", accuracy_score(y_test, y_pred_loggg_new)) print(classification_report(y_test, y_pred_logg)) Hình 4.2.10 in kết classification report model CategoricalNB # In confusion matrix model _ > đếm mẫu dự đoán đúng/sai cnf_matrix2 = confusion_matrix(y_test, y_pred_logg) print(“confusion_matrix model CategoricalNB:”cnf_matrix2) Hình 4.2.12 kết confusion matrix classification report CategoricalNB print(classification_report(y_test, y_pred_loggg)) # In confusion matrix model_ > đếm mẫu dự đoán đúng/sai #cnf_matrix3 = confusion_matrix(y_test, y_pred_loggg_new) cnf_matrix3 = confusion_matrix(y_test, y_pred_loggg) print(cnf_matrix3) Hình 4.2.11 in kết classification report model BernouliNB #hàm tính accuracy tự viết def accuracy(y_true, y_pred): correct = np.sum(y_true Khi < Precison Tiếp theo tìm hiểu khái niệm RECALL, để đánh giá thêm hiệu mơ hình -KHÁI NIỆM RECALL: Accuracy +Recall (đơi cịn gọi Sensitivity): dự đốn thật thích nghi tốt, số họ dự đốn mơ hình chúng ta? Nói cách khác, có dự đốn “LOW” mơ hình đưa ra? +Precision cho biết “dự đốn có” xác (Liệu 1000 người ta dự đốn thích nghi LOW có người thật thích nghi LOW?) Tuy nhiên có câu hỏi nảy đầu “Liệu có dự đốn thiếu kết khơng?” (Ta có bỏ sót trường hợp thích nghi thấp mà khơng dự đốn khơng?) Recall cung cấp câu trả lời cho câu hỏi này! +RECALL= TP / (TP+FN) GaussianNB BernoulliNB MultinomialNB 63% 80% 11% 52% 62% 54% 73% 67% 58% Bảng so sánh Recall mô hình +Dựa vào kết bảng trên, ta thấy mơ hình BernoulliNB có độ xác điểm dự đoán thuộc lớp cao => Từ kết ta thấy BernoulliNB có tỉ lệ dự đốn bỏ sót datapoint có trung bình recall cao =>Tiếp theo tìm hiểu khái niệm f1-score -KHÁI NIỆM VỀ F1-SCORE: -Như có khái niệm Precision Recall mong muốn thằng cao tốt Tuy nhiên thực tế ta điều chỉnh model để tăng Recall mức dẫn đến Precision giảm ngược lại, cố điều chỉnh model để tăng Precision làm giảm Recall Nhiệm vụ phải cân đại lượng -Vậy tốn đặt là: giả sử xây dựng tập model (để sau chọn model tốt nhất) Và “đứng đường” lựa chọn model cho cân Precision Recall Nhưng thật may có thêm tham số dung hịa ta vào để lựa chọn, F-1 Score: -F1=2Precision∗RecallPrecision+Recall -Đó, ta vào F1 mà chọn model, F1 cao tốt Khi lý tưởng F1 = (khi Recall = Precision=1) Dựa vào khái niệm ta đánh giá mô hình hiệu GaussianNB BernoulliNB MultinomialNB 60% 55% 19% 58% 60% 60% 67% 71% 75% Bảng so sánh f1-score mơ hình Kết luận từ mơ hình: Ta thấy f1- score (lớp 0) gaussianNB có giá trị cao nên mơ hình phù hợp với dự đốn thích ứng khả học tập online CAO – high Ta thấy f1- score (lớp 1) BernoulliNB MultinominalNB có giá trị cao nên mơ hình phù hợp với dự đốn thích ứng khả học tập online low – thấp Ta thấy f1- score (lớp 2) MultinomialNB có giá trị cao nên mơ hình phù hợp với dự đốn thích ứng khả học tập online vừa – moderate TÀI LIỆU THAM KHẢO Blog Machine Learning – Vũ Hữu Tiệp: https://machinelearningcoban.com/2017/08/08/nbc/ Slide giảng Khai Phá Dữ Liệu- Nguyễn Nhật Quang, Trường Đại Học Bách Khoa Hà Nội Trang chứa liệu: https://www.kaggle.com/datasets/mdmahmudulhasansuzan/students-adaptabilitylevel-in-online-education Thuật toán phân lớp Navie Bayes: https://viblo.asia/p/thuat-toan-phan-lop-naivebayes-924lJWPm5PM Tổng quan thuật toán phân lớp Navie Bayes: http://hoctructuyen123.net/tongquan-ve-thuat-toan-phan-lop-naive-bayes-classification-nbc/

Ngày đăng: 13/06/2023, 14:30

w