1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu khai phá luật kết hợp và ứng dụng trong bài toán tư vấn học tập tại trường đại học giao thông vận tải phân hiệu tại thành phố hồ chí minh luận văn thạc sĩ ngành công nghệ thông tin

74 5 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

Tiêu đề Nghiên cứu khai phá luật kết hợp và ứng dụng trong bài toán tư vấn học tập tại trường đại học giao thông vận tải phân hiệu tại thành phố hồ chí minh
Tác giả Nguyễn Hữu Tân
Người hướng dẫn TS. Nguyễn Quốc Tuấn
Trường học Trường Đại Học Giao Thông Vận Tải Phân Hiệu Tại Thành Phố Hồ Chí Minh
Chuyên ngành Công nghệ Thông tin
Thể loại Luận văn Thạc sĩ
Năm xuất bản 2019
Thành phố Hồ Chí Minh
Định dạng
Số trang 74
Dung lượng 1,91 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ LUẬT KẾT HỢP (13)
    • 1.1. Tổng quan về khai phá dữ liệu (13)
      • 1.1.1 Mở đầu (13)
      • 1.1.2 Định nghĩa khai phá dữ liệu (16)
      • 1.1.3 Quá trình khám phá tri thức (17)
      • 1.1.4 Kiến trúc hệ thống khai phá dữ liệu (19)
      • 1.1.5 Các hướng tiếp cận và kỹ thuật chính trong KPDL (21)
      • 1.1.6 Các dạng dữ liệu có thể khai phá (22)
      • 1.1.7 Một số ứng dụng của khai phá dữ liệu (23)
    • 1.2. Luật kết hợp (association rule) (24)
      • 1.2.1 Một số khái niệm cơ bản (25)
      • 1.2.2 Luật kết hợp là gì? (26)
      • 1.2.3 Bài toán khai phá luật kết hợp (27)
      • 1.2.4 Một số tính chất của tập mục phả biến và luật kết hợp (28)
      • 1.2.5 Các loại luật kết hợp (30)
  • CHƯƠNG 2. MỘT SỐ PHƯƠNG PHÁP KHAI PHÁ LUẬT KẾT HỢP (34)
    • 2.1. Mở đầu (34)
    • 2.2. Thuật toán Apriori tìm các tập mục phổ biến (34)
    • 2.3. Khai phá tập mục phổ biến theo hướng tiếp cận không sinh ứng cử (40)
      • 2.3.1 Mở đầu (40)
      • 2.3.2 Thuật toán xây dựng cây FP_Tree (41)
      • 2.3.3 Khai phá tập mục phổ biến từ cây FP-Tree (43)
    • 2.4. Nhận xét về các thuật toán (46)
    • 2.5. Khai phá luật kết hợp từ tập mục phổ biến (47)
  • CHƯƠNG 3. XÂY DỰNG ỨNG DỤNG TƯ VẤN HỌC TẬP (49)
    • 3.1. Mô tả bài toán (49)
    • 3.2. Xây dựng mô hình (50)
    • 3.3. Khai phá dữ liệu học tập của sinh viên (55)
      • 3.3.1 Phần mềm WEKA (55)
      • 3.3.2 Khai phá luật kết hợp từ dữ liệu điểm của sinh viên ngành (63)
  • KẾT LUẬN (72)
  • TÀI LIỆU THAM KHẢO (74)

Nội dung

Tên luận văn: “Nghiên cứu khai phá luật kết hợp và ứng dụng trong bài toán tư vấn học tập tại trường Đại học Giao thông vận tải Phân hiệu thành phố Hồ Chí Minh” Mục đích nghiên cứu: Đối

TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ LUẬT KẾT HỢP

Tổng quan về khai phá dữ liệu

1.1.1.1 Mục đích của khai phá dữ liệu

Mục đích của khai phá dữ liệu là chiết xuất tri thức có lợi cho kinh doanh và nghiên cứu khoa học, với hai hướng chính là mô tả và dự đoán Các mẫu khai phá dữ liệu được phát hiện nhằm phục vụ cho việc dự đoán giá trị chưa biết hoặc giá trị tương lai của các biến quan trọng trong cơ sở dữ liệu Đồng thời, quá trình mô tả tập trung vào việc tìm kiếm các mẫu dữ liệu dễ hiểu cho con người.

1.1.1.2 Nhiệm vụ chính của khai phá dữ liệu bao gồm

 Phân lớp dữ liệu (phân loại - classification)

Phân lớp là quá trình xác định một hàm ánh xạ từ mẫu dữ liệu vào các lớp đã biết Mục tiêu của thuật toán phân lớp là tìm ra mối quan hệ giữa thuộc tính dự báo và thuộc tính phân lớp, từ đó sử dụng mối quan hệ này để dự đoán cho các mục mới Các kiến thức được phát hiện sẽ được biểu diễn dưới dạng các luật.

“Nếu các thuộc tính dự báo của một mục thoả mãn điều kiện của các tiền đề thì mục nằm trong lớp chỉ ra trong kết luận”

Một mục thông tin về nhân viên bao gồm các thuộc tính dự báo như họ tên, tuổi, giới tính, và trình độ học vấn, cùng với thuộc tính phân loại là trình độ lãnh đạo của nhân viên.

 Phân nhóm dữ liệu (clustering)

Việc mô tả các tập hay nhóm dữ liệu là rất quan trọng, vì các nhóm này có thể tách biệt, phân cấp hoặc chồng chéo lên nhau, cho phép dữ liệu thuộc nhiều nhóm khác nhau Các ứng dụng khai thác dữ liệu, như phát hiện nhóm khách hàng có phản ứng tương tự trong cơ sở dữ liệu tiếp thị hoặc xác định quang phổ từ các phương pháp đo tia hồng ngoại, đều liên quan đến việc phân nhóm Ngoài ra, nhiệm vụ đánh giá dữ liệu và hàm mật độ xác suất đa biến cũng đóng vai trò quan trọng trong việc phân nhóm trong cơ sở dữ liệu.

