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

(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV

72 0 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 đề Khai Thác Dàn Tập Phổ Biến Đóng Sử Dụng Cấu Trúc DSBV
Tác giả Trần Phú Dư
Người hướng dẫn PGS.TS. Lê Hoài Bắc
Trường học Trường Đại Học Ngoại Ngữ Tin Học
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ố Tp. HCM
Định dạng
Số trang 72
Dung lượng 801,15 KB

Cấu trúc

  • 1. Mở đầu (12)
  • 2. Bố cục đề tài (14)
  • Chương 1: TỔNG QUAN (15)
    • 1. Khai thác dữ liệu (15)
    • 2. Ứng dụng của khai thác dữ liệu (16)
    • 3. Khai thác dàn các tập phổ biến đóng (18)
    • 4. Ý nghĩa khoa học và thực tiễn của đề tài (19)
    • 5. Phương pháp nghiên cứu và đối tượng nghiên cứu (19)
    • 6. Khó khăn và Thách thức (20)
    • 7. Mục tiêu và phạm vi của luận văn (20)
    • 8. Đóng góp của luận văn (21)
  • Chương 2: CƠ SỞ LÝ THUYẾT (22)
    • 1. Khái quát bài toán (22)
    • 2. Hướng tiếp cận khai thác tập phổ biến đóng (23)
    • 3. Hướng tiếp cận khai thác tập sinh (Minimal Generator) (27)
    • 4. Hướng tiếp cận khai thác Dàn các tập phổ biến đóng (27)
    • 5. Đề xuất cấu trúc dữ liệu (28)
      • 5.1 Superset bit-vector (28)
      • 5.2 Dynamic superset bit-vector (29)
        • 5.2.1 Tìm FCS từ cấu trúc DSBV (30)
        • 5.2.2 Tìm minimal FCS từ cấu trúc DSBV (31)
        • 5.2.3 Giao 2 DSBVs (32)
        • 5.2.4 Cập nhật 1 DSBV (33)
  • Chương 3: ĐỀ XUẤT THUẬT TOÁN KHAI THÁC DÀN CÁC TẬP PHỔ BIẾN ĐÓNG VÀ CẢI TIẾN (35)
    • 1. Phát biểu bài toán khai thác Dàn các tập phổ biến đóng (35)
    • 2. Thuật Toán BVCL (36)
      • 2.1 Lưu đồ tổng quát của thuật toán (41)
      • 2.2 Các bước chính của thuật toán (42)
    • 3. Đặc tả và phân tích thuật toán (47)
    • 4. Cải tiến thuật toán gốc (54)
      • 4.1 Cơ sở lý thuyết (54)
        • 4.1.1 Kết nối Galois (54)
        • 4.1.2 Định nghĩa toán tử đóng (54)
        • 4.1.3 Các tính chất của IT-pair (54)
        • 4.1.4 Minimal Generator (mG) (55)
        • 4.1.5 Một số nhận xét về mG (55)
      • 4.2 Thuật toán (55)
    • 5. Kết quả thực nghiệm và so sánh (57)
      • 5.1 Bộ dữ liệu Chess (58)
      • 5.2 Bộ dữ liệu Mushroom (60)
      • 5.3 Bộ dữ liệu Pumsb (61)
      • 5.4 Bộ dữ liệu Retail (63)
      • 5.5 Bộ dữ liệu T10I4D100K (65)
    • 1. Kết luận (68)
    • 2. Hướng phát triển (68)
  • TÀI LIỆU THAM KHẢO (70)

Nội dung

(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV(Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBVv

Bố cục đề tài

Luận văn trình bày trong 03 chương:

- Chương 1: Giới thiệu tổng quan về khai thác dữ liệu, ý nghĩa của khai thác dữ liệu, ứng dụng của khai thác dữ liệu, khai thác tập phổ biến đóng, nêu rõ phạm vi, mục tiêu, phương pháp nghiên cứu, ý nghĩa khoa học và thực tiễn, các kết quả dự kiến với đóng góp của luận văn là đề xuất một cải thiện khai thác dàn các tập phổ biến đóng của thuật toán BVCL

- Chương 2: Trình bày cơ sở lý thuyết của các khái niệm, kỹ thuật khai thác dàn các tập phổ biến đóng, tập sinh và các giai đoạn tổ chức bài toán Mô tả và phân tích ưu điểm khuyết điểm của các thuật toán đã có trước đó Từ đó, hình thành hướng đi mới cho thuật toán cải tiến khai thác dàn tập phổ biến đóng

- Chương 3: Đề xuất thuật toán cải tiến khai thác dàn các tập phổ biến đóng, chỉ rõ các bước cải tiến mới so với thuật toán BVCL, so sánh kết quả thực nghiệm của thuật toán mới với thuật toán gốc cũng như với các thuật toán đã có.

- Tiếp theo, là phần Kết luận và Hướng phát triển, nêu tóm gọn về kết quả đạt được cũng như các hướng nghiên cứu, ứng dụng có thể mở rộng và phát triển của luận văn trong tương lai.

Cuối cùng, phần Tài liệu tham khảo, liệt kê danh sách các tài liệu tham khảo sử dụng trong luận văn

TỔNG QUAN

Khai thác dữ liệu

Khối lượng dữ liệu khổng lồ được thu thập trên toàn thế giới, tăng lên hàng terabyte (hoặc petabyte) dữ liệu mỗi ngày từ nhiều nguồn dữ liệu: dữ liệu về kinh tế, khoa học kỹ thuật, y tế, mạng internet, mạng xã hội, các hệ thống truyền dữ liệu tự động và từ các khía cạnh khác trong cuộc sống hàng ngày của con người

Từ những năm đầu thập kỷ 60 đến cuối những năm 1980, công nghệ sưu tập, lưu trữ và xử lý, phân tích dữ liệu đã tiến bộ vượt bậc trước sự phát triển mạnh mẽ của xu hướng tin học hóa trên toàn thế giới Ban đầu sự thu thập và phát sinh cơ sở dữ liệu, chỉ là truy xuất file thô sơ (đầu những năm 1960) Sau những năm 1970 đến đầu 1980s, phát triển sang hệ thống quản lý CSDL, trong đó đã có công cụ phân tích dữ liệu giao dịch trực tuyến - OLTP Từ giữa đến cuối những năm 1980, phát triển hệ thống cơ sở dữ liệu nâng cao và hệ thống phân tích CSDL nâng cao, triển khai kèm theo đó là các công cụ nổi bật dành cho phân tích dữ liệu nâng cao Trong đó có sự ra đời của kiến trúc kho dữ liệu mới đi kèm kỹ thuật OLAP, có khả năng khai thác dữ liệu đa chiều, phân tích dữ liệu sâu, xem thông tin với nhiều góc độ khác nhau

Tuy nhiên khối dữ liệu khổng lồ được thu thập và lưu trữ trong nhiều kho chứa dữ liệu lớn không ngừng tăng nhanh Việc hiểu hết các thông tin, cũng như rút trích ra các kiến thức ẩn đã nhúng trong khối dữ liệu khổng lồ cực lớn này mà không có công cụ mạnh mẽ hỗ trợ là vượt xa khả năng của con người Điều này đòi hỏi cần có một công cụ mạnh mẽ, linh hoạt hơn để đáp ứng nhu cầu khám phá các mẫu dữ liệu đặc biệt, quan trọng, nhằm rút trích ra các thông tin, kiến thức có giá trị từ khối dữ liệu khổng lồ

Cuối những năm 1980, khai thác dữ liệu ra đời, đánh dấu sự tiến triển mới của công nghệ thông tin Các chức năng của khai thác dữ liệu bao gồm: mô tả đặc tính và phân biệt dữ liệu, khai thác các mẫu (chuỗi) phổ biến, sự kết hợp và tương quan, phân lớp và hồi quy, phân tích gom cụm, và nhận dạng ngoại lệ

Trong tương lai, nếu phát sinh thêm nhiều kiểu dữ liệu mới, ứng dụng mới và nhu cầu phân tích dữ liệu mới thì việc xuất hiện thêm các thao tác khai thác dữ liệu mới là điều có thể dự đoán được.

Ứng dụng của khai thác dữ liệu

Khai phá dữ liệu đã và đang được ứng dụng rộng rãi trong rất nhiều lĩnh vực và hiện nay đã có rất nhiều công cụ thương mại và phi thương mại triển khai các nhiệm vụ của khai phá dữ liệu

Sau đây là một số lĩnh vực mà khai phá dữ liệu đang được ứng dụng rộng rãi:

• Phân tích dữ liệu tài chính

• Phân tích dữ liệu sinh học

• Một số ứng dụng trong khoa học

Phân tích dữ liệu tài chính

Dữ liệu tài chính trong ngân hàng và trong ngành tài chính thường đáng tin cậy và có chất lượng cao, tạo điều kiện cho khai phá dữ liệu Dưới đây là một số ứng dụng điển hình trong khai phá dữ liệu tài chính:

• Dự đoán khả năng vay và thanh toán của khách hàng, phân tích chính sách tín dụng đối với khách hàng

• Phân tích hành vi khách hàng (vay, gửi tiền)

• Phân loại và phân nhóm khách hàng mục tiêu cho tiếp thị tài chính

• Phát hiện các hoạt động rửa tiền và tội phạm tài chính khác

Khai phá dữ liệu có vai trò rất quan trọng trong ngành công nghiệp bán lẻ, do dữ liệu thu thập từ lĩnh vực này rất lớn từ doanh số bán hàng, lịch sử mua hàng của khách hàng, vận chuyển hàng hóa, tiêu thụ và dịch vụ Điều tự nhiên là khối lượng dữ

6 liệu từ ngành công nghiệp này sẽ tiếp tục tăng lên nhanh chóng và dễ dàng thu thập bởi tính sẵn có trên môi trường Web Ứng dụng khai phá dữ liệu trong ngành công nghiệp bán lẻ nhằm xây dựng mô hình giúp xác định xu hướng mua hàng của khách hàng, giúp doanh nghiệp cải thiện chất lượng sản phẩm dịch vụ nhằm nâng cao sự hài lòng của khách hàng và giữ chân khách hàng tốt Dưới đây là một số ứng dụng của khai phá dữ liệu trong ngành công nghiệp bán lẻ:

• Khai phá dữ liệu trên kho dữ liệu khách hàng

• Phân tích đa chiều trên kho dữ liệu khách hàng về doanh số bán hàng, khách hàng, sản phẩm, thời gian và khu vực

• Phân tích hiệu quả của các chiến dịch bán hàng, Marketing

• Quản trị mối quan hệ khách hàng

• Giới thiệu và tư vấn sản phẩm phù hợp cho khách hàng

Công nghiệp viễn thông là một trong những ngành công nghiệp mới nổi, cung cấp nhiều dịch vụ như trên điện thoại di động, internet, truyền hình ảnh Do sự phát triển mạnh của công nghệ máy tính và mạng máy tính, viễn thông đang phát triển với tốc độ rất nhanh Đây là lý do tại sao khai phá dữ liệu trở nên rất quan trọng trong lĩnh vực này

Khai phá dữ liệu trong ngành công nghiệp viễn thông giúp xác định các mô hình viễn thông, phát hiện các hoạt động gian lận trong viễn thông, sử dụng tốt hơn nguồn tài nguyên và cải thiện chất lượng dịch vụ viễn thông Dưới đây là một số ứng dụng của khai phá dữ liệu trong ngành công nghiệp này:

• Phân tích dữ liệu đa chiều viễn thông

• Xây dựng các mô hình phát hiện gian lận

• Phát hiện bất thường trong giao dịch viễn thông

• Phân tích hành vi sử dụng dịch vụ viễn thông của khách hàng

• Sử dụng các công cụ trực quan trong phân tích dữ liệu viễn thông

Phân tích dữ liệu sinh học

Khai phá dữ liệu sinh học là một phần rất quan trọng của lĩnh vực Tin - Sinh Học Sau đây là một số ứng dụng của khai phá dữ liệu ứng dụng trong sinh học:

• Lập chỉ mục, tìm kiếm tương tự, bất thường trong cơ sở dữ liệu Gen

• Xây dựng mô hình khai phá các mạng di truyền và cấu trúc của Gen, protein

• Xây dựng các công cụ trực quan trong phân tích dữ liệu di truyền

Phát hiện xâm nhập bất hợp pháp

Xâm nhập bất hợp pháp là những hành động đe dọa tính toàn vẹn, bảo mật và tính sẵn sàng của tài nguyên mạng Trong thế giới của kết nối, bảo mật đã trở thành vấn đề lớn đối với tồn tại của hệ thống Với sự phát triển của internet và sự sẵn có của các công cụ, thủ thuật trợ giúp cho xâm nhập và tấn công mạng, yêu cầu kiểm soát truy cập bất hợp pháp là yếu tố rất quan trọng đảm bảo cho sự ổn định của hệ thống

Dưới đây là một số ứng dụng của khai phá dữ liệu có thể được áp dụng để phát hiện xâm nhập:

- Phát triển các thuật toán khai phá dữ liệu để phát hiện xâm nhập

- Phân tích kết hợp, tương quan và khác biệt để phát hiện xâm nhập

- Phân tích dòng dữ liệu để phát hiện bất thường.

Khai thác dàn các tập phổ biến đóng

Tìm luật kết hợp từ hàng triệu giao dịch trong nhiều CSDL lớn, hiện tại trở nên khó khăn trong lĩnh vực khai thác dữ liệu Tập phổ biến và tập phổ biến đóng là chìa khóa quan trọng của việc khai thác các luật kết hợp Các luật kết hợp có thể được khai thác hiệu quả từ Dàn các tập phổ biến đóng

Không thừa, chính xác, thời gian và chiếm dụng bộ nhớ là các nhân tố cần được xem xét trong khi phát triển thuật toán để tìm các luật kết hợp hữu ích Xây dựng dàn tập phổ biến đóng là xây dựng quan hệ cha con (trực tiếp) giữa các tập phổ biến đóng với nhau Do vậy sẽ tiết kiệm được thời gian khi duyệt dàn để sinh luật

Ý nghĩa khoa học và thực tiễn của đề tài

- Thuật toán BVCL đổi mới hơn so với thuật toán CHARML cũng như các thuật toán duyệt tuần tự tập hạng mục ở những điểm chính sau: o Cấu trúc DSBV lưu thông tin tập cha ở dạng bit nên việc truyền thông tin cho các tập trong dàn khi gọi đệ qui là nhanh chóng o Cách tổ chức 2 danh sách subsume list và non - subsume list làm cho thuật toán bỏ qua khá nhiều bước khi đệ qui với các tập trong subsume list

- Thuận toán mới cải thiện hiệu suất khai thác dàn các tập phổ biến đóng này góp phần giải quyết vấn đề trong việc khai thác luật kết hợp với nhiều ứng dụng rộng, bao gồm những phân tích về hành vi mua sắm của khách hàng, chuỗi truy xuất web, những thực nghiệm có tính khoa học, điều trị bệnh, ngăn chặn tai họa thiên nhiên và sự hình thành protein…

Phương pháp nghiên cứu và đối tượng nghiên cứu

- Phương pháp nghiên cứu tài liệu: dựa vào các tài liệu đã công bố của các nhà nghiên cứu về các thuật toán khai thác tập phổ biến, tập phổ biến đóng, và khai thác Dàn: Apriori-Gen, FP-tree, Charm, CharmL, MG-Charm, DCI- Closed, LCM, DBV-Miner, GENCLOSE, NAFCP Phân tích cách sử dụng cấu trúc dữ liệu DBV, DSBV cách tổ chức CSDL (ngang hay dọc), cách phát sinh mẫu ứng viên mới, các kỹ thuật khai thác Dàn… và xu hướng phát triển của các thuật toán

- Phương pháp thực nghiệm: Tiến hành hiện thực và thực nghiệm các phương pháp được đề xuất trong luận văn để xác định tính đúng đắn, khả thi và phát triển so với các phương pháp đã công bố của các tác giả trong và ngoài nước có liên quan đến luận văn

- Phương pháp thống kê, phân tích dữ liệu: Thống kê, tổng hợp các số liệu trong quá trình thực nghiệm để phân tích, đánh giá từ đó nhận thức, phát hiện, và chọn lọc những ưu điểm để phát huy, tìm cách khắc phục những hạn chế, đồng thời kết hợp những thông tin liên quan đã thu thập được lại thành

9 một nội dung logic đầy đủ để đề xuất thuật toán mới có thời gian khai thác đồng thời Dàn các tập phổ biến đóng và tập sinh của chúng nhanh hơn và tiết kiệm bộ nhớ hơn (có so sánh kết quả thực nghiệm)

• Đối tượng nghiên cứu: Thuật toán BVCL khai thác dàn các tập phổ biến đóng, cấu trúc vectơ bit động - DBV, cấu trúc superset vectơ bit động DSBV dùng để lưu và truyền thông tin của các tập superset, các kỹ thuật ánh xạ, chỉ mục để tăng tốc độ tìm kiếm cho thuật toán.

Khó khăn và Thách thức

Cho trước CSDL D và ngưỡng minSup do người dùng đặt ra, phải tìm đầy đủ các tập phổ biến đóng là một thách thức không nhỏ về thời gian do độ phức tạp trong việc khai thác là hàm mũ Độ dài của vector bit tăng lên theo số transaction trong CSDL Làm tốn kém nhiều bộ nhớ Cấu trúc bit vector động tiết kiệm khá nhiều bộ nhớ đối với CSDL thưa, tuy nhiên, đối với CSDL đặc, việc tiết kiệm không đáng kể Trên các bộ dữ liệu dùng trong luận văn này, bộ nhớ tiết kiệm hơn 50% so với cấu trúc bit vector tỉnh.

Mục tiêu và phạm vi của luận văn

Mục đích cuối cùng của quá trình khai thác tập phổ biến là khai thác tập luật kết hợp và ứng dụng các kết quả vào trong thực tế.

Theo cách khai thác luật kết hợp truyền thống, việc tìm tất cả các luật kết hợp từ CSDL thõa minSup và minConf gặp nhiều bất lợi khi số tập phổ biến lớn Do đó cần có một phương pháp thích hợp để khai thác với số lượng luật ít hơn nhưng vẫn đảm bảo tích hợp đầy đủ tất cả các luật của phương pháp khai thác truyền thống Một trong những cách tiếp cận đó là khai thác luật thiết yếu nhất, chỉ lưu lại các luật có vế trái tối tiểu và vế phải tối đại (theo quan hệ cha – con)

Mục tiêu của luận văn là tập trung vào nghiên cứu, phân tích ưu điểm và hạn chế các thuật toán khai thác tập phổ biến đóng, tập phổ biến đóng trên Dàn Với mong muốn làm giảm thời gian khai thác luật, sử dụng quan hệ cha – con trên Dàn để giảm chi phí xét quan hệ cha – con và vì vậy làm giảm được thời gian khai thác luật

Qua đó nhận thấy thuật toán BVCL với các cấu trúc dữ liệu DBV, DSBV hiệu quả và mạnh mẻ, phù hợp để nghiên cứu và ứng dụng Đề xuất tích hợp, cải tiến thuật toán gốc để khai thác đồng thời Dàn tập phổ biến đóng và tập sinh, cần thiết cho công việc khai thác tập luật kết hợp sau này Cuối cùng, so sánh kết quả thực nghiệm của thuật toán BVCL cải tiến với thuật toán gốc và thuật toán CharmL, MGCharm trên các CSDL tổng hợp và thực tế.

Đóng góp của luận văn

Đề tài có cải tiến so với thuật toán gốc của tác giả, bằng cách kết hợp, tối ưu việc khai thác đồng thời tập sinh vào bên trong thuật toán gốc Thuật toán cải tiến không nhanh hơn thuật toán gốc về phương diện khai thác dàn các tập phổ biến đóng Tuy nhiên, việc khai thác tập sinh là rất quan trọng trong quá trình khai thác tập luật kết hợp Nếu thuật toán gốc khai thác riêng rẽ dàn tập phổ biến đóng và tập sinh thì thuật toán mà đề tài cải tiến nhanh và hiệu quả hơn rất nhiều, vấn đề so sánh sẽ được đề cập riêng ở phần so sánh đánh giá

CƠ SỞ LÝ THUYẾT

Khái quát bài toán

D: là các giao dịch trong Database

Với một tập các giao dịch T = {t 1, t2 t n } Mỗi giao dịch ti (1 ≤ i ≤ n) được xác định bởi khóa được gọi là Tid

Tidset(X): Một tập các giao dịch chứa tập X

Itemset(Y): Biễu diễn một tập các Items xuất hiện trong các giao dịch của Tidset (Y)

Số giao dịch trong tidset (X) tương ứng với độ hỗ trợ của X được biểu diễn bởi sup (X)

Một Itemset X được gọi là phổ biến nếu Sup(X) ≥ Minsup Độ hỗ trợ (Support) của luật kết hợp X =>Y là tần suất của giao dịch chứa tất cả các items trong cả hai tập X và Y Ví dụ, support của luật X =>Y là 5% có nghĩa là 5% các giao dịch X và Y được mua cùng nhau

Minsup: là độ hỗ trợ nhỏ nhất phải xác định trước khi sinh luật kết hợp

Một tập phổ biến X được gọi là tập phổ biến đóng nếu không có tập nào bao nó có cùng độ phổ biến Hay nói cách khác Không tồn tại tập phổ biến X’, X con X’, mà sup (X) = sup (X’)

Xét X và Y là 2 tập phổ biến đóng

- Y được gọi là bao (frequent closed superset (FCS)) X nếu X ⊂ Y

- Y là bao tối tiểu (minimal closed superset) của X nếu không tồn tại tập phổ biến đóng Z mà X ⊂ Z ⊂ Y

- Tập G được gọi là tập sinh (Generator) của tập đóng X, nếu và chỉ nếu G ⊆ X và Sup(G) = Sup(X)

Nếu Y là bao tối tiểu của tập đóng X thì node Y được xem là con node X, và có 1 cạnh từ X → Y

Một luật kết hợp (AR) được biểu diễn X ⇒ (Y − X): X, Y là 2 tập phổ biến và X ⊂ Y

Khai thác Dàn các tập phổ biến đóng Frequent closed itemset lattice (FCIL) là sắp xếp các Nodes của các tập phổ biến đóng, kết nối các Nodes theo cặp trong Dàn và tạo nên quan hệ Cha – Con Ta cũng đồng thời khai thác các tập sinh tương ứng với các tập phổ biến đóng trong Dàn.

Hướng tiếp cận khai thác tập phổ biến đóng

Một số lượng lớn các công trình nghiên cứu tập trung vào việc phát triển các thuật toán để khai thác các tập phổ biến đóng Hầu hết các kỹ thuật này có thể được phân thành bốn loại tùy thuộc vào chiến lược riêng

- Đầu tiên là chiến lược thử nghiệm và phát triển theo APRIORI-GEN [19] Thủ tục kiểm tra tính đóng của 1 tập hạng mục

- Thứ 2 là sử dụng cấu trúc dữ liệu theo FP-tree [20]

- Thứ 3 là dùng kỹ thuật tìm kiếm lai CHARM [9] là một ví dụ điển hình cho cách tiếp cận này, nó khai thác không chỉ item - space mà còn tid - space

- Thứ 4 là DCI-Closed [21] và LCM [22], khác với ba loại nêu trên Cả hai cách tiếp cận này đều vượt qua vấn đề chi phí kiểm tra để loại bỏ việc phát sinh các bản sao của các tập đóng Chúng duyệt không gian tìm kiếm theo chiều sâu và phát sinh tập phổ biến đóng mới bằng cách mở rộng các tập đóng được khai thác trước đó Hơn nữa, chúng không đòi hỏi bộ nhớ lưu trữ cho các tập đóng đã được phát hiện trước đó LCM [22] áp dụng sự xuất hiện và phiên bản lai của các kỹ thuật diffset [9] đối với tính toán độ phổ biến và tính đóng dựa trên các đặc tính của bộ dữ liệu

Các thuật toán khai thác FCI có thể được chia thành hai loại cơ bản phụ thuộc vào cách biểu diễn cơ sở dữ liệu, horizontal (tid × itemset) và vertical (item × tidset) Quan sát từ các tài liệu hiện có [23] cho thấy rằng các thuật toán sử dụng biểu diễn CSDL theo chiều dọc tốt hơn các phương pháp sử dụng biểu diễn theo chiều ngang

Bảng 2.2 là một biễu diễn dạng mã hóa của Bảng 2.1 trong đó các Item được biễu diễn bằng các chữ cái, và được biễu diễn theo chiều ngang ECLAT [10] Zaki đã giới thiệu cơ sở dữ liệu theo chiều dọc

Bảng 2.1: Cơ sở dữ liệu giao dịch book store

TID Itemset t1 Algorithms, Logic Design, Data Mining, Programming in C,

Networking t2 Logic Design, Compiler, Programming in C, Microprocessor t3 Algorithms, Logic Design, Data Mining, Networking, Programming in C t4 Algorithms, Logic Design, Compiler, Programming in C,

Microprocessor, Networking t5 Algorithms, Logic Design, Compiler, Data Mining, Programming in

C, Microprocessor, Networking t6 Compiler, Data Mining, Microprocessor, Networking, Human

Bảng 2.2: Cơ sở dữ liệu giao dịch của bảng 2.1 được mã hóa

BitTableFI [24] thay thế tidset với bit - vector, nơi mỗi bit tương ứng với một tid

Index-BitTableFI [25] sử dụng biểu diễn bit - vector để bổ sung các tập thừa Tuy nhiên, một lượng đáng kể không gian vẫn bị lãng phí cho một tập phổ biến, bởi vì kích thước của một vector - bit luôn bằng với tổng số các giao dịch

DBV-Miner [6] đề xuất 1 giải pháp sử dụng cấu trúc dữ liệu gọi là Dynamic Bit-

Vector (DBV) Nó xóa những bit 0 bắt đầu trong bit - vector và theo dõi các vị trí khác 0 bắt gặp dầu tiên Do đó, DBV kết hợp với một lookup table, thuận tiện cho quá trình tính toán độ support của tập dữ liệu Lookup table lưu trữ tổng số bit 1 cho mỗi kết hợp của 8-bit trong một byte Nó tính độ Support của 1 tập X bằng cách tính tổng các số 1 cho mỗi byte bi của DBVX:

Bảng 2.3 cho thấy cách biểu diễn cơ sở dữ liệu theo chiều dọc của Bảng 2.1 theo bit vector

Bảng 2.3: Cơ sở dữ liệu giao dịch theo chiều dọc dùng bit vector

DBV - Miner xây dựng một DBV mới bằng cách giao hai DBVs thông qua phép toán AND theo bit Dựa trên phép giao này, quan hệ tập con giữa các DBVs cũng được xác định:

Xét 2 DBVs là: DBV X and DBV Y

DBV X được gọi là tập con của DBV Y nếu: 𝐷𝐵𝑉 𝑋 = 𝐷𝐵𝑉 𝑋 ∩ 𝐷𝐵𝑉 𝑌

DBV X được gọi là bằng DBV Y nếu: 𝐷𝐵𝑉 𝑋 = 𝐷𝐵𝑉 𝑋 ∩ 𝐷𝐵𝑉 𝑌 = 𝐷𝐵𝑉 𝑌 Để tăng tốc độ quá trình khai thác của FCI, DBV - Miner làm giảm không gian tìm kiếm bằng cách loại bỏ việc phát sinh các tập dư thừa Các phát sinh tập dư thừa này được loại bỏ dựa trên các thuộc tính subsume được xác định trong bổ đề 1 và bổ đề 2

Subsume: Tạm gọi là hấp thụ

Bổ đề 1: xét 2 DBVs, DBV X và DBV Y , nếu DBV X ⊆ DBV Y , thì X bị subsumed bởi Y

Bổ đề 2: i Nếu X bị subsumed bởi Y, thì X không phải là 1 tập đóng ii Nếu X bị subsumed bởi Y, và Y bị subsumed bởi X, thì X và Y không phải là tập đóng

Tóm tắt: một tập X dư thừa đối với tập Y, nếu DBVX ⊆ DBVY theo bổ đề 1 Do đó, X và Y được hợp nhất với nhau để xây dựng tập Z mới Hơn nữa, X được coi là một tập không đóng nếu điều kiện của bổ đề 2 (i) được thỏa mãn, cả X và Y đều bị loại bỏ như các tập không đóng theo điều kiện được ghi trong bổ đề 2 (ii)

A sliding window model [26] giới thiệu nhiều cấu trúc dữ liệu để lưu trữ cơ sở dữ liệu giao dịch tốn ít không gian nhất khi khai thác các tập phổ biến đóng

[27] đã đề xuất một cách tiếp cận cải tiến để khai thác các tập phổ biến đóng Nó duy trì một tập tạm thời cho FCI đang được khai thác và cập nhật các thiết lập bất cứ khi nào một giao dịch mới được thêm vào hoặc xóa khỏi cơ sở dữ liệu giao dịch ban đầu Tuy nhiên, tất cả các phương pháp này phát hiện FCIs từ cơ sở dữ liệu có thể được tự động mở rộng hoặc thu nhỏ bất cứ lúc nào

GENCLOSE [5] khai thác các FCI (đồng thời phát sinh) từ CSDL tỉnh thông qua

3 phương thức mở rộng của họ

MMCAR [17] đã thiết kế việc khai thác các FCI ở mức độ phân cấp vào năm

Cách tiếp cận khai thác FCI gần đây

NAFCP [28] đã đề xuất phương pháp dựa trên cấu trúc N-List và cây PPC NList

[29] là một cấu trúc theo chiều dọc có thể được sử dụng hiệu quả trong việc tính toán độ hỗ trợ của các tập phổ biến PPC-tree [29] tương tự như FP - Tree lưu trữ toàn bộ cơ sở dữ liệu trong bộ nhớ bằng cách sử dụng Nodes, mỗi Node lưu trữ thông tin cần thiết của mẫu phổ biến NAFCP xây dựng N-List cho mỗi mẫu phổ biến từ PPC-Tree Tuy nhiên, NAFCP cần phải áp dụng cơ chế kiểm tra Subsume để loại bỏ các tập không đóng.

Hướng tiếp cận khai thác tập sinh (Minimal Generator)

Hiện nay, việc tìm tập sinh của tập phổ biến đóng đều dựa vào thuật toán Apriori Phương pháp thứ nhất được trình bày bởi Bastide và đồng sự, các tác giả đã mở rộng thuật toán Apriori để tìm mG Đầu tiên thuật toán tìm các ứng viên là các mG , sau đó nó tính bao đóng của chúng để tìm tập đóng

Phương pháp thứ hai được trình bày bởi Zaki Đầu tiên, tác giả dùng thuật toán

CHARM để tìm tất cả các tập đóng Sau đó, ứng với mỗi tập đóng tác giả sử dụng phương pháp Apriori để tìm tất cả các mG của nó

Cả hai phương pháp này đều gặp bất lợi khi kích thước của tập phổ biến lớn bởi vì số lượng tập ứng viên cần xét rất lớn

Tiếp theo là thuật toán tìm nhanh tập sinh [2] Nó khắc phục nhược điểm của hai phương pháp trên bằng cách dựa vào thuật toán không sinh ứng viên (CHARM) để sinh tập phổ biến đóng và đồng thời cũng tìm luôn mG của chúng.

Hướng tiếp cận khai thác Dàn các tập phổ biến đóng

Cấu trúc Dàn diễn đạt mối quan hê Cha - Con giữa các FCIs Đối với mỗi cặp Nodes chứa các tập đóng Khai thác thuộc tính này của 1 cấu trúc Dàn, có thể rút ra các luật kết hợp có ý nghĩa từ Dàn trong một thời gian rất ngắn [4] Tiếc rằng, có rất ít công trình nghiên cứu tính toán cấu trúc Dàn của các tập phổ biến đóng cũng như quá trình khai thác các tập đĩng Phương pháp tiếp cận nạve để tính tốn cấu trúc Dàn các

17 tập đóng rất tốn kém vì nó đòi hỏi phải tìm kiếm vét cạn để tìm ra các tập Cha nhỏ nhất cho mỗi FCI, với tổng chi phí O(C 2 ), với C là tập đóng

DCHARM-L [8] khởi xướng cho việc xuất Dàn trong khi khai thác các FCIs ở thời gian chạy Tuy nhiên, nó đòi hỏi phải điều chỉnh lại mối quan hệ được xây dựng trước đó trong các tập đóng sau khi chèn tập đóng mới vào Dàn

DÀN TẬP ĐÓNG [7] đã đưa ra phương pháp để xây dựng FCIL trực tiếp từ danh sách các FCIs trong giai đoạn xử lý sau của phương pháp khai thác FCI Tuy nhiên, hiệu suất tính toán offline này cũng chưa tối ưu Chiến lược này xem như phương pháp khai thác Dàn offline.

Đề xuất cấu trúc dữ liệu

Mục đích của đề tài là khai thác đồng thời FCI và cấu trúc Dàn, phát triển một cấu trúc dữ liệu để:

(1) Loại bỏ việc phát sinh các tập không đóng

(2) Lưu giữ thông tin của bao phổ biến đóng (FCS) ,

(3) Duy trì mối quan hệ cha - con giữa các tập phổ biến đóng

Hơn nữa, cấu trúc dữ liệu được đề xuất cũng đảm bảo truy xuất nhanh, cập nhật và xóa thông tin của FCS cho một tập Trong phần này, giới thiệu Superset Bit-Vector và sau đó mở rộng nó sang dạng nâng cao hơn gọi là Dynamic Superset Bit-Vector (DSBV)

Superset Bit - Vector lưu trữ thông tin cho FCS của 1 tập sử dụng chuỗi bit Trong phương pháp này, mọi FCI được xác định bởi một định danh duy nhất được gọi là closed itemset identifier (cid) Không giống như bit - vector là biểu diễn cho Tidset, mỗi bit của superset bit-vector tương ứng với một cid của một FCI Cho X là một tập hạng mục có một tập các FCS mà các mã cids của nó được liệt kê trong {11, 12, 17, 24}

Hình 2.1: Dynamic superset bit vector

Chú ý rằng vị trí 11, 12, 17 và 21 trong chuỗi bit được set 1 Do đó, superset bit - vector của X được biểu diễn bằng một tập các byte {0, 12, 129}, trong đó mỗi byte được biểu diễn dưới dạng giá trị thập phân

Superset bit - vector có thể chứa nhiều bit 0 nên tốn không gian lưu trữ Do đó, một dạng mở rộng của superset bit-vector được gọi là Dynamic Superset Bit Vector (DSBV) được đề xuất để lưu trữ thông tin FCS với bộ nhớ tối ưu

Cấu trúc của dynamic superset bit vector: typedef struct DBV

{ public: int iNonZeroByte;// vị trí của byte khác 0 đầu tiên

// các byte lưu bit vector bỏ các byte zero đầu và cuối vector bitVec;

DBV()//khởi tạo cho struct

Dynamic Superset Bit Vector (DSBV) bao gồm 2 thành phần, nó được biểu diễn dưới dạng {p, {b1, b2, , bn}} trong đó phần thứ nhất p theo dõi vị trí của byte khác

0 đầu tiên của superset bit-vector, thành phần thứ 2 {b1, b2, , bn} biểu diễn cho một danh sách các byte trong superset bit - vector sau khi loại bỏ các byte zero đầu và cuối Như vậy thông tin FCS của X được thể hiện trong DSBV dưới dạng {1, {12, 129}} (p=1 bởi vì byte thứ 1 khác 0)

DSBV đóng một vai trò quan trọng trong việc xây dựng cấu trúc Dàn các tập phổ biến đóng Trong Dàn chỉ có các minimal closed supersets (bao đóng tối tiểu) có thể là nút con của FCI Khai thác tính chất này của Dàn, chúng ta bắt đầu thiết lập mối quan hệ cha – con giữa các tập đóng theo hướng từ dưới lên Sau đây là các chiến lược tìm kiếm, xóa và cập nhật thông tin FCS của các tập

5.2.1 Tìm FCS từ cấu trúc DSBV nzLSB : non-zero least significant bit ( vị trí bit 1 gần nhất trong byte tính từ phải qua)

Thông tin FCS của 1 tập hạng mục được lấy từ các thuộc tính DSBV của nó Tập của các closed supersets với các Cids tương ứng nhanh chóng được xác định từ DSBV của nó Xem xét DSBV của một tập hạng mục X, d X = {p, {b 1, b 2, , b n }}

- Giả sử vị trí thực của một byte bi được ký hiệu bởi ap và

- nzLSBc: là vị trí bit 1 tương ứng với byte bi

- Sj là cid: Sj = 8 * ap + nzLSBc

B ả ng 2.4 mô t ả quá trình xác đị nh FCS (cid) c ủ a m ộ t t ậ p h ạ ng m ụ c có DSBV {1, {12, 129}} (từ DSBV của tập hạng mục X, ta có thể tìm tập các FCS của X như bên dưới

Bảng 2.4: Tìm cids của FCS của itemset có DSBV: {1, {12, 129}}

Actual position Byte Status nzLSB cid Set of FCS After reset

5.2.2 Tìm minimal FCS từ cấu trúc DSBV

Phương pháp khai thác hiệu quả để trích xuất thông tin FCS tối tiểu từ cấu trúc DSBV Xét 1 FCI là C, DSBV của nó là d C = {p 1, {b 1, b 2, ,b n }} Giả sử tập cids của FCS là S = { s 1, s 2, , s m } của C có được từ dC bằng giải thuật mô tả trong phần 4.2.1 phía trên Với mỗi Si, bộ thông tin của FCS là Ri = {r 1, r 2 , , r m } được lấy từ

DSBVsi Sau đó, lấy S = S – Ri để xóa các tập chung trong cả S và R Do đó, sau quá trình lặp cho tất cả các Ri, S chỉ chứa các cids của minimal closed supersets của C

(Bởi vì 1 tập mà là superset 2 lần thì nó không phải là minimal superset)

Bảng 2.5 minh họa một ví dụ về khai thác minimal FCS từ 1 DSBV d = {1, {134, 129}}

S d = {10, 11, 16, 17, 24} được xác định từ d Sau đó, DSBV d ’= {1, {4, 1}} cho

FCS của cid được lấy từ cột “mapping” của bảng 2.5

Sau khi xác định tập S d’ = {11, 17} từ d’ Thực hiện Sd = Sd - Sd’ Làm tương tự sau khi cập nhật Sd = {10, 16, 24} Lúc này, tập của FCS (S d’ = {24}) cho 1 tập đóng với cid = 16, kết quả cuối cùng Sd = {10, 16} mô tả cho tập các cids chỉ của minimal closed supersets

Bảng 2.5: Khai thác minimal FCS từ cấu trúc DSBV

Iteration DSBV Set of cid of DSBV of Set of FCS Updating of Updating of Mapping

FCS i th FCI i th FCI of i th FCI FCS d i d S d cid i d S d S d = S d − S d d = d d cid DSBV

Lưu ý: cột thứ 4 ( DSBV của FCI thứ i) đã có trong quá trình xác định FCS trong chương trình

5.2.3 Giao 2 DSBVs Để xác định tập các FCS của một tập mới khai thác DSBV cho một tập mới được phát hiện thu được bằng cách giao DSBV của hai FCI Phép giao tập hợp này được thực hiện bằng phép toán AND trên bit liên tục giữa các byte của hai DSBV Đặc tả thuật toán bằng mã giả như sau:

DBV SetHelper::Interset2DBV(DBV* X,DBV* Y)

{ xMax=X->iNonZeroByte;//chỉ số byte cao của X xMin=X->iNonZeroByte - X->bitVec.size()-1;//chỉ số byte thấp của X yMax=Y->iNonZeroByte;//chỉ số byte cao của Y yMin=Y->iNonZeroByte - Y->bitVec.size()-1;//chỉ số byte thấp của Y rMax=min(xMax,yMax);//chỉ số byte cao của kết quả rMin=max(xMin,yMin);//chỉ số byte thấp của kết quả

- if(rMin>rMax) return vector 0;

-xóa byte 0 bên trái; return result;

Cho DSBV X = {8,{2,0,0,1,5,7}} và DSBV Y = {10,{2,3,1,0,0,5}}.hình bên dưới minh họa việc giao 2 DSBV

5.2.4 Cập nhật 1 DSBV Để truyền thông tin FCS mới vào cấu trúc DSBV lên phía trên trong quá trình đệ qui, phải cập nhật DSBV của một tập hạng mục Việc cập nhật này được thực hiện bằng phép toán hội DSBV của hai FCIs Phép hội tập hợp này được thực hiện bằng phép toán OR trên bit liên tục giữa các byte của hai DSBV Đặc tả thuật toán bằng mã giả như sau:

DBV SetHelper::Union2DBV(DBV* X,DBV* Y)

{ xMax=X->iNonZeroByte;//chỉ số byte cao của X xMin=X->iNonZeroByte - X->bitVec.size()-1;//chỉ số byte thấp của X yMax=Y->iNonZeroByte;//chỉ số byte cao của Y yMin=Y->iNonZeroByte - Y->bitVec.size()-1;//chỉ số byte thấp của Y rMax=min(xMax,yMax);//chỉ số byte cao của kết quả rMin=max(xMin,yMin);//chỉ số byte thấp của kết quả

Result = X bitwise OR Y; return result;

Cho DSBV X = {8,{2,0,0,1,5,7}} và DSBV Y = {10,{2,3,1,0,0,5}} Hình bên dưới minh họa việc hội 2 DSBV

Hình 2.3: Hội 2 DSBVs pY= yMin: 5 yMax: 10

ĐỀ XUẤT THUẬT TOÁN KHAI THÁC DÀN CÁC TẬP PHỔ BIẾN ĐÓNG VÀ CẢI TIẾN

Phát biểu bài toán khai thác Dàn các tập phổ biến đóng

Khai thác Dàn các tập phổ biến đóng là đi tìm tất cả các tập phổ biến đóng thõa ngưỡng minsup do người dùng đặt ra từ CSDL giao dịch, thiết lập mối quan hệ cha con của chúng tạo thành cây phân cấp mà các nút là các tập phổ biến đóng vừa nêu

Quá trình này gồm 2 giai đoạn chính:

Giai đoạn 1: Cho cơ sở dữ liệu giao dịch D với ngưỡng minSup làm đầu vào, cơ sở dữ liệu ngang (tid × itemset) được chuyển đổi thành dạng dọc (item x tidset) sau khi loại bỏ các item không phổ biến (có hỗ trợ < minSup) để chuẩn bị trước cho thuật toán Xem

Giai đoạn 2: Cho C đại diện cho tập các tập phổ biến đóng {C1, C2, , Cm} và L đại diện cho Dàn các tập phổ biến đóng, bao gồm một tập các nút {N1, N2, , Nm} Thuật toán của chúng ta liệt kê tất cả các tập phổ biến đóng, mô tả sự phụ thuộc của chúng trong Dàn Định nghĩa 1: Dàn FCIs và tập luật không dư thừa NARs

Cho CSDL D = {t1, t2, , tn} của n giao dịch và {x1, x2, , xm} của m item có ngưỡng hỗ trợ tối thiểu (minSup) và độ tin cậy tối thiểu (minConf) Vấn đề cần là khai thác Dàn các tập phổ biến đóng (FCIL) L = (N,R) và tập các luật không dư thừa là A

Trong đó N = {N1, N2 Ni}, một tập các nút với Ni ∈ N chứa các tập phổ biến đóng

Ci ∈ C (tất cả các tập phổ biến đóng thõa minSup) và:

R = { 𝑅𝑖𝑗 ∶ 𝑁𝑖 → 𝑁𝑗 |𝑁𝑖 , 𝑁𝑗 ∈ N and 𝑁𝑗 = minimal frequent closed superset( 𝑁𝑖 ), 1 ≤ 𝑖, 𝑗 ≤ 𝑙 }

BVCL khai thác tất cả các tập phổ biến đóng C thõa ngưỡng minSup từ một cơ sở dữ liệu D và trong quá trình khai thác tập phổ biến đóng Ci ∈ C, tập các bao đóng tối tiểu được xác định BVCL kết nối mọi FCI với tập các bao đóng tối tiểu của nó để thiết lập mối quan hệ cha – con giữa các nodes của Dàn, theo hướng bottom-up.

Thuật Toán BVCL

Cách tiếp cận của thuật toán là phát hiện ra tất cả các tập phổ biến đóng theo hướng depth first, bằng cách khai thác thông tin tidset và superset Đặc tả thông tin tidset của một tập hạng mục bằng cách sử dụng cấu trúc dynamic bit-vector (DBV) Để lưu trữ thông tin bao đóng (closed superset) của 1 tập, luận văn đề xuất một cấu trúc dữ liệu mới gọi là DSBV Các cấu trúc dữ liệu này được sử dụng để thiết lập mối quan hệ cha - con trên theo hướng bottom - up trong các tập phổ biến đóng của Dàn, cho phép BVCL vượt trội hơn các phương pháp khai thác các tập phổ biến đóng và khai thác Dàn khác

BVCL bắt đầu quá trình khai thác bằng cách xác định tập các hạng mục phổ biến {x1, x2, , xm} Các hạng mục này được kết hợp với nhau dựa trên các thuộc tính subsuming như mô tả trong Chương 2 Trong quá trình kết hợp này, chi phí cho tập con được hạn chế bằng cách duy trì 2 danh sách riêng biệt (subsuming and non-subsuming list) Các danh sách này được định nghĩa như sau: Định nghĩa 2: Subsuming list (SL) and non-subsuming list (nSL):

Cho tập hạng mục X = {x 1, x 2, ,x l }, và một item y

Nếu X được subsumed bởi y thì y được gọi là subsuming item cho X

Ngược lại thì y gọi là non - subsuming với X

Subsuming, non-subsuming items tương ứng được xây dựng với các danh sách là

Xem xét Bảng 2.3 Item “A” được subsumed bởi item “P” theo bổ đề 1

DBV “A" ⊆DBV “P" vì DBV “A" = DBV “A" ∩ DBV “P"

Tương tự, “A” được subsumed bởi item “N” và “L” Vì vậy, subsuming List của A là SL “A" = {“P ”, “N ”, “L ”} Non-subsuming List của A là nSL “A " = {“C ”, “M ”, “D

Cách tiếp cận của luận văn là sắp xếp theo thứ tự tăng dần hạng mục phổ biến dựa trên độ hỗ trợ của chúng Với mỗi hạng mục phổ biến xi ∈ L = { x 1 , x 2 , , x m }, 2 danh sách SLx i = { x’ 1 , x’2 , , x’ p } và nSLx i = { x” 1 , x” 2 , , x” q } được thiết lập

Sau đó xi được sáp nhập với các hạng mục của Sl xi theo bổ đề 2, kết quả là tập đóng Ck

(FCI thứ k của xi) Non-subsuming list nSL Ck của Ck được khởi tạo với non-subsuming list của x i , nSLx i

Bây giờ tập phổ biến đóng Ck bắt đầu gọi đệ quy khai thác tập phổ biến đóng mới là

Ck+1 bằng cách kết hợp Ck với x”j bất kì ∈ nSLCk Quá trình kết hợp theo sau quá trình kiểm tra subsume được lặp lại cho các hạng mục còn lại { x"j+1 , , x"q } của nSLCk và tiếp tục xây dựng các danh sách subsuming và non-subsuming theo cách tương tự Tập

Ck+1 được khai thác gần nhất với danh sách non-subsuming của nó tiếp tục quá trình khai thác các FCI theo cách depth first Do đó, thuật toán xây dựng quá trình kết hợp, tránh việc kiểm tra tập con bị lặp lại như thuật toán DBV-Miner như sau:

SL Ck và nSL Ck đạ i di ệ n cho danh sách subsuming và non- subsuming tương ứ ng c ủ a t ậ p ph ổ bi ến đóng thứ k là Ck Quá trình k ế t h ợ p yêu c ầ u không ki ể m tra t ậ p con (Subset) trong su ố t quá trình phát sinh t ậ p FCI th ứ k+1 là C k+1 t ừ C k và x j ∈ nSL Ck b ấ t kì

Tập phổ biến đóng C k+1 thu được từ việc kết hợp C k với hạng mục x j ∈ nSLCk bất kì, hay C k+1 = C k U x j C k+1 được tính bằng cách lặp lại quá trình kiểm tra subsume với các hạng mục còn lại {x j+1 , x j+2 , , x m } ∈ nSLCk dùng b ổ đề 1 và b ổ đề 2 Vì chỉ có các mục x j ∈ nSL Ck đóng góp xây dựng C k +1 bằng cách mở rộng C k và 𝑥 𝑗 ⊈ 𝐶 𝑘 , nên không cần thực hiện kiểm tra tập con để tránh tạo ra các tập thừa

DBVCk+1 và DSBVCk+1 được xác định từ DBV và DSBV của Ck và xj Tuy nhiên, cần xác định xem Ck+1 có tạo ra tập không đóng nào không sau khi kiểm tra sup(Ck+1) ≥ minSup Tập S = {s1, s2, , sl} là bao đóng của Ck+1 được xác định từ DSBVCk+1 áp dụng các thuật toán thảo luận trong Phần 5.2.1 Nếu độ hỗ trợ của bất kì bao đóng si ∈ S = sup (Ck+1) thì Ck+1 sẽ bị loại bỏ như là tập không đóng Nếu không, quá trình subsuming được bắt đầu để tính toán bao đóng của Ck +1 Trong khi đó, DSBVCk +1 được cập nhật bởi DSBV của các hạng mục từ SLCk +1 Việc đệ qui của các tập đóng trong các nhánh sẽ chấm dứt ngay sau khi danh sách non-subsuming của các hạng mục là rỗng

Trong phương pháp này, mỗi tập đóng Ck +1 truyền thông tin FCS của nó thông qua

DSBVCk +1 ngược lên tập đóng Ck, từ Ck mà nó đã được sinh ra và các tập hạng mục của

SLCk+1 Kỹ thuật này đảm bảo rằng DSBV của một FCI sẽ chứa thông tin FCS hoàn chỉnh của nó sau khi phát sinh tất cả các tập con cháu FCI của nó Vì vậy, chúng ta có phần bổ đề sau đây

Chi ến lượ c d ẫ n xu ấ t depth first và k ỹ thu ậ t k ế t h ợ p nhân b ả n c ậ p nh ậ t C k+1 (t ừ Ck và non - subsuming list) đả m b ả o tính hoàn ch ỉ nh c ủ a thông tin FCS vào trong c ấ u trúc DSBV c ủ a m ộ t t ậ p FCI

Một tập phổ biến đóng C thừa hưởng thông tin (FCS) vào cấu trúc DSBV của nó từ các FCIs Cha (phía trên trong cây đệ qui) Sau đó, C đệ qui phát sinh tất cả con cháu FCIs trong 1 nhánh bằng cách mở rộng nó với các hạng mục của danh sách non-

28 subsuming (nSL C ) Quá trình depth first khai thác các FCIs mới kết thúc ngay khi nSL C rỗng, có nghĩa là FCIs có thể được khai thác thêm từ C Hơn nữa, DSBV của C (DSBV C ) được cập nhật bởi các DSBVs của các FCIs con cháu của nó là một quá trình truyền thông tin FCS dọc theo nhánh Do đó, DSBV C hoàn tất thu thập thông tin FCS ngay khi depth first thu được của tất cả các FCIs con cháu của C chấm dứt

Vì cấu trúc DSBV của mỗi FCI chứa thông tin FCS hoàn chỉnh được nêu trong bổ đề

4, nó có thể được sử dụng hiệu quả trong việc phát hiện các phát sinh tập không đóng

Sau khi depth first phát sinh tất cả con cháu FCIs, một tập đóng đã khởi tạo nhánh, tiếp tục khai thác các tập phát sinh mới bằng cách kết hợp chính nó với các hạng mục non - subsuming còn lại Bổ đề sau đảm bảo quá trình loại bỏ việc phát sinh các tập thừa thông qua thuộc tính DSBV của một Itemset

Việc phát sinh các tập không đóng có thể được loại bỏ trước khi tính toán bao đóng các tập trong BVCL

Cho X là tập phát sinh của tập ứng viên đóng C= X U x j (x j subsumes X) X = C’ U xi, DSBV X = DSBV C’ ∩ DSBV xi (giả sử tập đóng C’ đã khai thác) và DSBV C = DSBV X ∩ DSBV xj Với : x i , x j  nSLC’ (non-subsuminglist of C’ ), j > i Các tập S X = { s’ 1 , s’ 2 , , s’ n } và S C = { s” 1 , s” 2 , , s” m } đại diện thông tin của X và C được xác định từ DSBV X và DSBV C , trong đó S C ⊆ S X vì DSBV C ⊆ DSBV X Nếu vẫn còn 1 bao đóng s”∈ S

C mà sup (s”) = sup (C), thì C sẽ bị loại bỏ như một tập không đóng Tuy nhiên, Nếu C là tập không đóng thì nó có thể được loại bỏ sớm bằng cách loại bỏ phát sinh X của nó trước khi tính toán bao đóng thông qua quá trình lặp subsuming vì s” S C ⊆ S X tức là s” S X và sup (X) = sup (C) = sup (s”)

BVCL tính toán cấu trúc Dàn bằng cách mở rộng cây khai thác FCI Nó xem xét tất cả các tập phổ biến đóng Ci ∈ C của cây theo trật tự ngang trong suốt quá trình xây dựng từ dưới lên của cấu trúc Dàn L Do đó, DSBV của Ci được tiếp tục sử dụng để khai thác bao

Đặc tả và phân tích thuật toán

Input: CSDL giao dịch: DB, minsup

Output: Dàn các FCIs: L Đoạn 1: Mã Giả thuật toán

4 Foreach xi of {x1, x2, …, xm} do

5 Foreach xj {x1, x2, …, xm} với xi ≤ xj do

11 Function BVCL_extend (Ck, {y1, y2, …, ym})

23 If isClosed (DSBVCk+1, supCk+1) then

31 If (end = 0 or CIDCk = 0) then

34 If isSubsumedBy (DBVCk+1, DBVyj) then

38 If isSubsumedBy (DBVyj, DBVCk+1) then

58 If CIDCk ≠ 0 then updateDSBV (DSBVyl, DSBVCk+1);

62 End Đoạn 2: Mã Giả thuật toán

19 Xóa bit thứ bp+1 từ DS.bp

29 DS.bi:= DS.bi ˄ temDS.bj;

60 End Đoạn 3: Mã Giả thuật toán

39 DS1.bi:= DS1.bi  DS2.bj;

Input của thuật toán là cơ sở dữ liệu giao dịch với ngưỡng minsup Tại dòng số 2, các hạng mục phổ biến được xác định bởi hàm findFrequentItems() Mỗi hạng mục phổ biến xi được khởi tạo bằng cách xây dựng bit vector động (DBV) từ tidset Ban đầu, cids là 0 và các DSBV là rỗng cho tất cả các hạng mục phổ biến Các hạng mục phổ biến được sắp xếp theo thứ tự tăng dần của độ hỗ trợ 2 vòng lặp thực hiện việc kết hợp các item theo thứ tự tăng dần của danh sách các hạng mục phổ biến ở dòng 4 – 9 Ở dòng 6, danh sách non - subsuming cho mỗi mục xi được biểu diễn dưới dạng nSLxi = {y1, y2, , ym} được xây dựng Sau đó, hàm BVCL_Extend () được gọi với xi và nSLxi của nó để bắt đầu quá trình khai thác các tập phổ biến đóng theo cách depth first tại dòng số 8

BVCL_Extend () lấy hai đối số (1) Một tập phổ biến hoặc 1 tập phổ biến đóng Ck (2) danh sách non - subsuming nSLCk của nó Nó tính tập phổ biến đóng mới Ck+1 đệ quy bằng cách nối Ck với các hạng mục của danh sách non - subsuming nSLCk của nó cho đến khi danh sách này rỗng Để khai thác một tập đóng Ck +1, ở dòng 18 DBV và DSBV của nó được lấy từ việc giao các DBV của tập đóng Ck và mục yl ở dòng tiếp theo Nếu sup(Ck+1) ≥ minsup dựa trên thuộc tính DBV của nó ở dòng 20-21, hàm isClosed () được gọi để kiểm tra xem nó có sản sinh các tập hợp thừa hay tập đóng bị trùng lắp Hàm isClosed () thực hiện nhiệm vụ này thông qua việc sử dụng DSBV thu được từ việc giao các DSBVs của Ck và yl tại dòng 22 Dòng 26 - 27 gán cid mới cho Ck +1 và DSBV của mục yl được cập nhật với giá trị cid mới được gán này sử dụng hàm setBit () Để tính Ck+1 vòng lặp while (dòng 33–46) lặp cho các mục còn lại của danh sách non - subsuming của Ck (là nSLCk) Do đó, Ck+1 được sáp nhập với các hạng mục của nSLCk ở dòng 34 Danh sách subsuming và non - subsuming của Ck+1 cũng được tính trong quá trình subsuming tại dòng 36 và dòng 43 Danh nSLCk có thể xóa bớt dựa trên các thuộc tính khai báo như đã nêu trong bổ đề 2 Ở dòng số 38, BVCL_Extend () được gọi lại để tính các FCIs mới từ Ck +1 tại dòng 53 Ở cuối của việc khai thác các FCIs bằng cách duyệt chiều sâu trước, hàm InsertIntoLattice () được gọi để liên kết tập đóng với bao đóng tối tiểu của nó trong Dàn ở dòng số 54

Trong đoạn 2, dòng 2-10 mô tả hàm InsertIntoLattice () để tạo lập mối quan hệ cha – con trong cấu trúc Dàn Ở dòng 2, một node được khởi tạo với tập phổ biến đóng C Sau đó, hàm mineMinimalDSBV() dùng DSBV của C làm input mineMinimalDSBV() chạy vòng lặp qua tất cả các byte của DSBV của C là DS từ dòng 17-37, mỗi byte nó xác định các cid từ các bit khác 0 ở dòng 22 và 23 Nó gán cho các DSBVs (temDS) từ bảng mapDSBV (cids) {cid làm input} ở dòng 24 compRange () được gọi để tính range của các byte giữa DS và temDS ở dòng 25 Những byte (thuộc range) của DS được update sau khi giao với not (bytes của temDS) dòng 26 -31 Ở cuối của mineMinimalDSBV (), các output được cập nhật DSBV của C (DS) chỉ chứa thông tin về minimal closed supersets Ở dòng 5 của đoạn 2, hàm FindFCS () thực hiện cập nhật DSBV của C (mDSBV) để tìm ra tập các cids của minimal closed supersets FindFCS () tìm byte khác 0 của DSBV Vòng lặp for ở dòng 6 - 10 liên kết C với các si trong Dàn con Hàm insertIntoLattice () được gọi cho mỗi tập đóng theo thứ tự depth first để xây dựng cấu trúc dàn các tập đóng

Trong đoạn 1 dòng 55-58 bảo đảm việc truyền thông tin FCS giữa các tập đóng đã khai thác Vòng lặp for ở dòng 55-57 cập nhật các DSBV của mỗi wi của SLCk+1 sử dụng hàm updateDSBV() Trong đoạn 3 dòng 33-49 mô tả hàm updateDSBV(), hàm này nhận

2 DSBVs làm input, DSBV(DS1) được update bởi DSBV(DS2) Hàm compRange() được gọi để tính range của các bytes bắt đầu từ cùng vị trí của hai DSBVs Các bytes của DS1 được update ở dòng 38-41 Các byte còn lại của DS2 được kết hợp vào DS1 được thể hiện ở dòng 42-48 ở dòng 4-8 đoạn 1, cuối vòng lặp for, thuật toán BVCL kết thúc sau khi khai thác tất các các FCIs và thiết lập các mối quan hệ của chúng trong Dàn

Cải tiến thuật toán gốc

Tập đóng và tập sinh (generator) của chúng đều đóng vai trò hết sức quan trọng trong việc khai tác tập phổ biến và tập luật kết hợp Trong phần này, luận văn trình bày một hướng tiếp cận để khai thác đồng thời tập sinh trong khi khai thác Dàn các tập phổ biến đóng đã trình bày phía trên

Cho quan hệ hai ngôi δ  I  T chứa CSDL cần khai thác Đặt: X  I và Y  T Với

P ( S ) gồm tất cả các tập con của S Ta định nghĩa hai ánh xạ giữa P ( I ) và P ( T ) được gọi là kết nối Galois như sau: a t : P(I ) P(T), t(X ) = yT | x X, x y b i : P(T) P(I ), i(Y) = x I | y Y, x y

4.1.2 Định nghĩa toán tử đóng

 Ánh xạ (1): t(X) lấy tất cả tid của giao tác có chứa tập hạng mục X

 Ánh xạ (2): i(Y) lấy tất cả item tồn tại trong tất cả giao tác Y

4.1.3 Các tính chất của IT-pair

Kí hiệu itemset X và tập các giao dịch tương ứng với nó t(X) là: X x T (X ) và được gọi là IT-pair

Cho Xi x T (Xi) và Xj x T (Xj) là hai IT-pair.Ta có 4 tính chất sau:

1 Nếu T (Xi) = T (Xj) thì c (Xi) = c (Xj) = c (Xi U Xj)

2 Nếu T (Xi)  T (Xj) thì c (Xi) ≠ c (Xj) nhưng c (Xi) = c (Xi U Xj)

3 Nếu T (Xi)  T (Xj) thì c (Xi) ≠ c (Xj) nhưng c (Xj) = c (Xi U Xj)

T(Xi) ⊉ T(Xj) thì c (Xi) ≠ c (Xj) ≠ c (Xi U Xj)

Cho X là tập đóng Ta nói itemset X ' là một generator của X khi và chỉ khi:

Gọi G(X) là tập các generator của X Ta nói rằng X’ ∈ G(X) là một mG nếu nó không có tập con trong G(X) Đặt G min (X) là tập tất cả các mG của X Theo định nghĩa, G min (X) ≠

∅ vì nếu nó không có generator hoàn toàn thì chính X là mG

4.1.5 Một số nhận xét về mG

1 mG của 1-itemset là chính nó

2 Trong quá trình áp dụng thuật toán tìm tập phổ biến đóng, nếu thỏa tính chất 1 thì: mG (Xi U Xj) = mG (X i) + mG (X j)

3 Nếu thỏa tính chất 2 thì mG (Xi U Xj) = mG (X i)

4 Nếu thỏa tính chất 3 thì mG (Xi U Xj) = mG (X j)

5 Nếu thỏa tính chất 4 thì mG (Xi U Xj) = U [ mG (X i), mG (X j)]

{ if SL Ck+1 rỗng then

MG Ck+1 = ComputeMG(Ck,pI); else khởi tạo danh sách pMG làm input for each p in SL Ck+ 1 pMG < p

CreateMG_Ck1(Ck1,pMG); end

//pMG là con trỏ đến danh sách các phần tử làm Input cho việc tính

{ khởi tạo danh sách pExtend để gọi đệ qui for each pMG do

-khởi tạo phần tử Uni cho danh sách pExtend

-DBVUni = DBV pMGi ∩ DBV pMGj (với j > i)

-ItemsetUni = Itemsetp MGi U Itemset pMGj (với j > i)

-listMGUni = ComputeMG(pMGi,pMGj);(với j > i)

} if pExtend.size == 1 then listMG Ck1

Ngày đăng: 04/12/2022, 09:46

HÌNH ẢNH LIÊN QUAN

Bảng 2.1: Cơ sở dữ liệu giao dịch book store. - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Bảng 2.1 Cơ sở dữ liệu giao dịch book store (Trang 24)
Bảng 2.2 là một biễu diễn dạng mã hĩa của Bảng 2.1 trong đĩ các Item được biễu diễn bằng các chữ cái, và được biễu diễn theo chiều ngang - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Bảng 2.2 là một biễu diễn dạng mã hĩa của Bảng 2.1 trong đĩ các Item được biễu diễn bằng các chữ cái, và được biễu diễn theo chiều ngang (Trang 24)
Bảng 2.3 cho thấy cách biểu diễn cơ sở dữ liệu theo chiều dọc của Bảng 2.1 theo bit vector - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Bảng 2.3 cho thấy cách biểu diễn cơ sở dữ liệu theo chiều dọc của Bảng 2.1 theo bit vector (Trang 25)
Hình 2.1: Dynamic superset bit vector - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Hình 2.1 Dynamic superset bit vector (Trang 29)
Bảng 2.4: Tìm cids của FCS của itemset cĩ DSBV: {1, {12, 129}} - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Bảng 2.4 Tìm cids của FCS của itemset cĩ DSBV: {1, {12, 129}} (Trang 31)
Bảng 2.5: Khai thác minimal FCS từ cấu trúc DSBV - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Bảng 2.5 Khai thác minimal FCS từ cấu trúc DSBV (Trang 32)
5.2.3 Giao 2 DSBVs - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
5.2.3 Giao 2 DSBVs (Trang 32)
Cho DSBV X= {8,{2,0,0,1,5,7}} và DSBV Y= {10,{2,3,1,0,0,5}}.hình bên dưới minh họa việc giao 2 DSBV - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
ho DSBV X= {8,{2,0,0,1,5,7}} và DSBV Y= {10,{2,3,1,0,0,5}}.hình bên dưới minh họa việc giao 2 DSBV (Trang 33)
Cho DSBV X= {8,{2,0,0,1,5,7}} và DSBV Y= {10,{2,3,1,0,0,5}}.Hình bên dưới minh họa việc hội 2 DSBV - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
ho DSBV X= {8,{2,0,0,1,5,7}} và DSBV Y= {10,{2,3,1,0,0,5}}.Hình bên dưới minh họa việc hội 2 DSBV (Trang 34)
Hình 3.1: Lưu đồ thuật tốn 2.2 Các bước chính của thuật tốn  - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Hình 3.1 Lưu đồ thuật tốn 2.2 Các bước chính của thuật tốn (Trang 42)
Hình 3.2: Cây khai thác FCIs - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Hình 3.2 Cây khai thác FCIs (Trang 44)
Hình 3.3: Khai thác Dàn FCIs 3.  Đặc tả và phân tích thuật tốn  - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Hình 3.3 Khai thác Dàn FCIs 3. Đặc tả và phân tích thuật tốn (Trang 47)
Bảng 3.1: Bộ dữ liệu chess - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Bảng 3.1 Bộ dữ liệu chess (Trang 58)
Hình 3.5: biểu đồ so sánh bộ nhớ chiếm dụng của bộ dữ liệu Chess - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Hình 3.5 biểu đồ so sánh bộ nhớ chiếm dụng của bộ dữ liệu Chess (Trang 59)
Hình 3.4: biểu đồ so sánh thời gian thực thi của bộ dữ liệu Chess - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Hình 3.4 biểu đồ so sánh thời gian thực thi của bộ dữ liệu Chess (Trang 59)
Bảng 3.3: Bộ dữ liệu Mushroom - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Bảng 3.3 Bộ dữ liệu Mushroom (Trang 60)
Bảng 3.4: Kết quả thực nghiệm thu được với bộ dữ liệu Mushroom - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Bảng 3.4 Kết quả thực nghiệm thu được với bộ dữ liệu Mushroom (Trang 60)
Hình 3.7: Biểu đồ so sánh bộ nhớ chiếm dụng của bộ dữ liệu Mushroom - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Hình 3.7 Biểu đồ so sánh bộ nhớ chiếm dụng của bộ dữ liệu Mushroom (Trang 61)
Hình 3.6: Biểu đồ so sánh thời gian thực thi của bộ dữ liệu Mushroom - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Hình 3.6 Biểu đồ so sánh thời gian thực thi của bộ dữ liệu Mushroom (Trang 61)
Bảng 3.6: Kết quả thực nghiệm thu được với bộ dữ liệu Pumsb - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Bảng 3.6 Kết quả thực nghiệm thu được với bộ dữ liệu Pumsb (Trang 62)
Bảng 3.5: Bộ dữ liệu Pumsb - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Bảng 3.5 Bộ dữ liệu Pumsb (Trang 62)
Hình 3.9: Biểu đồ so sánh bộ nhớ chiếm dụng của bộ dữ liệu Pumsb - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Hình 3.9 Biểu đồ so sánh bộ nhớ chiếm dụng của bộ dữ liệu Pumsb (Trang 63)
Tương tự vớ i2 bộ dữ liệu trên, hình 3.8 và hình 3.9 cho thấy sự vượt trội về cả tốc độ thực thi và bộ nhớ chiếm dụng của thuật tốn BVCL và BVCL cải tiến - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
ng tự vớ i2 bộ dữ liệu trên, hình 3.8 và hình 3.9 cho thấy sự vượt trội về cả tốc độ thực thi và bộ nhớ chiếm dụng của thuật tốn BVCL và BVCL cải tiến (Trang 63)
Bảng 3.8: Kết quả thực nghiệm thu được với bộ dữ liệu Retail - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Bảng 3.8 Kết quả thực nghiệm thu được với bộ dữ liệu Retail (Trang 64)
Hình 3.11: Biểu đồ so sánh bộ nhớ chiếm dụng của bộ dữ liệu Retail - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Hình 3.11 Biểu đồ so sánh bộ nhớ chiếm dụng của bộ dữ liệu Retail (Trang 65)
Bảng 3.9: Bộ dữ liệu T10I4D100K - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Bảng 3.9 Bộ dữ liệu T10I4D100K (Trang 65)
Hình 3.12: Biểu đồ so sánh bộ nhớ chiếm dụng của bộ dữ liệu T10I4D100K - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Hình 3.12 Biểu đồ so sánh bộ nhớ chiếm dụng của bộ dữ liệu T10I4D100K (Trang 66)
Hình 3.11: Biểu đồ so sánh thời gian thực thi của bộ dữ liệu T10I4D100K - (Luận văn thạc sĩ) KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG PHƯƠNG PHÁP DSBV
Hình 3.11 Biểu đồ so sánh thời gian thực thi của bộ dữ liệu T10I4D100K (Trang 66)

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN