Đánh giá chất lượng học tập của sinh viên dựa trên kỹ thuật khai phá dữ liệu.

30 330 1
Đánh giá chất lượng học tập của sinh viên dựa trên kỹ thuật khai phá dữ liệu.

Đ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

HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC LỜI MỞ ĐẦU Trong vài thập niên gần đây, cùng với sự phát triển công nghệ thông tin trên thế giới, bằng những thành tựu của mình ngành công nghệ thông tin Việt Nam đã và đang góp phần thúc đẩy nhiều ngành nghề và lĩnh vực khác nhau trong nước ngày một phát triển. Ngành giáo dục là một trong những ngành quan trọng bậc nhất trong công cuộc xây dựng và phát triển đất nước, trong đó giáo dục đại học có vị trí quan trọng trong việc đào tạo nhân tài. Chất lượng đào tạo là vấn đề quan trọng hàng đầu đối với trường đại học. Việc đảm bảo và nâng cao chất lượng đào tạo đại học là một đòi hỏi ngày càng mang tính bức thiết và cũng là một công việc khó khăn và mang tính quyết định đến sứ mạng của nhà trường đại học. Xuất phát từ nhu cầu thực tiễn về việc đánh giá chất lượng học tập của sinh viên để hỗ trợ cho việc cải thiện công tác giảng dạy nhằm nâng cao chất lượng giảng dạy của nhà trường. Khác với phương pháp đánh giá truyền thống, thực hiện chương trình ứng dụng hỗ trợ đánh giá chất lượng học tập của sinh viên dựa trên kỹ thuật khai phá dữ liệu. Trang 1 Cơ sở dữ liệu Làm sạch dữ liệu Tích hợp dữ liệu Kho dữ liệu Chọn dữ liệu Dữ liệu có liên quan Khai phá dữ liệu. Mẫu dữ liệu. Tri thức HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC CHƯƠNG 1 TÌM HIỂU VỀ KHAI PHÁ DỮ LIỆU 1.1 Khái niệm khai phá dữ liệu và quá trình khai phá tri thức Khai phá dữ liệu là rút hoặc khai phá các tri thức từ một lượng dữ liệu lớn, thuật ngữ được rút gọn của thuật ngữ khai phá thông tin, tri thức từ dữ liệu. Nhiều người xem khai phá dữ liệu là một khái niệm đồng nghĩa của một khái niệm nổi tiếng khác là “Khám phá tri thức trong cơ sở dữ liêu” (Knowledge Discovery Database: KDD). Thay vào đó, những người khác lại xem khai phá dữ liệu đơn giản là một bước chủ yếu trong tiến trình KDD. Toàn bộ tiến trình KDD được mô tả trong hình sau: Hình 1: Tiến trình KDD - Làm sạch dữ liệu: loại bỏ những dữ liệu không liên quan. - Kết hợp dữ liệu: những dữ liệu từ nhiều nguồn được kết hợp với nhau. - Lựa chọn dữ liệu: những dữ liệu có liên quan được dưa vào cơ sở dữ liệu. Trang 2 Cơ sở dữ liệu Kho dữ liệu Làm sạch và tích hợp dữ liệu. Lọc dữ liệu Máy chủ của cơ sở dữ liệu hoặc kho dữ liệu Bộ máy khai phá dữ liệu Đánh giá mẫu Giao diện đồ họa dành cho người dùng Cơ sở tri thức HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC - Chuyển đổi dữ liệu: dữ liệu được chuyển đổi thành những dạng phù hợp cho việc khai phá bằng cách thực thi những thao tác rút gọn hoặc tổng hợp tuỳ theo từng trường hợp. - Khai phá dữ liệu: một quá trình thiết yếu trong đó những phương pháp thông minh được áp dụng để tách ra những mẫu dữ liệu. - Đánh giá mẫu: xác định những mẫu nào thực sự đáng chú ý trình bày những cơ sở tri thức trên một số giới hạn không đáng chú ý. - Trình bày tri thức: trong đó những kĩ thuật trực quan hóa và trình bày tri thức được dùng để trình bày những tri thức đã khai phá được cho người dùng. Theo quan điểm khai phá dữ liệu là một tiến trình quan trọng trong tiến trình khai phá dữ liệu từ nhiều dữ liệu trong nhiều cơ sở dữ liệu, kho dữ liệu hoặc những nơi chứa thông tin khác. Vì vậy, kiến trúc của một hệ thống khai phá dữ liệu có thể gồm những thành phần sau đây: Hình 2: Kiến trúc của một hệ thống Khai phá dữ liệu Trang 3 HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC 1.2 Giải thuật Apriori: Tìm kiếm những itemset phổ biến Apriori là giải thuật hiệu quả để tìm thấy những itemset phổ biến đối với những luật kết hợp luận lý. Apriori là phương pháp đệ qui, trong đó tập k-itemset phổ biến được dùng để tạo ra tập (k+1)-itemset phổ biến, và tập 1-itemset sẽ được tìm đầu tiên. Việc tìm kiếm mỗi tập k-itemset phổ biến yêu cầu duyệt qua toàn bộ cơ sở dữ liệu. Để cải thiện hiệu quả của phương pháp tìm itemset này, ta chú ý đến một thuộc tính quan trọng được gọi là thuộc tính Apriori, được phát biểu như sau: một tập con khác rỗng của một itemset phổ biến cũng phổ biến. Thuộc tính này làm giảm không gian tìm kiếm. Giải thuật Apriori gồm: Giả sử L k là một tập những k-itemset. Bước 1: tự kết. Để tìm L k , lấy L k-1 tự kết với chính nó, sau khi tự kết sẽ cho kết quả là một tập những k-itemset, tập này được kí hiệu là C k . Bước 2: sàng lọc. C k là tập cha của L k , những phần tử trong đó có thể phổ biến hoặc không phổ biến. Ta duyệt qua cơ sở dữ liệu để xác định L k từ C k . Vì C k có thể là rất lớn nên khi duyệt qua cơ sở dữ liệu sẽ rất phức tạp, nên ta giảm kích thước của C k bằng thuộc tính Apriori, nghĩa là trong C k , bất kỳ tập con (k-1) nào của một k-itemset không thuộc L k-1 thì k-itemset đó bị loại ra khỏi C k . Trang 4 HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC null AB AC AD AE BC BD BE CD CE DE A B C D E ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE ABCD ABCE ABDE ACDE BCDE ABCDE Không phải làm Thấy tập không phổ biến Hình 3: Trực quan về thuật toán Apriori Ví dụ về thuật toán Apriori: Hình 4: Ví dụ về thuật toán Apriori Trang 5 Cơ sở dữ liệu TDB duyệt lần 3 duyệt lần 2 duyệt lần 1 HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC 1.3 Cài đặt thuật toán - Đầu tiên tính toán và tìm tập 1-itemset phổ biến. - Lần duyệt thứ k: Sử dụng các tập L k-1 của tập k-1 item phổ biến được tìm thấy ở lần duyệt thứ k-1 để tạo tập dự kiến C k (dùng hàm apriori_gen). Tiếp theo duyệt cơ sở dữ liệu và tính support cho C k . - Tập hợp các tập k-itemset L k : là tập hợp của các tập k_itemset phổ biến, mỗi phần tử là một tập có 2 trường itemset, support. - C k : tập hợp các tập k-itemset dự kiến, mỗi phần tử của tập có 2 trường item set và support. - k C : tập hợp của tập k_itemset dự kiến, khi TID của giao tác sinh ra nó kết hợp với một itemset dự kiến.  Thuật toán Apriori cơ bản như sau: 1) 1 L = tìm_1-itemset_phổ_biến( D ); 2) for ( k=2 ; φ ≠ −1k L ; k++) { 3) k C = apriori_gen( 1 − k L , supmin_ ); 4) for each giao tác Dt ∈ { 5) t C = tập_con( tC k , ); 6) for each ứng viên t Cc ∈ 7) c.count++; 8) } 9) }supmin_.{ ≥∈= countcCcL kk 10) } 11) return kk LL ∪= ; o Thủ tục apriori_gen: Trang 6 HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC Thủ tục apriori_gen ( 1−k L : )1( − k -itemsets phổ biến; supmin_ : độ hỗ trợ tối thiểu) 1) for each itemset 11 − ∈ k Ll 2) for each itemset 12 − ∈ k Ll 3) if ])1[]1[(])2[]2[( ])2[]2[(])1[]1[( 21212121 −=−∧−=−∧∧=∧= klklklklllll then { 4) 21 llc  = ; 5) if tập_con_không_phổ_biến( 1 , −k Lc ) then 6) delete c ; 7) else add c to k C ; 8) } 9) return k C ; o Hàm tập_con_không_phổ_biến : Thủ tục tập_con_không_phổ_biến ( 1 − k L : )1( − k -itemsets phổ biến; supmin_ ) 1) for each ( 1−k ) tập con s của c 2) if 1− ∉ k Ls then 3) return TRUE; 4) return FALSE;  Hàm tìm_luật: 1) for k = 1 đến chiều dài( 1−L ) { 2) c = tìm_tập_con ( L , k ); 3) for each i c thuộc c { 4) vể trái = i c ; 5) vế phải = i cL − ; 6) độ tin cậy = 100* )( )( i cđohotro Lđohotro ; Trang 7 HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC 7) if độ tin cậy > độ tin cậy tối thiểu then { 8) thêm vào luật (vế trái -> vế phải (độ hỗ trợ, độ tin cậy)) 9) } 10) } 11) } 1.4 Những thay đổi của giải thuật Apriori Sau đây là các dạng thuật giải Apriori đã được cải tiến, trong đó các luật 1 đến 6 tập trung vào việc cải thiện hiệu quả cho Apriori còn luật 7 và 8 xét các lượt mua hàng qua thời gian. - Kỹ thuật hash: băm số lần xuất hiện trong các lượt mua hàng của itemset. - Giảm số lần quét dữ liệu. - Giảm số lượt mua hàng cần phải duyệt trong những lần duyệt tương lai. - Sự phân chia: phân chia dữ liệu để tìm những itemset ứng viên. - Lấy mẫu: khai phá trên một tập con trên những dữ liệu cho trước. - Tính toán itemset động: thêm những itemset ứng viên tại những thời điểm khác nhau trong quá trình duyệt dữ liệu. - Phân tích giỏ thị trường theo lịch: tìm kiếm những itemset phổ biến trong một tập những khoảng thời gian do người dùng định nghĩa. - Những mẫu có thứ tự: tìm các thứ tự của các lượt mua hàng phù hợp với thời gian. Chi tiết hai phương pháp cải tiến giải thuật Apriori nhằm giảm số lần so sánh và tăng thời gian xử lí, có thể lưu trữ các tập dự kiến và các giao tác trong các kiểu cấu trúc sau: Hash tree FP tree - Hash tree Trang 8 HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC • Để tạo được các itemset dự kiến và kiểm tra độ hỗ trợ của từng tập dự kiến thì ta phải duyệt tất cả các giao tác trong cơ sở dữ liệu rất nhiều lần. • Để giảm bớt số lượng so sánh này, một cách rất hiệu quả là lưu trữ các tập dự kiến trong một cấu trúc băm • Thay vì phải so sánh mỗi giao tác với từng itemset dự kiến thì ta chỉ cần so sánh mỗi giao tác với các tập dự kiến được chứa trong các buckets của cây băm. • Cấu trúc của Hash tree o Một node chứa 1 danh sách các itemset (node lá) hay một bảng băm (node trong) o Node trong: mỗi bucket chứa con trỏ trỏ đến node khác. Node gốc ở mức 1. Node trong ở mức d trỏ đến các node ở mức d+1. o Node lá lưu itemset. o Khi thêm một itemset c: bắt đầu từ node gốc đi xuống cho đến khi tìm được node lá để chèn nó. o Sự phân nhánh dựa vào hàm băm của item thứ d của itemset. o Khi số lượng itemset trong node lá vượt quá giới hạn thì node lá sẽ được chuyển thành node trong • Thực thi Apriori với Hash Tree Yêu cầu: Cần có một hàm băm Số itemset được lưu trong 1 node lá lớn nhất (nếu số itemset lớn hơn kích thước max của lá thì sẽ được tách ra thành nhiều node). Có 15 tập 3_item dự kiến: {1 4 5}, {1 2 4}, {4 5 7}, {1 2 5}, {4 5 8}, {1 5 9}, {1 3 6}, {2 3 4}, {5 6 7}, {3 4 5}, {3 5 6}, {3 5 7}, {6 8 9}, {3 6 7}, {3 6 8} Trang 9 1,4,7 2,5,8 3,6,9 Hàm băm HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC Hình 5: Ví dụ về cách duyệt transaction bằng cấu trúc Hashtree • Tìm kiếm trên Hash tree: Dùng cây để tìm itemset trong một giao tác t Trang 10 [...]... chậm Hướng phát triển Ứng dụng chỉ khai phá được một phần thông tin từ lượng dữ liệu được cung cấp, trong khi đó nhu cầu đánh giá chất lượng học tập của sinh viên trong các trường đại học rất lớn và đa dạng Ứng dụng này cần được mở rộng để khai phá trên những dữ liệu lớn và đa dạng hơn, đáp ứng cho nhiều khoa khác nhau của nhiều trường khác nhau Ngoài ra, để phù hợp với việc khai phá trên lượng dữ liệu.. . các bảng trong cơ sở dữ liệu data_filter 2.3 Mô tả chi tiết chương trình Khai phá dữ liệu học tập của sinh viên theo hướng khai phá các luật kết hợp Mục đích của chương trình là đưa ra các luật kết hợp liên quan đến vấn đề học tập của sinh viên Bài toán đặt ra cho giai đoạn này là khai phá dữ liệu bằng giải thuật Apriori, kết hợp với phương pháp cải tiến sử dụng Hash tree trên cơ sở dữ liệu filter_data... 20: Form thực thi tìm giá trị luật của chương trình ứng dụng Trang 28 HV: HUỲNH THANH PHỤNG GVHD: PGS.TS ĐỖ PHÚC PHẦN KẾT LUẬN Kết quả đạt được: - Tìm hiểu cơ sở lý thuyết về kỹ thuật khai phá dữ liệu và các giải thuật khai phá dữ liệu Bổ sung những tri thức về khai phá dữ liệu và kỹ thuật sử dụng cho việc khai phá dữ liệu, đặc biệt là kỹ thuật tìm kiếm luật kết hợp - Áp dụng giải thuật Apriori để xây... dựng chương trình hỗ trợ đánh giá chất lượng học tập của sinh viên Hạn chế - Số lượng dữ liệu điểm hạn chế khiến cho độ chính xác của chương trình chưa cao, chỉ khai phá được một số lượng ít thông tin từ nguồn dữ liệu có được - Chương trình sử dụng giải thuật Apriori để tìm tập phổ biến tuy đã được cải tiến bằng kỹ thuật cây Hash nhưng số lần duyệt các SVTrans và số lần tạo ứng viên còn nhiều, dẫn đến... - bool sinhvien: với ý nghĩa giao tác này có được duyệt ở lượt tiếp theo hay không Đồng thời các đối tượng SVTrans sẽ được lưu thành một mảng, với số lượng tương ứng với số sinh viên có trong cơ sở dữ liệu, như vậy số thứ tự của sinh viên trong mảng SVTrans sẽ tương ứng số thứ tự của sinh viên đó trong dữ liệu sinh viên - string monhoc: lưu vị trí của môn học trong dữ liệu môn học, mỗi môn học được... trong tập có D và E Xét A trong tập có D, E Hình 6: Ví dụ minh họa cách sử dụng cấu trúc FP_Tree Trang 15 HV: HUỲNH THANH PHỤNG GVHD: PGS.TS ĐỖ PHÚC CHƯƠNG 2 XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG 2.1 Giới thiệu bài toán Chương trình ứng dụng khai phá dữ liệu dữ liệu sinh viên và điểm số để tìm ra những luật kết hợp nhằm hỗ trợ đánh giá kết quả học tập của sinh viên khoa Công Nghệ Thông Tin trường Đại Học Tôn... viết dựa trên thuật toán Apriori để tìm luật kết hợp, phương pháp cải tiến của thuật toán này là sử dụng cấu trúc Hashtree để lưu trữ những itemset dự kiến nhằm cải thiện tốc độ của chương trình Chương trình thực hiện hai chức năng chính: − Tìm luật kết hợp mạnh giữa các môn học theo dạng: học yếu môn học A sẽ dẫn đến học yếu môn học B Thao tác của người sử dụng trong chức năng này là chọn một số môn học. .. thuật Apriori được áp dụng tốt nhất trên dữ liệu dạng giao tác (transaction), khác với dữ liệu dạng quan hệ ta đang dùng (nhằm thuận tiện cho việc lưu trữ cũng như truy vấn hoặc xem trước dữ liệu) Vì vậy, ta cần phải chuyển dữ liệu đang có thành dạng transaction ngắn gọn, giải pháp đưa ra là sử dụng cấu trúc dạng mảng 2 chiều như sau: o Chiều thứ nhất lưu mã số của sinh viên (hoặc thứ tự của sinh viên. .. đó trong mảng sinh viên) o Chiều thứ hai lưu mã số (hoặc thứ tự của môn học trong mảng môn học) của những môn mà sinh viên đó học theo dạng chuỗi, cách nhau bởi dấu phẩy “,” Sv1 Sv2 ……… Sv(N-1) SvN Môn1 Môn1 Môn1 Môn1 Môn2 Môn2 Môn2 Môn2 MônM MônJ MônK MônH Hình 9: Cấu trúc của dữ liệu điểm của SV theo dạng transaction Trang 19 HV: HUỲNH THANH PHỤNG GVHD: PGS.TS ĐỖ PHÚC Hình 10: cấu trúc dữ liệu SVTrans... sở dữ liệu - Tầng xử lý chính - Tầng giao tiếp với người dùng 2.3.1 Các cấu trúc dữ liệu lưu trữ đối tượng dữ liệu Ứng dụng sử dụng dữ liệu có sẵn trong cơ sở dữ liệu để thực thi các thao tác, gồm các đối tượng tương đương các đối tượng dữ liệu chính như sau: o SinhVien: đối tượng lưu trữ các thông tin về một sinh viên o Lop: thông tin về lớp học o MonHoc: các thông tin của môn học o Diem: lưu điểm của . phương pháp đánh giá truyền thống, thực hiện chương trình ứng dụng hỗ trợ đánh giá chất lượng học tập của sinh viên dựa trên kỹ thuật khai phá dữ liệu. Trang 1 Cơ sở dữ liệu Làm sạch dữ liệu Tích. khai phá dữ liệu và quá trình khai phá tri thức Khai phá dữ liệu là rút hoặc khai phá các tri thức từ một lượng dữ liệu lớn, thuật ngữ được rút gọn của thuật ngữ khai phá thông tin, tri thức từ dữ. dữ liệu Kho dữ liệu Chọn dữ liệu Dữ liệu có liên quan Khai phá dữ liệu. Mẫu dữ liệu. Tri thức HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC CHƯƠNG 1 TÌM HIỂU VỀ KHAI PHÁ DỮ LIỆU 1.1 Khái niệm khai

Ngày đăng: 09/04/2015, 22:43

Từ khóa liên quan

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

Tài liệu liên quan