Hồi quy là quá trình học một hàm ánh xạ từ dữ liệu đầu vào thành một biến dự đoán có giá trị thực, với nhiệm vụ tương tự như phân lớp nhưng khác ở chỗ thuộc tính dự báo là liên tục Các phương pháp thống kê cổ điển như hồi quy tuyến tính thường được sử dụng để dự báo giá trị số, bên cạnh các phương pháp mô hình hóa như cây quyết định Hồi quy có nhiều ứng dụng thực tiễn, chẳng hạn như dự đoán số lượng sinh vật phát quang trong rừng qua cảm biến vi sóng, ước lượng xác suất tử vong của bệnh nhân dựa trên triệu chứng, và dự báo nhu cầu sản phẩm từ người tiêu dùng.

Công việc này liên quan đến việc tìm kiếm mô tả cho tập con dữ liệu, với kỹ thuật tổng hợp thường được áp dụng trong phân tích dữ liệu thăm dò và báo cáo tự động Nhiệm vụ chính là tạo ra các mô tả đặc trưng cho một lớp, tóm tắt các đặc tính chung của tất cả hoặc hầu hết các mục trong lớp đó Các mô tả này thể hiện dưới dạng luật: “Nếu một mục thuộc về lớp đã chỉ trong tiền đề, thì mục đó có tất cả các thuộc tính đã nêu trong kết luận.” Cần lưu ý rằng luật này khác với luật phân lớp, và luật phát hiện đặc trưng cho lớp chỉ được sản sinh khi các mục đã thuộc về lớp đó.

 Mô hình hóa phụ thuộc (dependency modeling)

Mô hình tìm kiếm sự phụ thuộc giữa các biến được chia thành hai mức: mức cấu trúc và mức định lượng Mức cấu trúc mô tả các biến phụ thuộc vào nhau thông qua đồ thị, trong khi mức định lượng thể hiện mức độ phụ thuộc Các phụ thuộc này thường được diễn đạt theo luật “nếu - thì”, trong đó tiền đề và kết luận có thể là sự kết hợp logic của các giá trị thuộc tính Thực tế, tiền đề thường là nhóm giá trị thuộc tính, còn kết luận chỉ là một thuộc tính duy nhất Hệ thống cũng có khả năng phát hiện các luật phân lớp, yêu cầu tất cả các luật phải có cùng một thuộc tính được chỉ ra trong kết luận.

Quan hệ phụ thuộc có thể được thể hiện qua mạng tin cậy Bayes, một đồ thị có hướng và không chu trình Trong đó, các nút đại diện cho thuộc tính, và trọng số của các liên kết thể hiện sự phụ thuộc giữa các nút.

 Phát hiện sự thay đổi và độ lệch (change and deviation dectection)

Nhiệm vụ này nhằm khám phá sự thay đổi có ý nghĩa trong dữ liệu thông qua các độ đo đã biết hoặc giá trị chuẩn, đồng thời phát hiện sự lệch đáng kể giữa nội dung của tập con dữ liệu thực và nội dung mong đợi Hai mô hình độ lệch phổ biến là lệch theo thời gian, phản ánh sự thay đổi của dữ liệu theo thời gian, và lệch theo nhóm, cho thấy sự khác biệt giữa hai tập con dữ liệu, bao gồm cả trường hợp một tập con thuộc về tập con khác Mục tiêu là xác định xem dữ liệu trong một nhóm con có khác biệt đáng kể so với toàn bộ đối tượng hay không, từ đó phát hiện sai sót hoặc lệch so với giá trị thông thường.

Các nhiệm vụ khai phá dữ liệu yêu cầu thông tin đa dạng, ảnh hưởng đến thiết kế và lựa chọn phương pháp khác nhau Chẳng hạn, phương pháp cây quyết định giúp phân loại các mẫu giữa các lớp nhưng không thể hiện được tính chất và đặc điểm của từng lớp.

1.1.2 Định nghĩa khai phá dữ liệu

Khai phá dữ liệu là quá trình phát hiện tri thức từ cơ sở dữ liệu, giúp rút ra các thông tin tiềm ẩn để dự báo trong kinh doanh và sản xuất Phương pháp này không chỉ nâng cao hiệu quả mà còn giảm thiểu chi phí thời gian so với các phương pháp truyền thống như thống kê.

Khai phá dữ liệu được định nghĩa bởi nhiều tác giả với những góc nhìn khác nhau Ferruzza mô tả khai phá dữ liệu là tập hợp các phương pháp trong quá trình khám phá tri thức, nhằm chỉ ra sự khác biệt trong các mối quan hệ và các mẫu chưa biết trong dữ liệu Parsaye nhấn mạnh rằng đây là quá trình hỗ trợ quyết định, trong đó chúng ta tìm kiếm các mẫu thông tin chưa biết và bất ngờ trong cơ sở dữ liệu Fayyad định nghĩa khai phá tri thức là một quá trình nhận ra những mẫu dữ liệu có giá trị, mới mẻ, hữu ích, tiềm năng và dễ hiểu.

1.1.3 Quá trình khám phá tri thức nh 1 Quá trình khám phá tri thức [1]

Quá trình khám phá tri thức từ cơ sở dữ liệu (CSDL) là một hoạt động tương tác giữa con người và các công cụ tin học, trong đó con người đóng vai trò trung tâm Hệ thống này không phải là tự động hoàn toàn, mà yêu cầu người sử dụng có kiến thức cơ bản về lĩnh vực cần khám phá để lựa chọn đúng các tập con dữ liệu và lớp mẫu phù hợp Tri thức được rút ra từ CSDL thường nhằm phục vụ cho việc giải quyết các nhiệm vụ cụ thể trong một lĩnh vực nhất định Do đó, quá trình phát hiện tri thức mang tính chất hướng nhiệm vụ, tập trung vào việc tìm kiếm tri thức để giải quyết các vấn đề cụ thể thay vì phát hiện mọi tri thức một cách ngẫu nhiên.

