ÁP DỤNG THUẬT TOÁN APRIORI ĐỂ HỖ TRỢ SINH VIÊN CHỌN MÔN HỌC Chương 1: Trình bày giới thiệu chung về khám phá tri thức và khai phá dữ liệu, trong đó có đề cập đến khái niệm tri thức, dữ liệu, quá trình khám phá tri thức, nhiệm vụ và các kỹ thuật khám phá tri thức. Chương 2: Trình bày các phương pháp khai phá dữ liệu bằng luật kết hợp và trình bày thuật toán Aprori. Chương 3: Trình bày áp dụng thuật toán Apriori để hỗ trợ sinh viên chọn môn học tại trường Cao đẳng nghề Bách khoa Hà Nội.
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG LÊ THỊ KIỀU NGÂN ÁP DỤNG THUẬT TOÁN APRIORI ĐỂ HỖ TRỢ SINH VIÊN CHỌN MÔN HỌC CHUYÊN NGÀNH : KHOA HỌC MÁY TÍNH MÃ SỐ: 60.48.01 TĨM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI - 2013 Luận văn hồn thành tại: HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THÔNG Người hướng dẫn khoa học: TS NGUYỄN MẠNH HÙNG Phản biện 1: …………………………………………………………… Phản biện 2: …………………………………………………………… Luận văn bảo vệ trước Hội đồng chấm luận văn thạc sĩ Học viện Cơng nghệ Bưu Viễn thông Vào lúc: ngày tháng năm Có thể tìm hiểu luận văn tại: - Thư viện Học viện Công nghệ Bưu Viễn thơng LỜI MỞ ĐẦU Trong năm gần đây, phát triển mạnh mẽ công nghệ thông tin làm cho khả thu thập lưu trữ thông tin hệ thống thông tin tăng nhanh Bên cạnh đó, việc tin học hóa cách ạt nhanh chóng hoạt động sản xuất, kinh doanh nhiều lĩnh vực hoạt động khác tạo cho lượng liệu cần lưu trữ khổng lồ Trong có nhiều sở liệu lớn cỡ Gigabyte, chí Terabyte Sự bùng nổ dẫn tới yêu cầu cấp thiết cần có kỹ thuật công cụ để tự động chuyển đổi lượng liệu khổng lồ thành tri thức có ích Từ đó, kỹ thuật khai phá liệu trở thành lĩnh vực thời cơng nghệ thơng tin giới nói chung Việt Nam nói riêng Khai phá liệu áp dụng cách rộng rãi nhiều lĩnh vực kinh doanh đời sống khác như: marketing, tài chính, ngân hàng bảo hiểm, khoa học, y tế, giáo dục, internet… Mục đích nghiên cứu đề tài tìm hiểu kỹ thuật khai phá liệu; vấn đề liên quan đến khai phá luật kết hợp nhằm phát đưa mối liên hệ giá trị liệu sở liệu đưa luật dựa thuật toán Apriori Nội dung luận văn gồm chương: Chương 1: Trình bày giới thiệu chung khám phá tri thức khai phá liệu, có đề cập đến khái niệm tri thức, liệu, trình khám phá tri thức, nhiệm vụ kỹ thuật khám phá tri thức Chương 2: Trình bày phương pháp khai phá liệu luật kết hợp trình bày thuật tốn Aprori Chương 3: Trình bày áp dụng thuật tốn Apriori để hỗ trợ sinh viên chọn môn học trường Cao đẳng nghề Bách khoa Hà Nội 4 CHƯƠNG 1: TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 1.1 Phát tri thức khai phá liệu Phát tri thức sở liệu qui trình nhận biết mẫu mơ hình liệu với tính năng: hợp thức, mới, khả ích, hiểu Cịn khai thác liệu bước qui trình phát tri thức gồm có thuật tốn khai thác liệu chuyên dùng số qui định hiệu tính tốn chấp nhận để tìm mẫu mơ hình liệu 1.2 Quá trình phát tri thức từ sở liệu Q trình phát tri thức chia thành bước sau: Hình 1.1 - Các bước Data Mining & KDD Bước Làm liệu (data cleaning & preprocessing): Loại bỏ nhiễu liệu khơng cần thiết Bước Tích hợp liệu (data integration): trình hợp liệu thành kho liệu (data warehouses&data marts) sau làm tiền xử lý (data cleaning & preprocessing) Bước Trích chọn liệu (data selection): trích chọn liệu từ kho liệu sau chuyển đổi dạng thích hợp cho q trình khai thác tri thức Quá trình bao gồm việc xử lý với liệu nhiễu (noisy data), liệu không đầy đủ (incomplete data), v.v 5 Bước Chuyển đổi liệu: Các liệu chuyển đổi sang dạng phù hợp cho trình xử lý Bước Khai phá liệu (data mining): Là bước quan trọng nhất, sử dụng phương pháp thông minh để chắt lọc mẫu liệu Bước Ước lượng mẫu (knowledge evaluation): Q trình đánh giá kết tìm thơng qua độ đo Bước Biểu diễn tri thức (knowledge presentation): Quá trình sử dụng kỹ thuật để biểu diễn thể trực quan cho người dùng 1.2.1 Đặt vấn đề Với tri thức phát có giá trị lĩnh vực lại không mang nhiều ý nghĩa lĩnh vực khác Vì mà việc xác định lĩnh vực định nghĩa toán giúp định hướng cho giai đoạn giai đoạn thu thập tiền xử lý liệu 1.2.2 Thu thập tiền xử lý liệu Các sở liệu thu thường chứa nhiều thuộc tính lại khơng đầy đủ, khơng nhất, có nhiều lỗi giá trị đặc biệt Vì vậy, giai đoạn thu thập tiền xử lý liệu trở nên quan trọng trình phát tri thức từ sở liệu người ta chia làm giai đoạn sau: - Chọn lọc liệu: Là chọn liệu có liên quan nguồn liệu khác - Làm liệu: Dữ liệu lấy từ nhiều nguồn khác thường khơng đồng Do cần có biện pháp xử lý để đưa sở liệu thống phục vụ cho việc khai thác - Làm giầu liệu: Trong trình thu thập liệu đơi khơng đảm bảo tính đầy đủ liệu Một số thơng tin quan trọng thiếu khơng đầy đủ Q trình làm giàu bao bao gồm việc tích hợp chuyển đổi liệu - Mã hóa: Các phương pháp dùng để chọn lọc, làm sạch, làm giàu liệu mã hóa dạng thủ tục, chương trình hay tiện ích nhằm tự động hóa việc kết xuất, biến đổi di chuyển liệu Các hệ thống thực thi định kỳ làm tươi liệu phục vụ cho việc phân tích 1.2.3 Khai thác liệu Giai đoạn khai thác liệu bắt đầu sau liệu thu thập tiến hành xử lý Trong giai đoạn này, công việc chủ yếu xác định toán khai thác liệu, tiến hành lựa chọn phương pháp khai thác phù hợp với liệu có tách tri thức cần thiết 1.3 Khai phá liệu 1.3.1 Mục đích khai phá liệu: Nhiệm vụ khai phá liệu là: - Phân cụm, phân loại, phân nhóm, phân lớp: Quá trình thường thực cách tự động - Khai phá luật kết hợp: Nhiệm vụ phát mối quan hệ giống ghi giao dịch Luật kết hợp X=>Y có dạng tổng quát là: Nếu giao dịch sở hữu tính chất X đồng thời sở hữu tính chất Y, mức độ Khai phá luật kết hợp hiểu theo nghĩa: Biết trước tính chât X, tính chất Y tính chất nào? - Lập mơ hình dự báo: bao gồm hai nhiệm vụ: Hoặc phân nhóm liệu vào hay nhiều lớp liệu xác định từ trước, sử dụng trường cho sở liệu để dự báo xuất (hoặc không xuất hiện) trường hợp khác - Phân tích đối tượng ngồi cuộc: Một sở liệu có thể chứa đối tượng khơng tn theo mơ hình liệu Các đối tượng liệu gọi đối tượng ngồi - Phân tích tiến hóa: Phân tích tiến hóa thực việc mơ tả mơ hình hóa quy luật hay khuynh hướng đối tượng mà ứng xử chúng thay đổi theo thời gian 1.3.2 Các kỹ thuật khai phá liệu Kỹ thuật khai phá liệu gồm hai nhóm sau: - Kỹ thuật khai phá liệu mơ tả: Có nhiệm vụ mơ tả tính chất đặc tính chung liệu sở liệu có Các kỹ thuật gồm có: Phân cụm (clustering), tóm tắt (summerization), trực quan hóa (visualiztation), phân tích phát triển độ lệch (evolution and deviation analyst), phân tích luật kết hợp (association rules) … - Kỹ thuật khai phá liệu dự đốn: Có nhiệm vụ đưa dự đốn dựa vào suy diễn liệu thời Các kỹ thuật gồm có: Phân lớp (classification), hồi quy (regession)… Tuy nhiên, có số phương pháp thông dụng là: Phân cụm liệu, phân lớp liệu, phương pháp hồi quy khai phá luật kết hợp a Phân cụm liệu: Mục tiêu phương pháp phân cụm liệu nhóm đối tượng tương tự tập liệu vào cụm cho đối tượng thuộc lớp tương đồng đối tượng thuộc cụm khác không tương đồng b Phân lớp liệu: Mục tiêu phương pháp phân lớp liệu dự đoán nhãn lớp cho mẫu liệu Quá trình phân lớp liệu thường gồm hai bước: Xây dựng mơ hình sử dụng mơ hình để phân lớp liệu Bước 1: Xây dựng mơ hình: Một mơ hình xây dựng dựa việc phân tích mẫu liệu sẵn có Mỗi mẫu tương ứng với lớp, định thuộc tính gọi thuộc tính lớp Các lớp liệu gọi lớp liệu huấn luyện (training data set) Các nhãn lớp tập liệu huấn luyện phải xác định trước xây dựng mơ hình Bước 2: Sử dụng mơ hình để phân lớp liệu Trước hết, phải tính độ xác mơ hình Nếu độ xác chấp nhận được, mơ hình sử dụng để dự đoán nhãn lớp cho mẫu liệu khác tương lai c Phương pháp hồi quy: Phương pháp hồi quy khác với phân lớp liệu chỗ: Hồi quy dùng để dự đoán giá trị liên tục phân lớp liệu dùng để dự đoán giá trị rời rạc d Khai phá luật kết hợp: Mục tiêu phương pháp phát đưa mối liên hệ giá trị liệu sở liệu Mẫu đầu giải thuật khai phá liệu luật kết hợp tìm Khai phá luật kết hợp thực qua hai bước: Bước 1: Tìm tất tập mục phổ biến, tập mục phổ biến xác định qua tính hỗ trợ thỏa mãn độ hỗ trợ cực tiểu Bước 2: Sinh luật kết hợp mạnh từ tập mục phổ biến, luật phải thỏa mãn độ hỗ trợ cực tiểu độ tin cậy cực tiểu Phương pháp sử dụng hiệu lĩnh vực maketing có chủ đích, phân tích định, quản lý kinh doanh, phân tích giá thị trường … 1.3.3 Một số ứng dụng khai phá liệu Hiện nay, kỹ thuật khai phá liệu áp dụng cách rộng rãi nhiều lĩnh vực kinh doanh đời sống khác như: - Thương mại: Phân tích liệu bán hàng thi trường, phân tích đầu tư, định cho vay, phát gian lận, … - Thông tin sản xuất: Điều khiển lập kế hoạch, hệ thống quản lý, phân tích kết thử nghiệm, … - Thông tin khoa học: dự báo thời tiết, CSDL sinh học: Ngân hàng gen, … khoa học địa lý: dự báo động đất, … - Trong lĩnh vực khác như: y tế, giáo dục, marketing, ngân hàng, viễn thơng, du lịch, internet… 1.3.4 Những khó khăn khai phá liệu - Dữ liệu lớn - Kích thước lớn - Dữ liệu động - Các trường liệu không phù hợp - Các giá trị bị thiếu - Các trường liệu bị thiếu 1.4 Kết luận Chương trình bày trình phát tri thức từ sở liệu, nhiệm vụ khai phá liệu, kỹ thuật khai phá, số ứng dụng khai phá khó khăn gặp phải trình khai phá liệu Trong kỹ thuật khai phá liệu, khai phá luật kết hợp lĩnh vực đuợc quan tâm nghiên cứu Chương luận văn trình bày cụ thể khai phá luật kết hợp thuật toán Apriori 9 CHƯƠNG 2: KHAI PHÁ DỮ LIỆU BẰNG LUẬT KẾT HỢP VÀ THUẬT TOÁN APRIORI 2.1 Khai phá liệu luật kết hợp 2.1.1 Định nghĩa luật kết hợp a Định nghĩa: Cho I={I1, I2, , Im} tập hợp m tính chất riêng biệt Giả sử D sở liệu, với ghi chứa tập T tính chất (có thể coi T I), ghi có số riêng Một luật kết hợp mệnh đề kéo theo có dạng XY, X, Y I, thỏa mãn điều kiện XY= Các tập hợp X Y gọi tập hợp tính chất (itemset) Tập X gọi nguyên nhân, tập Y gọi hệ Có độ đo quan trọng luật kết hợp: Độ hỗ trợ (support) độ tin cậy (confidence), định nghĩa phần b Định nghĩa độ hỗ trợ: Định nghĩa 2.1: Độ hỗ trợ tập hợp X sở liệu D tỷ số ghi T D có chứa tập X tổng số ghi D (hay phần trăm ghi D có chứa tập hợp X), ký hiệu support(X) hay supp(X) (support tự sinh cài thuật toán) Supp(X) = T D : Y X D Ta có: ≤ supp(X) ≤ với tập hợp X Định nghĩa 2.2: Độ hỗ trợ luật kết hợp X Y tỷ lệ số lượng ghi chứa tập hợp X Y, so với tổng số ghi D - Ký hiệu supp(XY) Supp(XY) = T D : T X Y D Khi nói độ hỗ trợ luật 50%, có nghĩa có 50% tổng số ghi chứa X Y Như vậy, độ hỗ trợ mang ý nghĩa thống kê luật c Định nghĩa độ tin cậy: Định nghĩa 2.3: Độ tin cậy luật kết hợp XY tỷ lệ số lượng ghi D chứa X Y với số ghi D có chứa tập hợp X Ký hiệu độ tin cậy luật conf(r) Ta có ≤ conf(r) ≤ Nhận xét: Độ hỗ trợ độ tin cậy có xác suất sau: 10 Supp(XY)=P(X Y) Conf (XY) = P(Y/X)=supp(X Y)/supp(X) Có thể định nghĩa độ tin cậy sau: Định nghĩa 2.4: Độ tin cậy luật kết hợp X Y tỷ lệ số lượng ghi tập hợp chứa X Y, so với tổng số ghi chứa X d Định nghĩa tập hợp theo: Định nghĩa 2.5: Tập hợp X gọi tập hợp thường xuyên (Frequent itemset) có supp(X) ≥ minsup, với minsup ngưỡng độ hỗ trợ cho trước Ký hiệu tập FI Tính chất 2.1: Giả sử A,B I hai tập hợp với AB supp(A) ≥ supp(B) Như vậy, ghi chứa tập hợp B chứa tập hợp A Tính chất 2.2: Giả sử A, B hai tập hợp, A,B I, B tập hợp thường xuyên AB A tập hợp thường xuyên Thật vậy, B tập hợp thường xuyên supp(B) ≥ minsup, tập hợp A tập hợp B tập hợp thường xuyên sở liệu D supp(A) ≥ supp(B) (Tính chất 2.1) Tính chất 2.3: Giả sử A, B hai tập hợp, A B A tập hợp khơng thường xun B tập hợp không thường xuyên Định nghĩa 2.6: Một tập mục X gọi đóng (closed) khơng có tập cha X có độ hỗ trợ với nó, tức khơng tồn tập mục X’ mà X’X t(X) = t(X’) (với t(X) t(X’) tương ứng tập giao chứa tập mục X X’) Ký hiệu tập phổ biến đóng FCI Định nghĩa 2.7: Nếu X phổ biến không tập cha X phổ biến, ta nói X tập phổ biến lớn (maximally frequent itemset) Ký hiệu tập tất tập phổ biến lớn MFI Dễ thấy MFI FCI FI Khai phá luật kết hợp công việc phát (tìm ra, khám phá, phát hiện) luật kết hợp thỏa mãn ngưỡng độ hỗ trợ () ngưỡng độ tin cậy (α) cho trước Bài toán khai phá luật kết hợp chia thành hai tốn nhỏ, hay người ta thường nói, việc giải toán trải qua hai pha: Pha 1: Tìm tất tập phổ biến (tìm FI) CSDL T 11 Pha 2: Sử dụng tập FI tìm pha để sinh luật tin cậy (interesting rules) Ý tưởng chung gọi ABCD AB tập mục phổ biến, xác định luật AB CD với tỷ lệ độ tin cậy: conf = supp(ABCD) supp(AB) Nếu conf ≥ minconf luật giữ lại (và thỏa mãn độ hỗ trợ tối thiểu ABCD phổ biến) Thuật toán - Thuật toán bản: Input: I, D, , Output: Các luật kết hợp thỏa mãn ngưỡng độ hỗ trợ , ngưỡng độ tin cậy Algorithm: 1) Tìm tất tập hợp tính chất có độ hỗ trợ khơng nhỏ ngưỡng 2) Từ tập hợp tìm ra, tạo luật kết hợp có độ tin cậy khơng nhỏ Thuật tốn - Tìm luật kết hợp biết tập hợp thường xuyên: Input: I, D, , , S Output: Các luật kết hợp thỏa mãn ngưỡng độ hỗ trợ , ngưỡng độ tin cậy Algorithm: 1) Lấy tập xuất - thường xuyên S 2) Xét luật kết hợp có dạng X S, tập X S (S X), đánh giá độ tin cậy xem có nhỏ hay khơng Thực chất, tập hợp S mà ta xét đóng vai trò tập hợp giao S = X Y, X (S - X) = , nên coi Y= S - X 2.1.2 Một số hướng tiếp cận khai phá luật kết hợp Có số hướng sau đây: - Luật kết hợp nhị phân (Binary association rule): hướng nghiên cứu luật kết hợp Theo dạng luật kết hợp items quan tâm có hay không xuất sở liệu giao tác (Transaction database) không quan tâm mức độ hay tần xuất xuất Thuật toán tiêu biểu khai phá dạng luật thuật toán Apriori - Luật kết hợp có thuộc tính số thuộc tính hạng mục (Quantitative and categorial association rule): sở liệu thực tế thường có thuộc tính đa dạng (như nhị phân, số, mục (categorial) ) không quán dạng Vì để khai phá luật kết 12 hợp với sở liệu nhà nghiên cứu đề xuất số phương pháp rời rạc hóa nhằm chuyển dạng luật dạng nhị phân để áp dụng thuật tốn có - Luật kết hợp tiếp cận theo hướng tập thô (mining association rule base on rough set): tìm kiếm luật kết hợp dựa lí thuyết tập thô - Luật kết hợp nhiều mức (multi-level association ruls): với cách tiếp cận luật kết hợp tìm kiếm thêm luật có dạng: mua máy tính PC mua hệ điều hành Window AND mua phần mềm văn phòng Microsoft Office,… - Luật kết hợp mờ (fuzzy association rule): Với khó khăn gặp phải rời rạc hóa thuộc tính số, nhà nghiên cứu đề xuất luật kết hợp mờ khắc phục hạn chế chuyển luật kết hợp dạng gần gũi - Luật kết hợp với thuộc tính đánh trọng số (association rules with weighted items): Các thuộc tính sở liệu thường khơng có vai trị Có số thuộc tính quan trọng trọng thuộc tính khác Vì trình tìm kiếm luật thuộc tính đánh trọng số theo mức độ xác định - Khai thác luật kết hợp song song (parallel mining of association rule): Nhu cầu song song hóa xử lý phân tán cần thiết kích thước liệu ngày lớn nên địi hỏi tốc độ xử lý phải đảm bảo.Trên biến thể khai phá luật kết hợp cho phép ta tìm kiếm luật kết hợp cách linh hoạt sở liệu lớn Bên cạnh nhà nghiên cứu cịn trọng đề xuất thuật tốn nhằm tăng tốc q trình tìm kiếm luật kết hợp sở liệu 2.2 Thuật tốn Apriori 2.2.1 Ý tưởng thuật tốn Apriori: - Tạo tập mục phổ biến có phần tử, tiếp đến phần tử, phần tử tạo tập mục phổ biến kích thước - Mỗi tập mục tạo phải tính tốn độ hỗ trợ - Tập mục phổ biến k phần tử tạo từ tập phổ biến k-1 phần tử Bằng cách, nối đôi tập mục phổ biến k-1 phần tử có để tạo tập ứng viên k phần tử Sau đó, tập ứng viên có chứa tập phổ biến bị loại bỏ 2.2.2 Thuật toán Apriori Bảng 2.1: Bảng ký hiệu cho thuật toán Apriori k-itemset Lk (lagre k-itemset) Tập mục có k phần tử Tập mục phổ biến có k phần tử 13 Mỗi phần tử thuộc tập có thuộc tính: i itemset (tập mục) ii count (biến đếm để đo độ hỗ trợ) Tập mục ứng viên có k phần tử Ck Mỗi phần tử thuộc tập có thuộc tính: i itemset (tập mục) ii count (biến đếm để đo độ hỗ trợ) Thuật toán Apriori [10-12] Input: Cơ sở liệu D độ hỗ trợ cực tiểu minsupp Output: Tập mục phổ biến D Giả mã[8] : 1) L1 = {large 1-itemsets}; 2) for ( k = 2; Lk-1 ≠ Ø; k++ ) begin 3) Ck = apriori-gen(Lk-1); // Sinh tập ứng viên 4) forall transactions t D begin 5) Ct= subset(Ck, t); // Tập ứng viên thuộc t 6) forall candidates c Ct 7) c.count++; 8) end 9) Lk = {c Ck | c.count ≥ minsupp} 10) end 11) Answer = UkLk; 2.3 Kết luận Chương luận văn trình bày khai phá liệu luật kết hợp nêu định nghĩa luật kết hợp, số hướng tiếp cận khai phá luật kết hợp trình bày thuật tốn Apriori Chương luận văn trình bày tốn hỗ trợ sinh viên lựa chọn môn học Trường Cao đẳng Nghề Bách khoa Hà Nội 14 CHƯƠNG 3: ÁP DỤNG THUẬT TOÁN APRIORI ĐỂ HỖ TRỢ SINH VIÊN CHỌN MÔN HỌC TẠI TRƯỜNG CAO ĐẲNG NGHỀ BÁCH KHOA HÀ NỘI 3.1 Giới thiệu toán Trường Cao đẳng Nghề Bách Khoa Hà Nội trường đào tạo hệ cao đẳng Nghề quy Hiện nhà trường tổ chức đào tạo theo hình thức niên chế trong vài năm tới nhà trường chuyển sang hình thức đào tạo theo tín Và dựa vào kết học tập sinh viên ba khóa khóa 1, khóa khóa phịng Đào tạo quản lý bảng tính Excel Bài tốn đặt từ kết học tập lớp khóa tìm luật nhằm hỗ trợ sinh viên chọn môn học trường cho có hiệu học tập cao 3.2 Cơng cụ sử dụng chương trình Cơng cụ sử dụng chương trình phần mềm mã nguồn mở Weka Weka (Waikato Environment for Knowledge Analysis) phần mềm khai thác liệu, thuộc dự án nghiên cứu đại học Waikato, New Zealand Mục tiêu dự án xây dựng công cụ đại nhằm phát triển kỹ thuật máy học áp dụng chúng vào toán khai thác liệu thực tế Weka cung cấp tính sau: - Bao gồm nhiều công cụ đa dạng để thay đổi tập liệu, xử lý liệu, giải thuật học phương pháp đánh giá - Giao diện đồ họa người dùng (trực quan hóa liệu) - Mơi trường để so sánh giải thuật học - Có thể xử lý trước tập liệu, cho vào sơ đồ, phân chia lớp kết thực mà khơng cần viết chương trình - Weka lấy liệu từ file có định dạng arff, sinh từ file bảng sở liệu Weka có bốn mơi trường chính: - Simple CLI: Giao diện đơn giản kiểu dịng lệnh (như MSDOS) - Explorer: Mơi trường cho phép sử dụng tất khả WEKA để khai phá liệu - Experimenter: Môi trường cho phép tiến hành thí nghiệm thực kiểm tra thống kê (statistical tests) mơ hình học máy 15 - KnowledgeFlow: Mơi trường cho phép tương tác đồ họa kiểu kéo/thả để thiết kế bước (các thành phần) thí nghiệm Hình 3.1 thể giao diện phần mềm mã nguồn mở Weka Hình 3.1: Giao diện phần mềm Weka 3.3 Mơ tả liệu tốn Dữ liệu đầu vào toán file excell lưu trữ điểm thành phần sinh viên khóa khác Ở khóa khác nhau, sinh viên chia theo lớp: Công nghệ thông tin, Điện tử viễn thơng, Điện, Cơ khí, Kế tốn doanh nghiệp (KTDN), Ơ tô, Quản trị mạng (QTM), Cơ điện tử (CĐT), Lập trình máy tính (LTMT), thiết kế đồ họa (TKĐH) Dữ liệu lớp gồm có số thứ tự, mã sinh viên, họ tên sinh viên, ngày sinh, môn học ứng với học kỳ điểm thực tập Tồn liệu gồm có ba khóa: Khóa 1, khóa khóa Kết học tập sinh viên điểm chữ theo hệ tín Dưới ví dụ liệu khóa Đó “Bảng thống kê kết học tập để xét làm đồ án tốt nghiệp (hoặc thi tốt nghiệp)” gồm có năm lớp CNTT, ĐTVT, Điện, Cơ khí KTDN Sau bảng liệu khóa 1: 16 Hình 3.2: Bảng liệu khóa Theo bảng số liệu dòng ứng với sinh viên với số thứ tự, mã sinh viên, họ tên, ngày sinh, điểm môn học theo kỳ Bảng 3.2: Số lượng sinh viên lớp khóa Lớp 269 38 329 30 161 35 131 47 134 36 156 39 150 24 135 38 110 39 QTM CK 35 ĐIỆN 175 ĐTVT Số môn CNTT Số lượng sinh viên KTDN Khóa 218 25 39 42 44 47 42 44 17 149 26 96 55 200 25 BK Cad 163 26 CDT 63 25 TKĐH 84 28 LTMT 131 25 ÔTÔ Bảng 3.2 bảng số sinh viên lớp khóa Có thể nhận thấy số mơn học khóa số mơn ngành khóa Tuy nhiên đến khóa số mơn học gần giảm nửa khóa học hết hai học kỳ đầu, tức nửa thời gian học Mặc dù vậy, để chạy thuật tốn Apriori cơng cụ Weka, liệu cần phải chuẩn hóa chạy 3.4 Chuẩn hóa liệu đầu vào cho thuật toán Do đầu vào phần mềm Weka file định dạng arff nên toàn bộ liệu excell toán phải chuyển đổi sang dạng chuẩn arff Cấu trúc file arff sau: Một file arff gồm có phần Phần Header phần khai báo quan hệ biến, phần Data phần liệu ứng với thuộc tính khai báo phần Header Mở đầu file arff từ khóa @relation định nghĩa tên hay quan hệ liệu Ví dụ: @relation Cokhi Tiếp sau dịng thuộc tính liệu với từ khóa @attribute Dữ liệu Weka định nghĩa theo kiểu sau: - Numeric: kiểu liệu số, gồm kiểu số nguyên (integer) kiểu số thực (real) - Nominal: kiểu liệu danh sách - String: kiểu liệu dạng chuỗi - Date: kiểu liệu thời gian (ngày tháng năm, phút giây) Phần liệu toán mở đầu từ khóa @data Sau giá trị thuộc tính liên tiếp ngăn cách dấu phẩy Ví dụ: @data 18 D+,D+,C,C,B,B,A+,C,B,D+,D+,C,C,B+,B,D+,C,D+,B,B,B,C,C,B,B D+,B,B,B,C,B+,C,C,B+,D+,D+,C,C,A+,D+,D+,D+,D+,B+,A+,C,C,D+,C,D+ C,B,B,B,D+,B+,B,C,B,C,C,C,D+,D+,D+,D+,D+,D+,B,B,D+,D+,D+,D+,D+ Như để chuyển từ file excell sang file dạng arff, công việc cần phải làm sau: - Mỗi lớp khóa lưu thành file arff với tên tên lớp khóa - Loại bỏ thuộc tính khơng liên quan đến việc phân tích luật kết hợp như: số thứ tự, mã sinh viên, họ tên sinh viên, ngày sinh - Mỗi môn học thuộc tính Do sử dụng luật kết hợp Weka khơng cho phép sử dụng liệu số liên tục nên thuộc tính nhận giá trị rời rạc {A+,A,B+,B,C+,C,D+,D,F} Ví dụ: @attribute “Tieng anh 1” {A+,A,B+,B,C+,C,D+,D,F} - Điểm môn học sinh viên lưu vào phần data với điểm môn ngăn cách dấy phẩy - Tất tên lớp môn học phải đổi sang chữ tiếng việt khơng dấu phần mềm Weka khơng hỗ trợ ngơn ngữ tiếng việt Có nhiều cách chuyển đổi file liệu excell sang file arff Cách chuyển đơn giản thủ cơng ta xóa thơng tin khơng cần thiết file excell, xóa trường số thứ tự, mã sinh viên, họ tên, ngày sinh Tạo file với tên tên lớp khóa, có phần mở rộng arff Trong file này, tên lớp bổ sung thêm @relation trước Các môn học chuyển thành tên thuộc tính Với file excell để lại cột điểm môn sinh viên, ta lưu file dạng cvs (Comma delimited) lưu lại Mở file arff tạo, thêm từ khóa @data vào cuối file chép toàn liệu file text vừa tạo sang Như ta chuẩn hóa file liệu dạng excell sang dạng chuẩn arff 3.5 Kết khai thác luật kết hợp thuật toán Apriori Sau có liệu chuẩn hóa theo định dạng ARFF Weka, sử dụng phần mềm để tiến hành khai phá luật kết hợp sử dụng thuật tốn Apriori mơ tả Chương Trong chương khảo sát mối liên hệ điểm thi sinh viên lớp ứng với khóa Xét sinh viên lớp khí khóa Bộ liệu 19 gồm 33 ghi theo 41 trường thuộc tính Mỗi thuộc tính tương ứng mơn học mà sinh viên lớp khí khóa học Hình 3.5 mô tả phân bố điểm sinh viên ứng với mơn học “Pháp Luật” số sinh viên nhận điểm B+, B, C D 4, 11, Khơng có sinh viên điểm A+ A mơn Hình 3.5: Phân bố điểm sinh viên học môn “Pháp Luật” Tương tự, có phân bố điểm mơn khác Hình 3.6 Tiếp theo, sử dụng công cụ Apriori Weka với tham số cấu hình Hình 3.6, thu kết luật bảng 3.3 Hình 3.6: Phân bố điểm sinh viên ứng với môn khác Bảng 3.3 Các luật thu liệu sinh viên lớp Cơ khí khóa 1 Nguyen ly cat=D+ TT nhan thuc=A+ 21 ==> Ve ky thuat=D+ 21 conf:(1) Nguyen ly cat=D+ Thiet ke dao=D+ 19 ==> Ve ky thuat=D+ 19 conf:(1) Ve ky thuat=D+ Thiet ke dao=D+ 19 ==> Nguyen ly cat=D+ 19 conf:(1) TH ky thuat do=D+ Nguyen ly cat=D+ 18 ==> Ve ky thuat=D+ 18 conf:(1) 20 Nguyen ly cat=D+ 25 ==> Ve ky thuat=D+ 24 conf:(0.96) Ve ky thuat=D+ TH ky thuat do=D+ 19 ==> Nguyen ly cat=D+ 18 conf:(0.95) Ve ky thuat=D+ TH ky thuat do=D+ 19 ==> TT nhan thuc=A+ 18 conf:(0.95) Nguyen ly cat=D+ T toan so cum TÐ=D+ 19 ==> Ve ky thuat=D+ 18 conf:(0.95) TT nhan thuc=A+ T toan so cum TÐ=D+ 19 ==> Ve ky thuat=D+ 18 conf:(0.95) 10 TH ky thuat do=D+ 22 ==> TT nhan thuc=A+ 20 conf:(0.91) Kết Bảng 3.3 cho mối quan hệ tương quan môn học lớp Cơ khí khóa Các luật xếp theo chiều giảm dần độ tin cậy Ví dụ luật 10, sinh viên nhận điểm D+ mơn “Thực hành kỹ thuật đo” phần lớn nhận điểm A+ môn “Thực tập nhận thức” Độ tin cậy 91% nghĩa tổng số 22 ghi tìm thấy giá trị D+ môn “Thực hành kỹ thuật đo” có 20 ghi ghi nhận mơn “Thực tập nhận thức” A+ Việc xếp môn theo chiều giảm dần độ tin cậy cho phép đưa thứ tự ưu tiên chọn luật cho sinh viên chọn môn học phù hợp để thu điểm số cao theo môn Trong bảng 3.3, thứ tự ưu tiên môn “Nguyên lý cắt” môn “thực tập nhận thức” Hai môn nên xếp học trước điểm hai mơn {D+, A+} môn “Vẽ kỹ thuật” chắn D+ Ý nghĩa luật kết hợp tìm cho sinh viên lớp khí khóa làm rõ 3.6 Kết khai thác từ sở liệu điểm trường Cao đẳng nghề Bách khoa Hà Nội Đối với liệu chương bao gồm khóa liên tiếp lớp trường, sử dụng cơng cụ Apriori với cấu hình tham số phần luận văn trình bày để tìm luật kết hợp lớp Kết ghi phần Phụ Lục Tuy nhiên, câu hỏi đặt xét tồn trường tồn khóa thu luật để giúp sinh viên lựa chọn môn học phù hợp? Qua bảng phụ lục, thấy số lớp tăng theo khóa Ví dụ khóa có lớp đến khóa lớp khóa lớp Trong lớp khóa khác số mơn khác Ví dụ lớp khí khóa có 41 21 mơn sang khóa đa tăng lên thành 47 môn Tuy nhiên, khóa lại khơng có lớp Điều mơ tả không ổn định việc xếp lớp mơn học cho sinh viên trường, gây khó khăn cho việc phân tích để tạo nên luật kết hợp phù hợp phạm vi toàn trường Để giới hạn lại, thực xếp luật thu bảng phụ lục chọn luật có minconf cao nhất, nhóm theo lớp khóa Mục đích việc phân tích nhằm giúp cho sinh viên khóa sau lựa chọn mơn học phù hợp để đạt điểm số cao Kết thể bảng từ bảng đến bảng phần phụ lục Các kết tư vấn cho sinh viên cách thức chọn môn học phù hợp để nhằm đạt điểm số cao Các luật lựa chọn theo độ tin cậy cao nên kênh thông tin phù hợp cho việc lựa chọn môn học sinh viên lớp 3.7 Kết luận Chương luận văn trình bày ứng dụng thuật toán khai phá luật kết hợp Apriori cho tốn chọn mơn học trường Cao đẳng nghề Bách khoa Hà Nội Mô tả phần mềm Weka, cách thức chuyển đổi liệu phù hợp cho thuật toán Sử dụng thuật toán Apriori Weka liệu thu số kết để hỗ trợ cho việc chọn môn học sinh viên trường Cao đẳng nghề Bách Khoa Hà Nội 22 KẾT LUẬN Nội dung luận văn tập trung vào tìm hiểu kiến thức khai phá luật kết hợp sâu vào tìm hiểu cơng cụ khai phá liệu mã nguồn mở sử dụng phổ biến Weka Luận văn trình bày được: - Chi tiết thuật toán khai phá luật kết hợp Apriori dựa khái niệm độ hỗ trợ độ tin cậy - Trong chương 3, luận văn ứng dụng chạy thuật toán Apriori phần mềm Weka cho liệu điểm thi môn học sinh viên trường Cao đẳng nghề Bách Khoa Hà Nội Các kết thu gồm 21 bảng luật phụ lục bảng luật tổng hợp sở liệu điểm trường Cao đẳng Nghề Bách khoa Hà Nội Các kết góp phần hỗ trợ sinh viên khóa sau lựa chọn mơn học phù hợp để nhằm đạt điểm số cao Luận văn đạt số định chưa thể đáp ứng yêu cầu thực tế tồn số khó khăn như: Cơ sở liệu chưa đủ lớn, chưa xây dựng thiết kế giao diện chương trình Hướng nghiên cứu luận văn tập trung vào số ứng dụng thuật toán Apriori Weka cho ứng dụng khác việc xếp thời khóa biểu, xếp lịch dự Ban giám hiệu, ... thuật tốn Apriori Chương luận văn trình bày tốn hỗ trợ sinh viên lựa chọn mơn học Trường Cao đẳng Nghề Bách khoa Hà Nội 14 CHƯƠNG 3: ÁP DỤNG THUẬT TOÁN APRIORI ĐỂ HỖ TRỢ SINH VIÊN CHỌN MÔN HỌC... kỹ thuật khám phá tri thức Chương 2: Trình bày phương pháp khai phá liệu luật kết hợp trình bày thuật tốn Aprori Chương 3: Trình bày áp dụng thuật tốn Apriori để hỗ trợ sinh viên chọn môn học. .. kết học tập sinh viên ba khóa khóa 1, khóa khóa phịng Đào tạo quản lý bảng tính Excel Bài toán đặt từ kết học tập lớp khóa tìm luật nhằm hỗ trợ sinh viên chọn môn học trường cho có hiệu học tập