Computer >> Máy Tính >  >> Lập trình >> Lập trình

Đại diện của FP-Tree là gì?

FP-tree là một mô tả chắc chắn về dữ liệu đầu vào. Nó được tập hợp bằng cách đọc tập dữ liệu một giao dịch tại một thời điểm và đo lường từng giao dịch trên một tuyến đường trong cây FP. Một số giao dịch có thể có nhiều mục chung, lộ trình của chúng có thể trùng lặp.

Các tuyến càng chồng chéo với nhau, thì càng có nhiều khả năng nén sử dụng kiến ​​trúc FP-tree. Nếu kích thước của cây FP đủ để vừa với bộ nhớ chính, điều này sẽ cho phép chúng tôi trích xuất các tập phổ biến trực tiếp từ kiến ​​trúc trong bộ nhớ thay vì tạo các lần lặp lại dữ liệu được lưu trên đĩa.

Mỗi nút trong cây bao gồm nhãn của một mục cùng với một bộ đếm hiển thị nhiều giao dịch được ánh xạ trên tuyến đường nhất định. Ban đầu, cây FP chỉ bao gồm nút gốc được xác định bởi ký hiệu nulf.

Cây FP được tiếp tục trong các phương thức sau như sau -

Tập dữ liệu được tìm kiếm một lần để quyết định số lượng hỗ trợ của từng mục. Các mục không thường xuyên bị loại bỏ, trong khi các mục thường xuyên không đổi làm giảm số lượng hỗ trợ.

Thuật toán tạo một lần chuyển thứ hai qua dữ liệu để tạo cây FP. Sau khi xem xét giao dịch đầu tiên, {a, b}, các nút có nhãn là a và b được tạo ra. Một đường dẫn được hình thành từ null → a → b để mã hóa giao dịch. Mỗi nút dọc theo tuyến đường có tần suất đếm là 1.

Sau khi xem xét giao dịch thứ hai, {b, c, d}, một tập hợp các nút mới được tạo cho các mục b, c và d. Sau đó, một tuyến đường được hình thành để xác định giao dịch bằng cách liên kết các nút null → b → c → d.

Mỗi nút dọc theo tuyến đường này cũng có tần suất đếm giống nhau. Mặc dù hai giao dịch đầu tiên có một mục thường xuyên, đó là b, nhưng lộ trình của chúng rất rời rạc vì các giao dịch không chia sẻ tiền tố thường xuyên.

Giao dịch thứ ba, {a, c, d, e}, chia sẻ một mục tiền tố thường xuyên (là a) với giao dịch đầu tiên. Theo đó, tuyến cho giao dịch thứ ba, null → a → c → d → e, trùng lặp với tuyến cho giao dịch đầu tiên, nuII → a → b. Do tuyến đường chồng chéo của chúng, tần số đếm cho nút o được tăng lên hai, trong khi tần số đếm cho các nút được tạo gần đây, c, d và e giống như một.

Giai đoạn này tiếp tục cho đến khi mỗi giao dịch được ánh xạ vào một trong các tuyến đường được đưa ra trong cây FP. Kích thước của cây FP nhỏ hơn kích thước của dữ liệu không nén vì một số giao dịch trong thông tin giỏ thị trường chia sẻ nhiều mục chung hơn.