Tập hợp dữ liệu là bước khởi đầu quan trọng trong quá trình khai phá dữ liệu, được thực hiện từ các cơ sở dữ liệu, kho dữ liệu, và cả từ các nguồn dữ liệu ứng dụng Web.

 Trích lọc dữ liệu (Selection) Ở giai đoạn này lựa chọn những dữ liệu phù hợp với nhiệm vụ phân tích trích rút từ CSDL

 Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu (Cleansing, Pre- processing and Preparation)

Giai đoạn thứ ba trong quá trình khai phá dữ liệu thường bị sao lãng, nhưng thực tế lại rất quan trọng Nhiều lỗi xảy ra khi gom dữ liệu, dẫn đến tính không đủ chặt chẽ và logic, khiến dữ liệu chứa các giá trị vô nghĩa như Điểm = -1 Giai đoạn này tập trung vào việc xử lý các dữ liệu không chặt chẽ, được xem là thông tin dư thừa và không có giá trị Việc "làm sạch" dữ liệu này là cần thiết, vì nếu không, nó có thể gây ra những kết quả sai lệch nghiêm trọng.

 Chuyển đổi dữ liệu (Transformation)

Tiếp theo là giai đoạn chuyển đổi dữ liệu, dữ liệu đƣợc chuyển đối hay đƣợc hợp nhất về dạng thích hợp cho việc khai phá

Luật kết hợp (association rule)

Khai phá dữ liệu bằng luật kết hợp là một phương pháp quan trọng, được phát triển mạnh mẽ từ năm 1993 bởi Rakesh Agrawal và các cộng sự Nghiên cứu hiện nay tập trung vào việc xây dựng và cải tiến các thuật toán khai phá luật kết hợp để nâng cao hiệu quả Ứng dụng điển hình của phương pháp này là trong siêu thị, nơi các nhà kinh doanh có thể xác định những sản phẩm thường được mua cùng nhau, từ đó xây dựng chiến lược kinh doanh nhằm tăng lợi nhuận Ví dụ, nếu phát hiện rằng người mua dao cạo râu thường mua kem cạo râu, siêu thị có thể sắp xếp sản phẩm hoặc triển khai khuyến mãi để thu hút khách hàng Ngoài thương mại, luật kết hợp còn được ứng dụng rộng rãi trong các lĩnh vực như y tế, tài chính và thiên văn.

1.2.1 Một số khái niệm cơ bản

Tập I = {i1, i2, …, in} bao gồm n mục phân biệt, trong đó mỗi mục (item) được hiểu là một mặt hàng trong siêu thị hoặc một thuộc tính trong cơ sở dữ liệu.

Tập X I với k=|X| đƣợc gọi là k-tập_mục (tập mục có lực lƣợng bằng k)

Tập T I đƣợc gọi là một giao tác (hay một bản ghi) Độ hỗ trợ của một tập mục ( itemset )

Độ hỗ trợ (Support) của một tập mục X trong tập các giao tác D, ký hiệu là supp(X), được định nghĩa là tỷ lệ giữa số giao tác T trong D chứa X và tổng số giao tác của D, thể hiện dưới dạng phần trăm.

( ) |* | +| Độ hỗ trợ của một tập mục có giá trị giữa 0 và 1, tức là 0≤supp(X)≤1 với mọi tập mục X

Tập mục phổ biến ( frequent itemset )

Tập mục X được gọi là tập mục phổ biến nếu nó thỏa mãn điều kiện supp(X) ≥ minsup, trong đó minsup là một giá trị đã được xác định trước.

Tập mục phổ biến có một số tính chất quan trọng: i) Độ hỗ trợ của một tập mục nằm trong khoảng từ 0 đến 1, tức là \(0 \leq \text{supp}(X) \leq 1\) ii) Nếu X và Y là các tập mục và X bao hàm Y, thì độ hỗ trợ của X sẽ lớn hơn hoặc bằng độ hỗ trợ của Y, vì mọi giao tác trong D chứa Y cũng sẽ chứa X iii) Mọi tập con A của một tập mục B, nếu B là tập mục phổ biến với độ hỗ trợ lớn hơn hoặc bằng minsup, thì A cũng sẽ là tập mục phổ biến iv) Cuối cùng, bao hàm của một tập mục không phổ biến cũng sẽ là tập mục không phổ biến.

Nếu tập B không đạt độ hỗ trợ tối thiểu trên D, tức là \$\text{supp}(B) < \text{minsup}\$, thì mọi tập A chứa B sẽ trở thành tập mục không phổ biến Điều này xảy ra vì nếu giao tác không chứa B, thì chắc chắn sẽ không chứa A.

1.2.2 Luật kết hợp là gì?

Một luật kết hợp được định nghĩa dưới dạng XY, trong đó X và Y là các tập mục thỏa mãn điều kiện X,YI (X,Y≠) và XY Trong luật kết hợp XY, X được gọi là tiên đề, còn Y được gọi là kết quả của luật.

Luật kết hợp có hai thông số quan trọng là độ hỗ trợ và độ tin cậy Độ hỗ trợ (Support) của luật kết hợp XY, ký hiệu là supp(XY), được xác định bằng supp(X∪Y) Độ hỗ trợ thể hiện phạm vi ảnh hưởng của luật trên toàn bộ cơ sở dữ liệu.

Độ hỗ trợ của luật cho biết tỷ lệ phần trăm giao tác chứa tập X∪Y trong tổng số giao tác, ví dụ 30% Độ tin cậy của một luật kết hợp X→Y, ký hiệu là conf(X→Y), thể hiện tỷ lệ phần trăm giao tác trong D chứa X cũng chứa Y, tương đương với xác suất có điều kiện P(Y|X) Độ tin cậy này nằm trong khoảng từ 0 đến 1 và được tính bằng công thức: conf(X→Y) = P(Y|X) = supp(X∪Y) / supp(X) Nó phản ánh độ chính xác và tính đúng đắn của luật trong phạm vi ảnh hưởng của nó, được xác định bởi độ hỗ trợ, và cho biết mức độ đúng của luật.

