Phương pháp giải quyết

Một phần của tài liệu Kỹ thuật khai phá dữ liệu và ứng dụng xây dựng cơ sở tri thức (Trang 70 - 74)

Theo các kết quả lý thuyết đã nêu ở phần trên, ta sẽ lựa chọn các phương pháp áp dụng để cài đặt thử nghiệm bài toán này. Trong thử nghiệm sẽ cài đặt thuật toán Apriori và thuật toán FP-growth ứng dụng trong việc khai phá các luật liên kết từ kho dữ liệu. Lý do lựa chọn 2 thuật toán trên: Thuật toán Apriori là thuật toán khai phá luật liên kết đầu tiên được giới thiệu, trở thành tiêu chuẩn để các thuật toán ra đời sau so sánh. Các thuật toán sau này chủ yếu dựa vào ý tưởng của thuật toán Apriori, đó là xây dựng một cấu trúc tập ứng cử để từ đó tìm ra các tập phần tử lớn. Còn thuật toán FP-growth đã đề ra một hướng tiếp cận mới, đó là không sử dụng tập ứng cử mà dùng cấu trúc cây để lưu trữ dữ liệu, từ đó tìm ra các tập phần tử lớn. Như vậy hai thuật toán trên có sự khác nhau về bản chất, do đó cần phải có một sự kiểm nghiệm về độ hiệu qủa nhằm xác định một thuật toán tối ưu cho quá trình khai phá luật liên kết.

Vấn đề thứ nhất : khai phá luật liên kết từ kho dữ liệu được thực nghiệm với một cơ sở dữ liệu dạng giao dịch. Trong trường hợp này ta sử dụng một tập T chứa các phần tử của mỗi giao dịch. Một giao dịch bao gồm nhiều phần tử được lấy từ tập phần tử I. Do không xét đến số lượng hay giá cả của các phần tử này nên mỗi giao dịch được mô tả là một danh sách các phần tử. Do đó có thể coi mỗi giao dịch trong T là một tập phần tử. Luật liên kết là các luật có dạng :

Điều kiện ⇒ Kết quả (độ hỗ trợ, độ tin cậy)

Trong đó điều kiện và kết quả là 2 tập phần tử khác nhau và giá trị hỗ trợ và tin cậy của luật được tính như sau :

Nguyễn Tiến Thành – Công nghệ phần mềm K44 70

Kỹ thuật khai phá dữ liệu và ứng dụng xây dựng cơ sở tri thức Độ hỗ trợ của luật = Độ hỗ trợ của (Điều kiện ∪ Kết quả)

Độ tin cậy của luật = Độ hỗ trợ của luật / Độ hỗ trợ của Điều kiện Ví dụ về một luật liên kết :

{cá, thịt bò} ⇒ {hành} (0.2, 0.6)

có nghĩa là 20% số giao dịch có cả cá, thịt bò và hành, và 65% các giao dịch có chứa cá và thịt bò thì cũng có cả hành

Độ hỗ trợ cho biết mức độ quan trọng của luật, độ hỗ trợ càng lớn thì luật này càng có ý nghĩa do nó thu được từ một số lượng lớn các giao dịch. Độ tin cậy của một luật cho biết khả năng dự đoán của nó, độ tin cậy càng lớn, khả năng dự đoán càng cao. Vấn đề ở đây là phải tìm ra các luật có giá trị độ hỗ trợ và độ tin cậy lớn, như vậy thì luật mới có giá trị thực tế. Các luật có độ hỗ trợ thấp sẽ không được quan tâm vì nó chỉ đúng với một số nhỏ các giao dịch và gần như không có ý nghĩa thống kê, còn các luật có độ tin cậy thấp thì sẽ không có ích vì ý nghĩa dự đoán của nó là nhỏ.

Ngoài ra, để đánh giá một luật còn dùng một chỉ số là hệ số tác động, nhằm biểu diễn mức độ ảnh hưởng của điều kiện đến kết quả.. Hệ số này được tính như sau:

