Khai phá tƣơng tác với cây TWUI-tree

Một phần của tài liệu khai phá tập mục thường xuyên lợi ích cao trong cơ sở dữ liệu (Trang 55 - 57)

Thực tế nhiều khi đòi hỏi phải khai phá cơ sở dữ liệu với các ngƣỡng lợi ích khác nhau theo yêu cầu của ngƣời sử dụng. Cho cơ sở dữ liệu DB, sau khi khai phá tập mục lợi ích cao với ngƣỡng lợi ích δ1, ngƣời sử dụng có thể có nhu cầu khai phá với ngƣỡng δ2. Lúc đó chúng ta sẽ khai phá thế nào?

Đã có một số nghiên cứu giải quyết vấn đề khai phá tƣơng tác tập mục thƣờng xuyên , song còn rất ít tác giả đề cập đến khai phá tập mục lợi ích cao. Ở đây, luận văn đề xuất cách khai phá tƣơng tác tập mục lợi ích cao dựa trên cấu trúc cây TWUI-tree của thuật toán COUI-Mine1.

Trƣớc tiên, ta nhận xét rằng các mục dữ liệu trong cây TWUI-tree không nhất thiết

phải sắp xếp theo tiêu chí gì. Các mục dữ liệu trong bảng đầu mục của cây TWUI- tree có thể sắp xếp theo một số cách sau:

- Sắp giảm dần theo giá trị TWU của các mục dữ liệu trong cơ sở dữ liệu (nhƣ thứ tự trong cây FP-tree). Sắp các mục dữ liệu theo thứ tự này sẽ tăng khả năng giảm kích thƣớc của cây nhất vì các nhánh của cây sẽ dùng chung nhiều nút hơn. Thuật toán COUI-Mine2 ở phần sau sẽ sử dụng thứ tự này để tăng hiệu quả của thuật toán.

- Theo một thứ tự nào đó, ví dụ theo trật tự từ điển của tên mục dữ liệu.

Khai phá tƣơng tác có thể thực hiện trên cấu trúc cây TWUI-tree với một vài thay đổi nhỏ. Thuật toán COUI-Mine1chỉ cần thay đổi ở một số bƣớc sau sẽ trở thành thuật toán hiệu quả để khai phá tƣơng tác các tập mục lợi ích cao.

 Bƣớc xây dựng cây TWUI-tree: thứ tự các mục dữ liệu có thể theo một trong các cách trình bày ở trên nhƣng không tỉa đi mục dữ liệu nào. Nếu sắp theo số lần thực hiện của mục dữ liệu thì thực hiện nhƣ sau:

- Duyệt cơ sở dữ liệu lần thứ nhất, đếm số lần xuất hiện và tính giá trị TWU của từng mục dữ liệu. Sau đó sắp các mục dữ liệu theo thứ tự giảm dần của số lần xuất hiện và tạo bảng đầu mục của cây.

- Duyệt cơ sở dữ liệu lần thứ hai, mỗi giao tác đƣợc đọc ra, sắp các mục dữ liệu trong giao tác theo thứ tự trong bảng đầu mục và chèn danh sách đó lên cây.

Nhƣ vậy, sau khi xây dựng cây xong, toàn bộ cơ sở dữ liệu đã đƣợc nén lên cây TWUI-tree.

 Bƣớc khai phá: Khi khai phá với ngƣỡng lợi ích δ1, thuật toán đã xây dựng và khai phá cây TWUI-tree, tìm ra tập các ứng viên CP1 có lợi ích TWU cao.

Sau đó thuật toán duyệt lại cơ sở dữ liệu để tìm ra các tập mục lợi ích cao HU1 trong CP1. Bây giờ cần khai phá với ngƣỡng lợi ích δ2, rõ ràng ta không cần xây dựng lại cây TWUI-tree nữa.

Nếu δ2> δ1 thì tập ứng viên mới CP2 là tập con của tập ứng viên cũ. CP2  CP1, do đó không cần khai phá cây TWUI-tree để tìm các tập ứng viên mới CP2 mà ta chỉ cần duyệt lại cơ sở dữ liệu một lần để tìm ra các tập mục lợi ích cao theo ngưỡng mới δ2 từ các tập ứng viên cũ CP1.

Nếu δ2< δ1 thì tập các ứng viên mới CP2 là tập cha của tập ứng viên cũ, CP2  CP1, ta cần khai phá lại cây TWUI-tree để tìm các tập ứng viên mới CP2. Bƣớc tiếp theo, khi duyệt lại cơ sở dữ liệu để tìm ra các tập mục lợi ích cao theo ngƣỡng mới δ2 ta chỉ cần tính lợi ích thực sự của các ứng viên mới xuất hiện, tức các ứng viên thuộc CP2 – CP1, vì lợi ích của các ứng viên trong CP1 đã tính ở lần khai phá trƣớc.

Nhƣ vậy, cây TWUI-tree đƣợc xây dựng một lần, sử dụng khai phá nhiều lần. Với cơ sở dữ liệu DB, sau khi đã khai phá với một ngƣỡng lợi ích nào đó, thời gian khai phá với ngƣỡng lợi ích khác đƣợc giảm rất nhiều, không còn thời gian xây dựng cây TWUI-tree nữa.

Một phần của tài liệu khai phá tập mục thường xuyên lợi ích cao trong cơ sở dữ liệu (Trang 55 - 57)