Khi nói rằng luật XY có độ tin cậy 80% và độ hỗ trợ 15%, điều này có nghĩa là 80% các giao tác hỗ trợ cho X cũng đồng thời hỗ trợ cho Y, trong khi tỉ lệ giao tác chứa cả X và Y trong cơ sở dữ liệu là 15%.

1.2.3 Bài toán khai phá luật kết hợp

Vấn đề lớn nhất trong việc khai thác luật kết hợp là số lượng luật cần xem xét rất lớn, đặc biệt khi cơ sở dữ liệu và tập mục ngày càng mở rộng Số lượng luật tăng theo lũy thừa của lực lượng tập mục I, do đó không cần khai thác tất cả các luật Các luật được tạo ra cần phải được giới hạn bởi ngưỡng hỗ trợ và ngưỡng tin cậy nhất định Cụ thể, vì \$ supp(X \rightarrow Y) = supp(X \cup Y) \$, nên nếu đặt \$ Z = X \cup Y \$ thì điều kiện \$ supp(X \rightarrow Y) \geq minsup \$ tương đương với việc \$ Z \$ là tập mục phổ biến.

Hai giai đoạn cơ bản của thuật toán khai phá luật kết hợp

Output : Các luật thỏa minsupp, minconf

Pha 1: Tìm tất cả các tập mục phổ biến trong D (tìm tất cả các tập mục có độ hỗ trợ lớn hơn hoặc bằng minsupp)

Pha 2: Sinh các luật từ các tập mục phổ biến sao cho độ tin cậy của luật lớn hơn hoặc bằng minconf

1.2.4 Một số tính chất của tập mục phả biến và luật kết hợp

1.2.4.1 Một sổ tính chất của tập mục phổ biến

 Tính chất 1 (Độ hỗ trợ của tập con):

Với A và B là tập các mục, nếu A B thì sup(A) ≥ sup(B) Điều này là rõ ràng vì tất cả các giao tác của D hỗ trợ B thì cũng hỗ trợ

Một tập chứa một tập không phổ biến thì cũng là tập không phổ biến

Nếu một mục trong tập B không đạt độ hỗ trợ tối thiểu trên D, tức là sup(B) < minsup, thì bất kỳ tập con A nào của B cũng sẽ không phải là tập phổ biến, vì sup(B) ≤ sup(A) < minsup (theo tính chất 1).

 Tính chất 3: Các tập con của tập phổ biến cũng là tập phổ biến

Nếu mục B là mục phổ biến trên D, nghĩa là sup(B) ≥ minsup thì mọi tập con A của B là tập phổ biến trên D vì sup(A) ≥ sup(B) > minsup

1.2.4.2 Một số tính chất của luật kết hợp

 Tính chất 1 (Không hợp các luật kết hợp):

Giả sử có hai luật kết hợp mạnh X => Z và Y => Z thì X Y => Z chưa chắc đã là luật kết hợp mạnh Tương tự nếu có X=>Y và X=>Z thì X=>Y Z chƣa chắc mạnh

Thật vậy xét: I = {x, y, z}, T = {xz, yz, xy, xyz}, minsup = 50%, minconf= 60% Dễ thấy x => z (50%, 67%), y => z (50%, 67%), x => y (50%, 67%) là mạnh Còn xy => z (25%, 50%) và x => yz (25%, 33%) không mạnh Dễ thấy x => z (50%, 67%), y => z (50%, 67%), x => y (50%, 67%) là mạnh Còn xy => z (25%, 50%) và x => yz (25%, 33%) không mạnh

 Tính chất 2 (Không tách luật):

Giả sử có luật kết hợp mạnh X Y => Z thì X => Z và Y => Z chƣa chắc đã là luật kết hợp mạnh

Thật vậy xét: I = {x, y, z, t}, T = {xt, yt, xyz}, minsup = 30%, minconf

= 60% Dễ thấy xy => z (33%, 100%) là mạnh

Tuy nhiên nếu có luật kết hợp mạnh X => Y Z thì X => Y và X => Z chắc chắn là luật kết hợp mạnh

Thật vậy ta chỉ cần chứng minh X => Y là luật kết hợp mạnh

sup(X Y) ≥ minsup và sup(X Y) / sup(X) ≥ minconf (*)

Xuất phát từ giả thiết: X => Y Z là luật kết hợp mạnh nên sup(X Y Z)≥ minsup và sup(X Y Z) / sup(X) ≥ minconf mà hiển nhiên sup(X Y) ≥ sup(X Y Z) nên (*) đã đƣợc chứng minh

Tương tự X => Z cũng là luật kết hợp mạnh

 Tính chất 3 (Các luật kết họp không có tính bắc cầu):

Giả sử có các luật kết hợp mạnh X => Y và Y => Z thì X => Z chƣa chắc đã là luật kết hợp mạnh

Thật vậy xét: I = {x, y, z}, T = {xy, yz}, minsup = 30%, minconf 60% Dễ thấy x => y (50%, 100%) và y => z (50%, 100%) đều mạnh

Nếu luật A => (L \ A) không thoả mãn độ tin cậy cực tiểu (minconf) thì luật B => (L \ B) cũng không thoả mãn, trong đó B A L, B ≠ ∅

Thật vậy conf(B => (L\B)) = sup(L)/sup(B)≤ sup(L)/sup(A) < minconf Tương tự: Nếu luật (L\C) => C là luật kết hợp mạnh thì luật (L\D) =>

Thật vậy conf((L\D) => D) = sup(L)/sup(L\D)≥sup(L)/sup(L\C)≥ minconf Và hiển nhiên theo giả thiết sup(L) ≥ minsup nên (L\D) => D là mạnh