Hệ số tác động = Độ tin cậy của luật / Độ tin cậy của kết quả

Ví dụ : Giả sử có một bộ dữ liệu giao dịch trong đó có 4% số giao dịch có mặt hàng bia. Như vậy độ tin cậy cho sự kiện khách hàng mua mặt hàng bia là 4%, được gọi là độ tin cậy mong đợi. Xét một luật:

{nước ngọt} ⇒ {bia} (0.02,0.44)

Độ tin cậy của luật này là 0.44, tức 44%. Hệ số tác động của luật trong trường hợp này là 44/4 = 11. Điều này có nghĩa là những khách hàng đã mua mặt hàng nước ngọt có khả năng mua mặt hàng bia gấp 11 lần so với những khách hàng không mua nước ngọt. Các luật có hệ số tác động cao là các luật được chú ý vì có khả năng ảnh hưởng của điều kiện đến kết quả là lớn, ngược lại các luật có hệ số tác động thấp sẽ ít được chú ý hơn.

Vấn đề thứ hai : áp dụng kỹ thuật khai phá luật liên kết với dữ liệu điểm sinh viên nhằm tìm ra mối quan hệ giữa các môn học, giữa các môn học và phân ngành hẹp mà sinh viên chọn lựa. Dữ liệu điểm ở đây là điểm một số môn học trong giai đoạn chuyên ngành của lớp Tin 7-K44, khoa Công nghệ thông tin trường Đại học Bách Khoa Hà Nội. Do hạn chế ở mức độ thử nghiệm nên dữ liệu này chỉ bao gồm điểm một số môn học. Tuy nhiên dữ liệu này có thể dễ dàng mở rộng thành dữ liệu bảng điểm hoàn chỉnh của tất cả các môn học.

Dữ liệu này được lưu vào bảng dữ liệu SINHVIEN, gồm các thuộc tính sau

Tên thuộc tính Kiểu dữ liệu Giải thích

SvID Long Integer Mã số sinh viên

BomonID Integer Mã bộ môn

Hoten Text(255) Tên sinh viên

Dientuso Integer Điểm môn học Điện tử số

Ktlaptrinh Integer Điểm môn học Kỹ thuật lập trình Lttruyentin Integer Điểm môn học Lý thuyết truyền tin Nvnghepnoi Integer Điểm môn học Ngoại vi ghép nối Toanroirac Integer Điểm môn học Toán rời rạc

Ttkhoahoc Integer Điểm môn học Tính toán khoa học Lthdoituong Integer Điểm môn học Lập trình hướng đối

tượng

Cnphanmem Integer Điểm môn học Công nghệ phần mềm

Pttkht Integer Điểm môn học Phân tích thiết kế hệ thống

Bảng 5.1 Bảng dữ liệu SINHVIEN

Bảng này có quan hệ với bảng BOMON gồm các thuộc tính sau:

Tên thuộc tính Kiểu dữ liệu Giải thích

BomonID Integer Mã bộ môn (adsbygoogle = window.adsbygoogle || []).push({});

Tenbomon Text Tên bộ môn

Nguyễn Tiến Thành – Công nghệ phần mềm K44 72

Kỹ thuật khai phá dữ liệu và ứng dụng xây dựng cơ sở tri thức Bảng 5.2 Bảng dữ liệu BOMON

Quan hệ của 2 bảng được thể hiện trong hình 5.1

Hình 5.1 Quan hệ giữa bảng BOMON và bảng SINHVIEN

Nhiệm vụ của ta là tìm kiếm toàn bộ các luật liên kết trong cơ sở dữ liệu thỏa mãn điều kiện độ hỗ trợ và độ tin cậy phải thoả mãn một ngưỡng cho trước.

Một phần của tài liệu Kỹ thuật khai phá dữ liệu và ứng dụng xây dựng cơ sở tri thức (Trang 70 - 74)