Khai phá tập mục thƣờng xuyên theo hƣớng tiếp cận không sinh ứng

Một phần của tài liệu 27888 (Trang 36 - 37)

sinh ứng cử.

Thuật toán Apriori gặp phải hai chi phí lớn:

- Chi phí sinh ra số lƣợng khổng lồ các tập ứng viên, ví dụ nếu có 104 mục thƣờng xuyên thì thuật toán Apriori sẽ cần sinh hơn 107

các ứng viên 2 tập mục và thực hiện kiểm tra độ hỗ trợ của chúng. Để khám phá một mẫu phổ biến có kích thƣớc k, nhƣ là (i1, i2,...,ik) thì thuật toán phải kiểm tra

1 2 1           k k i k i

các mẫu phổ biến tiềm năng. Ví dụ: k = 100 thì phải sinh ra tổng số 2100

-1 = 1030 tập ứng cử.

- Lặp nhiều lần duyệt cơ sở dữ liệu, số lần duyệt cơ sở dữ liệu của thuật toán Apriori bằng độ dài của tập mục thƣờng xuyên dài nhất tìm đƣợc. Thuật toán Apriori chỉ thích hợp cho các cơ sở dữ liệu thƣa (sparse), với các cơ sở dữ liệu dày (dense) thì thuật toán thực hiện kém hiệu quả.

Để khắc phục nhƣợc điểm trên của thuật toán Apriori, năm 2000 J.Han, J Pei, Y.Yin và R.Mao đề xuất thuật toán FP-growth (Frequent Patterm Growth) [4], để tìm tập mục thƣờng xuyên bằng cách không sinh các tập mục ứng cử từ các tập mục thƣờng xuyên trƣớc mà vẫn hiệu quả, giảm đƣợc khối lƣợng tính toán.

Thuật toán FP-growth:

Thuật toán FP-grow đƣợc xây dựng với 3 kỹ thuật chính.

(1). Nén dữ liệu thích hợp vào một cấu trúc cây gọi là cây FP-tree. Chỉ có các 1-tập mục (1-item) ở trong cây và các nút của cây đƣợc sắp xếp để các

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

nút xuất hiện thƣờng xuyên hơn có thể dễ dàng chia sẻ với các nút xuất hiện ít hơn.

(2). Thực hiện phƣơng pháp khai phá phát triển (growth) từng đoạn dựa trên cây FP-tree gọi là phƣơng pháp FP-growth.

(3). Kỹ thuật tìm kiếm đƣợc dùng ở đây là dựa vào sự phân chia “chia để trị”, phân rã nhiệm vụ khai phá thành các nhiệm vụ nhỏ hơn.

Thuật toán FP-growth do nén toàn bộ cơ sở dữ liệu lên một cấu trúc dữ liệu nhỏ hơn là cây FP-tree nên tránh đƣợc việc duyệt nhiều lần cơ sở dữ liệu (thuật toán chỉ duyệt cơ sở dữ liệu 2 lần, lần thứ nhất để xác định tần xuất của từng tập mục trong CSDL, quét lần thứ 2 để xây dựng cây FP-tree) để khai phá các tập mục thƣờng xuyên và khai phá cây bằng cách phát triển dần các mẫu mà không sinh các tập mục ứng viên.

Một phần của tài liệu 27888 (Trang 36 - 37)