Các tính chất này của luật kết hợp sẽ đƣợc sử dụng trong các thuật toán về sau

1.2.5 Các loại luật kết hợp

1.2.5.1 Luật kết hợp nhị phân Đối với các luật kết hợp này, các mục chỉ đƣợc quan tâm là có xuất hiện hay không xuất hiện trong giao dịch chứ không quan tâm đến mức độ xuất hiện Ví dụ: “Mua bia=> Mua lạc”, “Mua quà, Mua hoa => Tặng bạn”, Đây là dạng luật kết hợp đơn giản nhất và điều đặc biệt là chúng ta có thể chuyển các dạng luật khác về dạng luật này nhờ phương pháp rời rạc hoá Các thuật toán tiêu biểu thực hiện khai phá luật kết hợp nhị phân là Apriori và FP- Growth Chúng ta sẽ đi sâu nghiên cứu trong phần tiếp sau

1.2.5.2 Luật kết hợp định lượng Đối với loại này, ta không chỉ quan tâm tới sự có mặt hay không của các mục trong giao dịch mà còn quan tâm tới định lƣợng của từng mục trong luật

Ví dụ: “Mua bia 2-5 chai => Mua lạc 5-10 gói”,

“Tuổi 20-30, Mua quà $5-$10, Mua hoa $3-$8 => Tặng bạn thân”,

1.2.5.3 Luật kết hợp đơn chiều Đối với loại này, các luật chỉ tham chiếu đến 1 chiều của dữ liệu

Mua bia có thể dẫn đến việc mua lạc, và việc mua quà hay hoa cũng có thể liên quan đến việc mua thiếp Ở đây, chúng ta chỉ xem xét một chiều duy nhất là hành động mua, và có thể diễn đạt lại quy luật này theo cách khác.

Mua(X, “quà”) ^ Mua(X, “hoa”) => Mua(X, “thiếp”),

Trong đó X là biến biểu diễn khách hàng

1.2.5.4 Luật kết hợp đa chiều Đối với loại này, các luật có thể tham chiếu đến nhiều hơn 1 chiều của dữ liệu

MỘT SỐ PHƯƠNG PHÁP KHAI PHÁ LUẬT KẾT HỢP

Mở đầu

Các thuật toán khai phá luật kết hợp đƣợc đƣa ra đều thực hiện hai pha:

+ Pha 1: Tìm tất cả các tập mục phổ biến (độ hỗ trợ lớn hơn minsup), đây là pha tốn khá nhiều thời gian

Trong Pha 2, chúng ta sẽ tìm kiếm các luật kết hợp từ những tập mục phổ biến với độ tin cậy lớn hơn mức tối thiểu (minconf) Pha này thực hiện đơn giản và tiết kiệm thời gian hơn nhiều so với Pha 1.

Các thuật toán khai phá luật kết hợp chủ yếu tập trung vào việc khai thác tập mục phổ biến Kể từ khi vấn đề này được đề cập, đã có một số lượng lớn các thuật toán được đề xuất, với hai hướng tiếp cận chính trong việc khai thác tập mục phổ biến.

+ Các thuật toán dựa trên hướng tiếp cận sinh ứng cử và kiểm tra

(Generate candidate - and - test), điển hình là thuật toán Apriori

+ Các thuật toán dựa trên hướng tiếp cận không sinh ứng cử, điến hình là thuật toán FP - Growth.

Thuật toán Apriori tìm các tập mục phổ biến

The Apriori algorithm, proposed by Rakesh Agrawal, Tomaz Imielinski, and Arun Swami in 1993, has since been enhanced by numerous researchers to improve its efficiency The name "APRIORI" is derived from "Algorithm PRIOR knowledge of frequent Itemset properties." This algorithm employs a bottom-up strategy and utilizes breadth-first search for its operations.

 k-tập mục: tập mục có k phân tử

 Lk: tập các k-tập_mục phổ biến (frequent itemset) tức là các tập mục có độ hỗ trợ lớn hơn hoặc bằng minsupp và có lực lƣợng bằng k

 Ck: tập các k-tập_mục ứng cử (candidate itemset), là các tập mục có lực lƣợng bằng k Ý tưởng

Thuật toán Apriori tìm tất cả các tập mục phổ biến Lk thỏa mãn ngưỡng hỗ trợ tối thiểu minsupp Trong giai đoạn đầu, thuật toán xác định các tập mục 1-tập_mục và độ hỗ trợ tương ứng, từ đó tạo ra tập C1 Những tập mục có độ hỗ trợ lớn hơn hoặc bằng minsupp sẽ được đưa vào tập L1, tức là tập mục phổ biến 1-tập_mục Ở giai đoạn tiếp theo, thuật toán sử dụng các tập mục phổ biến Lk-1 để tìm các tập mục ứng viên Ck thông qua phương pháp kết nối và cắt tỉa, được mô tả trong thủ tục apriori_gen() Dựa vào tập mục ứng viên Ck, thuật toán xác định các tập mục phổ biến Lk+1 bằng cách loại bỏ những tập mục không thỏa ngưỡng hỗ trợ Quá trình này tiếp tục cho đến khi không còn tập Lk mới nào được sinh ra từ tập Ck-1.

Thuật toán Apriori tính toán các tập mục phổ biến thông qua các bước lặp Mỗi lần lặp, cơ sở dữ liệu được quét một lần, và các tập mục phổ biến có kích cỡ giống nhau được xác định và đưa vào tập Lk, với k là kích cỡ của tập mục.

Input : Cơ sở dữ liệu D, ngưỡng hỗ trợ minsup

Output : Tất cả các tập mục phổ biến

Quét CSDL D để tìm các tập mục phổ biến 1-tập mục L 1

//sinh tập mục ứng viên mới k-tập_mục từ tập mục //phổ biến (k-1)- tập_mục

// hàm trả về các mục ứng cử chứa trong giao tác t

For tập mục ứng viên c i C t do c i count++; end; end;

