Tối đa và đóng thường xuyên - Bao gồm câu trả lời


10

My  dataset:
1:A,B,C,E
2:A,C,D,E
3:     B,C,E
4:A,C,D,E
5:    C,D,E
6:    A,D,E

Tôi muốn tìm hiểu các bộ mục thường xuyên tối đa và các bộ mục thường xuyên đóng .

  • Bộ vật phẩm thường xuyên là tối đa nếu nó không có bất kỳ supersets thường xuyên nào.XF
  • Bộ vật phẩm thường xuyên X ∈ F được đóng nếu nó không có siêu bộ có cùng tần số

Vì vậy, tôi đếm sự xuất hiện của từng bộ mục.

{A} = 4 ;  {B} = 2  ; {C} = 5  ; {D} = 4  ; {E} = 6

{A,B} = 1; {A,C} = 3; {A,D} = 3; {A,E} = 4; {B,C} = 2; 
{B,D} = 0; {B,E} = 2; {C,D} = 3; {C,E} = 5; {D,E} = 3

{A,B,C} = 1; {A,B,D} = 0; {A,B,E} = 1; {A,C,D} = 2; {A,C,E} = 3; 
{A,D,E} = 3; {B,C,D} = 0; {B,C,E} = 2; {C,D,E} = 3

{A,B,C,D} = 0; {A,B,C,E} = 1; {B,C,D,E} = 0

Min_Support đặt thành // Rất quan trọng. Cảm ơn steffen đã nhắc nhở về điều đó.50

tối đa = không?{A,B,C,E}

đóng = không?{A,B,C,D} and {B,C,D,E}

Câu trả lời:


5

Tôi tìm thấy một định nghĩa hơi mở rộng trong nguồn này (bao gồm một lời giải thích tốt). Đây là một nguồn đáng tin cậy hơn (đã xuất bản): CHARM: Một thuật toán hiệu quả để khai thác vật phẩm kín của Mohammed J. Zaki và Ching-jui Hsiao .

Theo nguồn này:

  • Một bộ dữ liệu được đóng lại nếu không có bộ thay thế ngay lập tức của nó có hỗ trợ tương tự như bộ dữ liệu
  • Một vật phẩm là tối đa thường xuyên nếu không có superset ngay lập tức của nó là thường xuyên


Một số nhận xét:

  • Cần đặt một min_support (hỗ trợ = số lượng bộ vật phẩm chứa tập hợp con quan tâm chia cho số lượng tất cả các mục) để xác định mục nào là thường xuyên . Một bộ dữ liệu là thường xuyên nếu hỗ trợ của nó> = min_support.
  • Liên quan đến thuật toán, chỉ các mục có min_support được xem xét khi một người cố gắng tìm các mục thường xuyên và đóng tối đa.
  • Khía cạnh quan trọng trong định nghĩa của đóng là, không quan trọng nếu một superset ngay lập tức tồn tại với nhiều hỗ trợ hơn, chỉ các superset ngay lập tức có cùng một hỗ trợ mới có vấn đề.
  • tối đa thường xuyên => đóng => thường xuyên, nhưng không phải ngược lại.

Áp dụng cho ví dụ của OP

Ghi chú:

  • Không kiểm tra số lượng hỗ trợ
  • Giả sử min_support = 0,5. Điều này được thực hiện nếu min_support_count> = 3
{A} = 4; không bị đóng do {A, E}
{B} = 2; không thường xuyên => bỏ qua
{C} = 5; không bị đóng do {C, E}
{D} = 4; không bị đóng do {D, E}, nhưng không tối đa do ví dụ {A, D}
{E} = 6; đã đóng, nhưng không tối đa do ví dụ {D, E}

{A, B} = 1; không thường xuyên => bỏ qua
{A, C} = 3; không bị đóng do {A, C, E}
{A, D} = 3; không bị đóng do {A, D, E}
{A, E} = 4; đã đóng, nhưng không tối đa do {A, D, E}
{B, C} = 2; không thường xuyên => bỏ qua
{B, D} = 0; không thường xuyên => bỏ qua
{B, E} = 2; không thường xuyên => bỏ qua
{C, D} = 3; không bị đóng do {C, D, E}
{C, E} = 5; đã đóng, nhưng không tối đa do {C, D, E}
{D, E} = 4; đã đóng, nhưng không tối đa do {A, D, E}

{A, B, C} = 1; không thường xuyên => bỏ qua
{A, B, D} = 0; không thường xuyên => bỏ qua
{A, B, E} = 1; không thường xuyên => bỏ qua
{A, C, D} = 2; không thường xuyên => bỏ qua
{A, C, E} = 3; tối đa thường xuyên
{A, D, E} = 3; tối đa thường xuyên
{B, C, D} = 0; không thường xuyên => bỏ qua
{B, C, E} = 2; không thường xuyên => bỏ qua
{C, D, E} = 3; tối đa thường xuyên

{A, B, C, D} = 0; không thường xuyên => bỏ qua
{A, B, C, E} = 1; không thường xuyên => bỏ qua
{B, C, D, E} = 0; không thường xuyên => bỏ qua

Liên kết nguồn bị hỏng, chỉ cho bạn biết. Và vâng, min_support rất quan trọng, tôi đang sử dụng .50
Mike John

1
Xin lỗi vì điều đó, đã sửa.
steffen

1
đã thay đổi min_support = 0,5 <=> min_support_count = 3 và thay đổi ứng dụng thành ví dụ tương ứng.
steffen

Sử dụng APRIORI và bạn có thể tiết kiệm rất nhiều bộ đếm và xây dựng các mục ...
Có QUIT - Anony-Mousse

@ Anony-Mousse Tôi biết APRIORI ... Tôi đã xem qua các mục thủ công để giải thích khái niệm về các mục thường xuyên đóng và tối đa càng chi tiết càng tốt, vì đây là nguồn gốc của sự nhầm lẫn của OP (IMHO).
steffen

1

Bạn có thể muốn đọc lên thuật toán APRIORI. Nó tránh các vật phẩm không cần thiết bằng cách cắt tỉa thông minh.

{A} = 4 ;  {B} = 2  ; {C} = 5  ; {D} = 4  ; {E} = 6

B không thường xuyên, loại bỏ.

Xây dựng và đếm hai vật phẩm (chưa có phép thuật, ngoại trừ việc Bđã hết)

{A,C} = 3; {A,D} = 3; {A,E} = 4; 
{C,D} = 3; {C,E} = 5; {D,E} = 3

Tất cả những điều này là thường xuyên (lưu ý rằng tất cả những điều Bkhông thể thường xuyên!)

Bây giờ sử dụng quy tắc tiền tố. CHỈ kết hợp các mục bắt đầu với cùng một mục n-1. Xóa tất cả, nơi mà bất kỳ tập hợp con không thường xuyên. Đếm các mục còn lại.

{A,C,D} = 2; {A,C,E} = 3; {A,D,E} = 3; 
{C,D,E} = 3

Lưu ý rằng {A,C,D}không thường xuyên. Vì không có tiền tố được chia sẻ, không thể có một mục thường xuyên lớn hơn!

Để ý xem tôi đã làm ít hơn bao nhiêu!

Đối với các mục tối đa / đóng, kiểm tra các tập hợp con / supersets.

Lưu ý rằng ví dụ {E}=6, và {A,E}=4. {E}là một tập hợp con, nhưng có hỗ trợ cao hơn, tức là nó được đóng nhưng không tối đa. {A}là không, vì nó không có hỗ trợ cao hơn {A,E}, tức là nó là dư thừa .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.