Ứng dụng khai phá dữ liệu để tư vấn học tập tại trường Đại học Sư phạm Thể dục thể thao Hà NộiỨng dụng khai phá dữ liệu để tư vấn học tập tại trường Đại học Sư phạm Thể dục thể thao Hà NộiỨng dụng khai phá dữ liệu để tư vấn học tập tại trường Đại học Sư phạm Thể dục thể thao Hà NộiỨng dụng khai phá dữ liệu để tư vấn học tập tại trường Đại học Sư phạm Thể dục thể thao Hà NộiỨng dụng khai phá dữ liệu để tư vấn học tập tại trường Đại học Sư phạm Thể dục thể thao Hà Nội
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - HOÀNG THU THỦY ỨNG DỤNG KHAI PHÁ DỮ LIỆU ĐỂ TƯ VẤN HỌC TẬP TẠI TRƯỜNG ĐẠI HỌC SƯ PHẠM THỂ DỤC THỂ THAO HÀ NỘI LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) HÀ NỘI - 2016 HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - HOÀNG THU THỦY ỨNG DỤNG KHAI PHÁ DỮ LIỆU ĐỂ TƯ VẤN HỌC TẬP TẠI TRƯỜNG ĐẠI HỌC SƯ PHẠM THỂ DỤC THỂ THAO HÀ NỘI CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN MÃ SỐ: 60.48.01.04 LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS TRẦN ĐÌNH QUẾ HÀ NỘI - 2016 i LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu riêng Các số liệu, kết nêu luận văn trung thực chưa công bố cơng trình TÁC GIẢ HỒNG THU THỦY ii LỜI CẢM ƠN Trước tiên, cho em gửi lời cảm ơn lòng biết ơn sâu sắc tới thầy giáo PGS.TS Trần Đình Quế, người trực tiếp hướng dẫn, tạo điều kiện thuận lợi tận tình bảo cho em suốt trình thực luận văn tốt nghiệp Em xin chân thành cảm ơn quý Thầy, Cô giáo Học viện Công nghệ Bưu Viễn thơng tận tình bảo em suốt thời gian học tập nhà trường Bên cạnh đó, đề hồn thành luận văn này, em nhận nhiều giúp đỡ, lời động viên quý báu bạn bè, gia đình đồng nghiệp Em xin chân thành cảm ơn Tuy nhiên, thời gian hạn hẹp, nỗ lực mình, luận văn khó tránh khỏi thiếu sót Em mong nhận thơng cảm bảo tận tình q thầy bạn TÁC GIẢ HỒNG THU THỦY iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC TỪ VIẾT TẮT v DANH MỤC CÁC BẢNG vi DANH MỤC CÁC HÌNH VẼ vii MỞ ĐẦU Tính cấp thiết đề tài Tổng quan vấn đề nghiên cứu Mục đích nghiên cứu .3 Đối tượng phạm vi nghiên cứu CHƯƠNG 1: TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 1.1 Giới thiệu chung khám phá tri thức khai phá liệu 1.1.1 Khái niệm khám phá tri thức khai phá liệu .5 1.1.2 Các hướng tiếp cận khai phá liệu 1.1.3 Những vấn đề khó khăn khai phá liệu 1.2 Quá trình khám phá tri thức khai phá liệu 1.2.1 Quá trình khám phá tri thức 1.2.2 Quá trình khai phá liệu .8 1.2.3 Các phương pháp khai phá liệu 1.3 Ứng dụng khai phá liệu giáo dục 1.3.1 Khai phá liệu giáo dục 1.3.2 Mục tiêu khai phá liệu giáo dục .10 1.3.3 Các giai đoạn khai phá liệu giáo dục 10 1.3.4 Một số lĩnh vực ứng dụng EDM .11 1.4 Kết luận chương 11 CHƯƠNG 2: MỘT SỐ KỸ THUẬT PHÂN CỤM DỮ LIỆU 12 2.1 Một số kỹ thuật phân cụm 12 2.1.1 Phương pháp phân hoạch (Partitioning Methods) 12 2.1.1.1 Thuật toán k-means 12 2.1.1.2 Thuật toán PAM (Partitioning Around Medoids) 13 iv 2.1.2 Phương pháp phân cấp (Hierarchical Methods) 15 2.1.2.1 Thuật toán BIRCH 16 2.1.2.2 Thuật toán CURE .18 2.1.3 Phương pháp dựa mật độ (Density-Based Methods) .19 2.1.3.1 Thuật toán DBSCAN .20 2.1.3.2 Thuật toán OPTICS (Ordering Points To Indentify the Clustering Structure) .22 2.1.3.3 Thuật toán DENCLUDE (DENsity – Base CLUstEring) 23 2.1.4 Phương pháp dựa lưới (Grid-Based Methods) .24 Thuật toán STING 25 2.2 Tổng hợp thuật toán 26 2.3 Kết luận chương .27 CHƯƠNG 3: TƯ VẤN HỌC TẬP CHO SINH VIÊN TRƯỜNG ĐẠI HỌC SƯ PHẠM THỂ DỤC THỂ THAO HÀ NỘI 28 DỰA TRÊN KHAI PHÁ DỮ LIỆU .28 3.1 Giới thiệu toán 28 3.2 Lựa chọn thuật toán 30 3.3 Xây dựng hệ thống tư vấn học tập 30 3.3.1 Mục đích hệ thống 30 3.3.2 Yêu cầu hệ thống 30 3.3.3 Phân tích xây dựng hệ thống 31 3.3.3.1 Cơ sở liệu 31 3.3.3.2 Các chức hệ thống 33 3.4 Kết luận chương 41 KẾT LUẬN 42 TÀI LIỆU THAM KHẢO 43 PHỤ LỤC 44 v DANH MỤC TỪ VIẾT TẮT STT Từ viết tắt Ý nghĩa CS Chuyên sâu CSDL Cơ sở liệu KPTT Khám phá tri thức KPDL Khai phá liệu SV Sinh viên TDTT Thể dục Thể thao vi DANH MỤC CÁC BẢNG Bảng 2.1: Đặc tính thuật tốn 27 Bảng 3.1: Bảng thống kê số lượng SV năm học 2013 – 2014 29 Bảng 3.2: Bảng thống kê số lượng SV năm học 2014 – 2015 29 Bảng 3.3: Bảng thống kê số lượng SV năm học 2015 – 2016 30 vii DANH MỤC CÁC HÌNH VẼ Hình 3.1: Các bảng CSDL 32 Hình 3.2: Bảng CSDL danh sách sinh viên 32 Hình 3.3: Bảng CSDL sinh viên đăng ký chuyên sâu Thể dục 33 Hình 3.4: Giao diện hệ thống 34 Hình 3.5: Thơng tin sinh viên đăng ký chuyên sâu Điền kinh 35 Hình 3.6: Thơng tin sinh viên 36 Hình 3.7: Lưu đồ thuật tốn k-means 36 Hình 3.8: Phân cụm điểm sinh viên 40 Hình 3.9: Kết điểm môn thi đánh giá cho sinh viên 40 MỞ ĐẦU Tính cấp thiết đề tài Giáo dục đào tạo giữ vai trò quan trọng phát triển quốc gia, dân tộc Thế hệ trẻ, người học tập làm việc cần định hướng đắn để tránh mắc phải sai lầm khơng đáng có Một vấn đề mà sinh viên phải đối mặt ngồi ghế nhà trường có định đắn liên quan tới trình học tập thân để đạt thành tích học tập tốt Vì vậy, việc tư vấn học tập để chọn chương trình học phù hợp nhằm đạt kết cao quan tâm đặc biệt Đây khơng khó khăn sinh viên mà cịn khó khăn giảng viên tham gia tư vấn, từ khối liệu khổng lồ để đưa tư vấn tốt việc lựa chọn chuyên ngành học cho sinh viên dễ dàng Khai phá liệu ứng dụng thành cơng giáo dục, giúp sinh viên đưa lựa chọn tốt cho trình học tập thân Trong giáo dục, giáo dục thể chất xem hoạt động thu hút tham gia đông đảo học sinh, sinh viên Bởi lẽ, giáo dục thể chất mang vai trị quan trọng góp phần vào việc rèn luyện đào tạo người có sức khỏe, đạo đức tri thức Giáo dục thể chất mục tiêu giáo dục toàn diện Đảng Nhà nước ta, nằm hệ thống giáo dục quốc dân Trường Đại học Sư phạm Thề dục Thể thao Hà Nội, nơi đào tạo đội ngũ giáo viên giáo dục thể chất tương lai cho đất nước cố gắng để hồn thành tốt cơng việc Để giúp em sinh viên quy đưa định lựa chọn đắn theo học chuyên sâu phù hợp với lực, mong muốn thân trình học tập trường, tác giả lựa chọn đề tài luận văn “Ứng dụng khai phá liệu để tư vấn học tập trường Đại học Sư phạm Thể dục Thể thao Hà Nội” 35 Hình 3.5: Thơng tin sinh viên đăng ký chuyên sâu Điền kinh - Truy xuất thông tin sinh viên: + Bước 1: chọn chuyên sâu, + Bước 2: nhập Mã SV, Tên SV Màn hình bên trái hiển thị thơng tin sinh viên cần tìm kiếm, phần bên phải thống kê bao gồm: thông số cụm, tên sinh viên, điểm thi môn, tổng điểm, thứ tự sinh viên chun sâu đăng ký đánh giá sinh viên có khả đỗ vào chuyên sâu đăng ký hay khơng Ta có hình truy xuất thơng tin SV (Hình 3.6) 36 Hình 3.6: Thơng tin sinh viên - Phân cụm liệu: thực phân cụm điểm sinh viên cách áp dụng thuật toán k-means Input: Điểm số sinh viên chuyên sâu, số cụm mặc định k=5 (tương ứng với mức đánh giá sinh viên: khơng đạt, trung bình, trung bình khá, khá, giỏi) Output: Các cụm với thông tin tâm cụm, số phần tử cụm, điểm số cao thấp cụm Lưu đồ thuật tốn: Hình 3.7: Lưu đồ thuật toán k-means 37 Thực phân cụm k-means: PhanCum(float[] _data, int _socum) - Đầu vào: _data: điểm sinh viên môn _socum: số lượng cụm - Đầu ra: mảng phần tử thứ i lưu giá trị cụm mà phần tử thuộc Ví dụ: điểm sinh viên thứ nằm cụm phanbocum[2]=2 Các bước thuật toán: Bước 1: Khởi tạo tâm cụm với hàm KhoiTaoTamCum(_data, _socum); - Đầu vào: _data: điểm sinh viên môn _socum: số lượng cụm - Đầu ra: Một mảng lưu tâm cụm khởi tạo ban đầu Ví dụ cụm thứ i phần tử thứ j ta có _tamcum[i]=j Thực cách chọn ngẫu nhiên phân tử cụm cho phần tử không trùng làm tâm cụm public float[] KhoiTaoTamCum(float[] _data, int _socum) { Random rd = new Random(); float[] _tamcum = new float[_socum]; _tamcum[0] = _data[rd.Next(0, _data.Length - 1)]; for (int i = 1; i < _socum; i++) { bool dung = true; while (dung) { _tamcum[i] = _data[rd.Next(0, _data.Length - 1)]; int k = 0; for (int j = 0; j < i; j++) { if (_tamcum[i] == _tamcum[j]) k++; } if (k == 0) dung = false; } } return _tamcum; } 38 Bước 2: Phân bố phần tử vào cụm với hàm PhanBoCum(float[][] _khoangcach) - Đầu vào: _khoangcach: mảng hai chiều lưu khoảng cách từ phần tử thứ i tới cụm thứ j (có nghĩa tính khoảng cách từ phần tử tới tất cụm) - Đầu ra: mảng thể phân bố phần tử cụm Ví dụ phần tử thứ i nằm cụm j ta có _phanbocum[i]=j Thực cách: tính khoảng cách phần tử tới tâm cụm hàm TinhKhoangCach(float[] _data, float[] _tamcum) Thực so sánh khoảng cách tới tâm phần tử Sau đưa phần tử vào cụm mà có khoảng cách nhỏ public int[] PhanBoCum(float[][] _khoangcach) { int[] _phanbocum = new int[_khoangcach.Length]; for (int i = 0; i < _phanbocum.Length; i++) { _phanbocum[i] = XacDinhCum(_khoangcach[i]); } return _phanbocum; } public int XacDinhCum(float[] _khoangcachcumi) { float = Math.Abs(_khoangcachcumi[0]); int cum = 0; for (int i = 1; i < _khoangcachcumi.Length; i++) { if (Math.Abs(_khoangcachcumi[i]) < min) { = _khoangcachcumi[i]; cum = i; } } return cum; } Xác định lại tâm cụm hàm XacDinhLaiTamCum(float[] _data, int[] _phanbocum, float[] _tamcum) - Đầu vào: _data điểm sinh viên môn _phanbocum: phân bố cụm 39 _tamcum: tâm cụm - Đầu ra: tâm cụm Thực cách: tính tâm cụm cách tính trung bình giá trị phần tử cụm public float[] XacDinhLaiTamCum(float[] _data, int[] _phanbocum, float[] _tamcum) { for (int i = 0; i < _tamcum.Length; i++) _tamcum[i] = 0; int[] _sophantucum = new int[_tamcum.Length]; for (int i = 0; i < _tamcum.Length; i++) _sophantucum[i] = 0; for (int i = 0; i < _data.Length; i++) { for (int j = 0; j < _tamcum.Length; j++) { if (_phanbocum[i] == j) { _tamcum[j] += _data[i]; _sophantucum[j]++; } } } for (int i = 0; i < _tamcum.Length; i++) _tamcum[i] = _tamcum[i] / _sophantucum[i]; return _tamcum; } Phân bố lại cụm với hàm PhanBoCum(float[][] _khoangcach)như Bước 3: Kiểm tra điều kiện dừng với hàm KiemTraDieuKienDung(int[] _phanbocumcu, int[] _phanbocummoi) Thực hiện: kiểm tra xem có thay đổi cụm hay không Bằng cách kiểm tra xem sau thực bước phân bố cụm có thay đổi hay không? public bool KiemTraDieuKienDung(int[] _phanbocumcu, _phanbocummoi) { int dem = 0; for (int i = 0; i < _phanbocumcu.Length; i++) int[] 40 { if (_phanbocumcu[i] != _phanbocummoi[i]) dem++; } if (dem == 0) return false; else return true; } Kết sau thực phân cụm điểm SV cách sử dụng thuật tốn k–means (Hình 3.8) Hình 3.8: Phân cụm điểm sinh viên - Tư vấn cho SV thông qua điểm môn, tổng điểm thứ hạng sinh viên tổng số sinh viên đăng ký chuyên sâu, đánh giá SV có khả đỗ vào chun sâu đăng ký hay khơng Sinh viên có khả đỗ vào chun sâu đăng ký khơng có điểm mơn điểm trung bình mơn đạt điểm trở lên (7 điểm) Hình 3.9: Kết điểm mơn thi đánh giá cho sinh viên 41 3.4 Kết luận chương Nội dung chương giới thiệu toán thực tế việc đào tạo đặc điểm tuyển chọn sinh viên chuyên sâu trường Đại học Sư phạm TDTT Hà Nội Dựa khai phá liệu ứng dụng thuật toán k-means tác giả xây dựng hệ thống tư vấn học tập giúp sinh viên định hướng đánh giá lực thân, từ có kế hoạch học tập rèn luyện đắn để đạt kết học tập tối ưu 42 KẾT LUẬN Kết đạt Luận văn “Ứng dụng khai phá liệu để tư vấn học tập trường Đại học Sư phạm Thể dục Thể thao Hà Nội” trình bày số vấn đề sau: Tổng quan khám phá tri thức ứng dụng khai phá liệu lưu trữ hệ thống thông tin Khai phá liệu ứng dụng nhiều lĩnh vực khác sống, đặc biệt ứng dụng khai phá liệu giáo dục Một số kỹ thuật phân cụm liệu: phương pháp phân hoạch, phương pháp phân cấp, phương pháp dựa mật độ, phương pháp dựa lưới Các thuật tốn điển hình phương pháp đánh giá thuật toán Dựa khai phá liệu, tác giả xây dựng hệ thống tư vấn học tập cho SV trường Đại học Sư phạm TDTT Hà Nội Áp dụng thuật toán k–means để phân cụm điểm sinh viên đăng ký chuyên sâu, giúp sinh viên xác định thành tích thân Từ có kế hoạch học tập rèn luyện đắn để đạt kết học tập tốt Hướng phát triển - Để trình tư vấn học tập có hiệu quả, cần xây dựng hệ thống hồn chỉnh hỗ trợ q trình đào tạo (hỗ trợ thêm chức năng: dự báo kết học tập sinh viên, ) - Xem xét nghiên cứu thêm số ứng dụng khác khai phá liệu vào toán thực tế giáo dục 43 TÀI LIỆU THAM KHẢO Tài liệu tham khảo Tiếng Anh [1] Periklis Andritsos (2002), Data Clusting Techniques, Tech Report CSRG443, University of Toronto, Department of Computer Science [2] Pavel Berkhin (2002), Survey of Clustering Data Mining Techniques, Technical report, Accrue Software, Inc., San Jose, C.A [3 Guojun Gan, Chaoqun Ma, Jianhong Wu (2007), Data Clustering: Theory, Algorithms, and Applications, ASA-SIAM Series on Statistics and Applied Probability, SIAM, Philadelphia, ASA, Alexandria, VA [4] Jiawei Han, Micheline Kamber, Jian Pei (2012), Data Mining: Concept and Technique, Third Edition, Morgan Kaufmann Publisher [5] Ho Tu Bao (1996), Introduction to Knowledge Discovery and Data Mining, Institute of Information Technology, National Center for Natural Science and Technology [6] David L.Olson, Dursun (2008), Advanced Data Mining Technique Spring - Verlag [7] C Romero, S Ventura (2006), Data Mining in E-Learning, published by WITPress [8] C.Vialardi, J Bravo, L Shafti, A Ortigosa (2009) Recommendation in Higher Education Using Data Mining Techniques, International Conference on Educational Data Mining (EDM), 2nd, Cordoba, Spain Tài liệu tham khảo từ Internet [9] https://en.wikipedia.org/wiki/Educational_data_mining, truy cập ngày 10/03/2016 [10] https://en.wikipedia.org/wiki/Cluster_analysis, truy cập ngày 20/03/2016 44 PHỤ LỤC TUYỂN CHỌN CHUYÊN SÂU: TUYỂN CHỌN CHUYÊN SÂU ĐIỀN KINH Nội dung thi tuyển chọn chuyên sâu: Bật xa chỗ chân (không bấm giờ) Giới Điểm Điểm Điểm Điểm Điểm Điểm Điểm Điểm Điểm Điểm tính 10 Nam >2m75 2m70 2m65 2m60 2m55 2m50 2m45 2m40 2m35 2m74 2m69 2m64 2m59 2m54 2m49 2m44 2m39 2m35 2m30 2m25 2m20 2m15 2m10 2m05 2m00 1m95 2m34 2m29 2m24 2m19 2m14 2m09 2m04 1m99 10m50 10m10 9m70 9m30 8m90 8m50 8m20 8m00 7m80 9m50 9m10 8m70 8m30 7m90 7m50 7m20 7m00 6m80