Trong giai đoạn đầu, chúng ta xác định tập C1, là tập ứng cử có 1-tập mục với độ hỗ trợ tương ứng Sau đó, các tập mục có độ hỗ trợ lớn hơn hoặc bằng minsupp sẽ được giữ lại và đưa vào tập L1.

Các giai đoạn thứ k (k>1) được chia thành hai pha: Pha 1 là sinh các tập mục ứng viên Ck từ tập mục phổ biến Lk-1 thông qua hàm apriori_generate() Pha 2 là quét cơ sở dữ liệu D để tính độ hỗ trợ cho từng tập mục ứng viên trong Ck.

Tập mục L1 là tập hợp các mục phổ biến, trong đó mỗi mục được xác định riêng lẻ cùng với độ hỗ trợ tương ứng (C1) Sau đó, những mục có độ hỗ trợ lớn hơn hoặc bằng minsupp sẽ được giữ lại, tạo thành tập L1.

- Hàm apriori_generate(): Sinh các tập mục ứng viên

If((l 1 [1]=l 2 [1]) and (l 1 [2]=l 2 [2]) and and (l 1 [k-2]=l 2 [k-2]) and (l 1 [k-1]Y) > minsup và conf(X=>Y) > minconf.

Trong đó: sup(X=>Y) = sup(X Y) và conf(X=>Y) = P(Y|X) = sup(X Y)/sup(X) Các luật kết hợp có thể sinh ra nhƣ sau:

- Với mỗi tập mục phổ biến l (sup(l)> minsup), thực hiện sinh ra tất cả tập con a khác rỗng và khác l của l

- Với mỗi tập con a này, ta có luật a=>(l\a) nếu sup(l)/sup(a)> minconf

Dựa vào CSDL D trong Bảng 2 và độ hỗ trợ được tính trong Hình 3, giả sử dữ liệu chứa tập mục phổ biến l = {1,2,5} Các tập con khác rỗng của l, theo thứ tự giảm dần, bao gồm: {1,2}, {1,5}, {2,5}, {1}, {2}, {5}, với độ tin cậy tương ứng.

Nếu ngƣỡng độ tin cậy cực tiểu minconfP% thì các luật rl, r2, r3, r6 là các luật kết hợp mạnh cần tìm.

XÂY DỰNG ỨNG DỤNG TƯ VẤN HỌC TẬP

Mô tả bài toán

Bộ môn CNTT được thành lập vào tháng 8/2016, ngay sau khi Cơ sở II Trường Đại học GTVT được nâng cấp thành Phân hiệu tại TP.HCM theo quyết định của Bộ trưởng Bộ GD&ĐT Hiện tại, Bộ môn CNTT chịu trách nhiệm quản lý và giảng dạy 51 học phần cho ngành CNTT, cùng với 03 học phần cho các chuyên ngành khác tại Phân hiệu TP.HCM.

Bộ môn Công nghệ thông tin tập trung vào việc quản lý và đào tạo các Kỹ sư trong ngành NCKH được coi là nền tảng phát triển chính, với các giảng viên tham gia nhiều đề tài nghiên cứu cấp Bộ, Thành Phố và Trường Họ cũng tích cực tham gia các hội nghị khoa học trong và ngoài nước Đặc biệt, nhiều giảng viên đã có công trình nghiên cứu được đăng trên các tạp chí uy tín như SCI, SCIE và Scopus.

Bộ môn đã đào tạo sinh viên ngành Công nghệ thông tin từ khóa 54 đến nay, hiện tại đã có 03 khóa đã tốt nghiệp (K54, K55, K56) và khóa mới nhất là K59

Bài toán đặt ra là xác định các yếu tố ảnh hưởng đến quyết định tốt nghiệp của sinh viên và đánh giá mối quan hệ giữa các môn học trong chương trình đào tạo Cụ thể, nghiên cứu sẽ xem xét ảnh hưởng lẫn nhau giữa các môn học thông qua kết quả đánh giá và tác động của kết quả môn học đến xếp loại bằng tốt nghiệp của sinh viên bậc đại học tại bộ môn Công nghệ thông tin, trường Đại học Giao thông Vận tải Phân hiệu thành phố.

Hồ Chí Minh Các yếu tố sẽ giúp các Bộ môn có kế hoạch phù hợp hỗ trợ cho sinh viên, nâng cao chất lƣợng đào tạo.

Xây dựng mô hình

Nguồn dữ liệu: Phần mềm quản lý đào tạo của trường Đại học Giao thông Vận tải Phân hiệu thành phố Hồ Chí Minh

Tập tin dữ liệu này được sử dụng để phân tích mối quan hệ giữa các môn học và ảnh hưởng của chúng đến kết quả tốt nghiệp của sinh viên.

Trong Luận văn chọn dữ liệu thực nghiệm kết quả học tập của sinh viên bộ môn Công nghệ thông tin từ khóa 54 (2013 - 2017) đến khóa 56 (2015-

Ứng dụng này sử dụng dữ liệu kết quả học tập để dự đoán khả năng tốt nghiệp của sinh viên, dựa trên thông tin từ thành tích học tập của họ.

Trong luận văn này, chúng tôi tập trung vào các môn học có ảnh hưởng lớn đến kết quả tốt nghiệp của sinh viên, bao gồm các môn cơ sở như Giải tích, Đại số, và Những nguyên lý cơ bản của Chủ nghĩa Mác Lê Nin, cũng như các môn cơ sở ngành như Cấu trúc dữ liệu và giải thuật, Cơ sở dữ liệu, và các môn chuyên ngành như Lập trình Java, Lập trình thiết bị di động Tổng cộng, 14 học phần đã được nghiên cứu dựa trên kết quả học tập của 63 sinh viên từ khóa 54 đến khóa 56.

Diễn giải Miền giá trị

3 THĐC Tin học đại cương

Những nguyên lý cơ bản của chủ nghĩa MLN F1

5 LTHDT Lập trình Hướng đối tương

6 CTDLGT Cấu trúc dữ liệu và giải thuật

7 CSDL Cơ sở dữ liệu

11 LTTBDD Lập trình thiết bị di động

12 TTNT Trí tuệ nhân tạo

13 TTCM Thực tập chuyên môn

14 TTTN Thực tập tốt nghiệp

15 DATN Đồ án tốt nghiệp

Bảng 6 Các thuộc tính của dữ liệu kết quả học tập của sinh viên

Bảng dữ liệu kết quả điểm thi toàn khóa học của một lớp trong Khoa CNTT nh 5 Kết quả học tập toàn khóa của 1 lớp ngành CNTT

Bảng dữ liệu kết quả thi lần 1 của 15 học phần:

Sau khi thực hiện chuẩn hóa dữ liệu kết quả điểm thi lần 1 của 15 học phần về dạng điểm chữ (A, B, B+, C…) ta thu đƣợc dưới dạng sau:

Khai phá dữ liệu học tập của sinh viên

Weka (Waikato Environment for Knowledge Analysis) là một môi trường thử nghiệm KPDL do các nhà khoa học tại Đại học Waikato, New Zealand phát triển, với sự đóng góp từ nhiều nhà nghiên cứu toàn cầu Là phần mềm mã nguồn mở, Weka cung cấp công cụ trực quan giúp người dùng tìm hiểu về KPDL và cho phép tích hợp các thuật toán học mới vào môi trường của nó Được xây dựng bằng ngôn ngữ Java, Weka bao gồm hơn 600 lớp và được tổ chức thành 10 packages, có khả năng chạy trên hầu hết các hệ điều hành.

Weka cung cấp đa dạng các thuật toán và phương pháp xử lý để ước lượng kết quả từ bất kỳ dữ liệu nào Giao diện chính của phần mềm Weka rất thân thiện và dễ sử dụng.

Weka cung cấp những tính năng chính sau:

- Bao gồm nhiều công cụ đa dạng để thay đổi tập dữ liệu, xử lý dữ liệu, giải thuật học và phương pháp đánh giá

- Giao diện đồ họa người dùng (trực quan hóa dữ liệu)

- Môi trường để so sánh các giải thuật học

Bạn có thể xử lý trước tập dữ liệu và đưa vào sơ đồ, phân chia các lớp kết quả mà không cần viết bất kỳ chương trình nào.

- Weka lấy dữ liệu từ các file có định dạng arff, nó đƣợc phát sinh từ một file hoặc một bảng cơ sở dữ liệu

3.3.1.2 Cấu trúc tập tin ARFF

ARFF là định dạng dữ liệu chuyên biệt của Weka, tổ chức dữ liệu theo cấu trúc được qui định trước

Cấu trúc tập tin *.ARFF bao gồm các thành phần:

- Header: chứa khai báo quan hệ, danh sách các thuộc tính (tên, kiểu dữ liệu)

- Data: gồm nhiều dòng, mỗi dòng thể hiện giá trị của các thuộc tính cho một mẫu nh 7 Minh họa Header và Data trong file ARFF

Các kiểu dữ liệu đƣợc hỗ trợ trong ARFF bao gồm

- numeric: là kiểu dữ liệu số, gồm real và integer

- nominal: là kiểu dữ liệu danh sách

- string: là kiểu dữ liệu dạng chuỗi

- date: kiểu dữ liệu thời gian (ngày tháng năm, giờ phút giây…) nh 8 Các kiểu dữ liệu lưu trữ trong file ARFF

3.3.1.3 Tiền xử lý dữ liệu với Weka Đối với bài toán khai phá dữ liệu, công việc đầu tiên ta phải tiến hành tiền xử lý và chuẩn hóa dữ liệu để cho dữ liệu phù hợp với bài toán mình xử lý Phần mềm Weka hỗ trợ các công cụ trong việc tiền xử lý dữ liệu nhƣ : rời rạc hóa dữ liệu, chuyển đổi dữ liệu về dạng nhị phân, chuẩn hóa dữ liệu… Đầu tiên ta phải chọn file dữ liệu cần xử lý, tiếp đến ta bộ lọc để thực hiện xử lý dữ liệu phù hợp với mục đích sử dụng của mình Sau khi lựa chọn đƣợc bộ lọc ta có thể thay đổi các thông số của bộ lọc để đáp ứng với bài toán của mình Cuối cùng chọn Apply để thực hiện xử lý biến đổi dữ liệu nh 9 Tiền xử lý dữ liệu với Weka

3.3.1.4 Tập phổ biến và luật kết hợp với Apriori Để sử dụng công cụ tìm tập phổ biến và luật kết hợp với giải thuật Apriori, chúng ta lựa chọn thẻ Associate sau đó chọn Apriori nh 10 Tìm tập phổ biến và luật kết hợp với Apriori

Chúng ta có thể điều chỉnh các tham số của thuật toán Apriori, chẳng hạn như giá trị minsup và minconf Để thực hiện điều này, hãy chọn thuật toán Apriori.

- [lowerBoundMinSupport, upperBoundMinSupport]: Độ phổ biến của các tập hạng mục khai thác đƣợc sẽ nằm trong khoảng này

- metricType: Độ đo tính lý thú của luật kết hợp, gồm có Confidence, Lift, Leverage, Conviction

- minMetric: Các luật khai thác đƣợc sẽ có độ đo thỏa giá trị này

Thuật toán numRule và delta bắt đầu với mức độ lý thú mục tiêu cao nhất Khi số luật đạt đến con số numRule, thuật toán sẽ dừng lại Ngược lại, giá trị của minMetric sẽ giảm một lượng delta để tìm kiếm các luật có độ đo lý thú thấp hơn.

- outputItemsets: Kết xuất tập phổ biến trong kết quả

Sau khi nhấn Start để thực hiện giải thuật Apriori trên dữ liệu đã chọn, chúng ta nhận được kết quả về kích thước các tập phổ biến và các luật kết hợp đáp ứng yêu cầu về độ hỗ trợ tối thiểu và độ tin cậy tối thiểu.

3.3.1.5 Tập phổ biến và luật kết hợp với FP_Growth

Weka hỗ trợ tìm kiếm tập phổ biến và luật kết hợp thông qua thuật toán FP_Growth Để bắt đầu, người dùng cần chọn kiểu tìm kiếm tập phổ biến FP_Growth và điều chỉnh các tham số cho phù hợp với thuật toán này Các tham số của giải thuật FP_Growth rất quan trọng trong quá trình tìm kiếm.

Ngoài các tham số nhƣ của Apriori, FP-Growth trong Weka còn đƣợc hỗ trợ một số tiện ích khác:

- findAllRulesForSupportedLevel: Khai thác tất cả các luật với độ đo đã lƣợng chọn

- maxNumberofItems:Số hạng mục tối đa trong lụât khai thác đƣợc

- rulesMustContainvà transactionsMustContain:Chỉ khai thác trên các hạng mục đƣợc quan tâm

Kết quả tìm tập phổ biến và luật kết hợp với giải thuật FP_Growth nh 15 Kết quả chạy với giải thuật FP_Growth

Phần mềm Weka cung cấp khả năng phân loại dữ liệu thông qua nhiều thuật toán khác nhau, bao gồm Nạve Bayes và Bayes Net Ngoài ra, Weka cũng hỗ trợ phân cụm dữ liệu bằng các thuật toán phổ biến như k-means.

3.3.2 Khai phá luật kết hợp từ dữ liệu điểm của sinh viên ngành CNTT

Phần mềm Weka là công cụ lý tưởng cho khai phá dữ liệu, đặc biệt trong lĩnh vực giáo dục Nó cung cấp đầy đủ các thuật toán khai phá luật kết hợp như Apriori và FP-Growth Do đó, tôi đã quyết định sử dụng Weka để thực hiện khai phá dữ liệu cho luận văn của mình thay vì cài đặt riêng từng thuật toán.

Sau khi hoàn tất quá trình tiền xử lý dữ liệu điểm thi kết thúc học phần của sinh viên, dữ liệu sẽ được lưu trữ dưới định dạng file ARFF để tương thích với phần mềm Weka.

3.3.2.1 Sử dụng giải thuật Apriori Để sử dụng giải thuật Apriori, luận văn sử dụng phép chuyển đổi dữ liệu điểm thi các học phần về dạng điểm chữ nhƣ đã trình bày ở phần 3.2 trên

Tạo một file mới với tên các tập luật cần khai phá và phần mở rộng arff Trong file, bổ sung tên lớp với @relation ở trước Chuyển các học phần thành tên thuộc tính rút gọn và quy đổi cột điểm về dạng chữ Cuối cùng, lưu file dưới định dạng csv (Comma delimited).

Mở file arff mới tạo và thêm từ khóa @data vào cuối file Sau đó, sao chép toàn bộ dữ liệu từ file text vừa tạo sang file arff Như vậy, chúng ta đã chuẩn hóa file dữ liệu từ định dạng Excel sang định dạng chuẩn arff.

Dữ liệu sau khi chuẩn hóa về dạng arff nhƣ sau: nh 16 Dữ liệu chuẩn hóa về dạng arff

Ngày đăng: 31/05/2023, 08:31

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Jiawei Han, Micheline Kamber, and Jian Pei (2011), Data Mining: Concepts and Techniques, 3rd edition, Morgan Kaufmann Sách, tạp chí
Tiêu đề: Data Mining: Concepts and Techniques
Tác giả: Jiawei Han, Micheline Kamber, Jian Pei
Nhà XB: Morgan Kaufmann
Năm: 2011
[2] Jiye Li, Nick Cercone(2005), “Discovering and Ranking Important Rules”. Granular Computing, IEEE International Conference on Volume 2 Sách, tạp chí
Tiêu đề: Discovering and Ranking Important Rules
Tác giả: Jiye Li, Nick Cercone
Nhà XB: Granular Computing, IEEE International Conference
Năm: 2005
[3] L. Geng and H. J. Hamilton(2006). “Interestingness measures for data mining: A survey”. ACM Comput. Surv., 38(3):9 Sách, tạp chí
Tiêu đề: Interestingness measures for data mining: A survey
Tác giả: L. Geng, H. J. Hamilton
Nhà XB: ACM Comput. Surv.
Năm: 2006
[4] P.Tan, V.Kumar, J.Sivastava(2002). “Selecting the Right Interestingness Measure for Association Patterns”, in SIGKDD’02 ACM Sách, tạp chí
Tiêu đề: Selecting the Right Interestingness Measure for Association Patterns
Tác giả: P. Tan, V. Kumar, J. Sivastava
Nhà XB: ACM
Năm: 2002
[5] Rakesh Agrawal and R. Srikant (1994). “Fast algorithms for mining association rules”. The International Conference on Very Large Databases, pages 487– 499 Sách, tạp chí
Tiêu đề: Fast algorithms for mining association rules
Tác giả: Rakesh Agrawal, R. Srikant
Nhà XB: The International Conference on Very Large Databases
Năm: 1994
[6] Rakesh Agrawal, Tomasz Imielinski, and Arun Swami (1993), “Mining association rules between sets of items in large database”, In proc of the ACM SIGMOD Conference on Management of Data, Washington, D.C Sách, tạp chí
Tiêu đề: Mining association rules between sets of items in large database
Tác giả: Rakesh Agrawal, Tomasz Imielinski, Arun Swami
Nhà XB: ACM SIGMOD Conference on Management of Data
Năm: 1993
[7] Remco R. Bouckaert, Eibe Frank (2013), Weka Manual for version 3-7- 8, The University of Waikato Sách, tạp chí
Tiêu đề: Weka Manual for version 3-7-8
Tác giả: Remco R. Bouckaert, Eibe Frank
Nhà XB: The University of Waikato
Năm: 2013

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w