Giá trị support của mỗi tập phần tử
Ta sử dụng các thống kê độc lập cho việc ước lượng giá trị support của mỗi tập phần tử. Giả sử rằng một tập ứng cử X+Y là một k mở rộng của tập biên X và với Y= I1I2I3...Ik, giả thiết rằng tập X xuất hiện trong x
tuple. Ta biết giá trị của x do X đã được tính trong các lần kiểm tra trước. Giả sử X+Y được xem xét như một tập ứng cử trong lần đầu tiên sau khi c tuple chứa X đã được xử lý trong lần kiểm tra hiện tại. Tần suất xuất hiện phần tử Ij trong cơ sở dữ liệu được biểu thị dưới dạng f( Ij ), giá trị support mong đợiS cho tập phần tử X+Y được cho bởi:
S = f(I1)× f(I2)× f(I3)×……..× f( Ik)× (x – c)/dbsize
Để ý rằng (x – c)/dbsize là giá trị support thực tế của X trong phần còn lại của cơ sở dữ liệu. Với các thống kê độc lập , giá trị support mong đợi của X+Y là sự kết hợp của giá trị support của X và các tần số xuất hiện của các phần tử của Y. NếuS nhỏ hơn minsupport thì ta nói rằng X+Y là tập phần tử nhỏ; nếu không đó là tập phần tử lớn.
Thủ tục sinh các tập ứng cử
Một tập phần tử không có trong bất cứ tuple nào của cơ sở dữ liệu sẽ không thể là một tập ứng cử mà ta có thể xem xét. Mỗi lần ta sẽ đọc một tuple từ cơ sở dữ liệu và kiểm tra xem tuple đó có chứa những tập biên nào. Các tập ứng cử được sinh từ các tập biên này bằng cách mở rộng đệ quy với các phần tử hiện tại khác trong tuple . Một tập phần tử được cho là nhỏ sẽ không được mở rộng. Để không tìm các cách xây dựng khác nhau của cùng một tập phần tử, các phần tử được sắp xếp lại và một tập phần tử X chỉ được thử mở rộng bằng các phần tử đứng sau hơn là bằng tất cả các phần tử khác trong X:
{ ---Thủ tục mở rộng một tập phần tử biên ---}
procedure Mở rộng(X : tập phần tử, t : mức phủ )
begin
let phần tử Ij thoả mãn ∀Ii∈ X, Ij ≥ Ii ;
forall các phần tử Ik trong tuple t với Ik>Ij do begin Đưa ra( XIk ) ;
Nguyễn Tiến Thành – Công nghệ phần mềm K44 42
Kỹ thuật khai phá dữ liệu và ứng dụng xây dựng cơ sở tri thức
if ( XIk ) được cho là lớn then
Mở rộng (XIk , t ) ; End
End
Ví dụ : lấy I = { A, B, C, D, E, F } và giả sử rằng các phần tử được sắp xếp theo bảng chữ cái. Giả sử tập biên chỉ chứa duy nhất một tập phần tử, AB. Với tuple t = ABCDF, ta có các tập ứng cử sau:
ABC được cho là lớn : Tiếp tục mở rộng
ABCD được cho là nhỏ : Không mở rộng
ABCF được cho là lớn : Không thể mở rộng
ABD được cho là nhỏ : Không mở rộng
ABF được cho là lớn : Không thể mở rộng
Việc mở rộng tập ABCDF không được xem xét bởi vì ABCD đã là tập phần tử nhỏ. Tương tự như vậy, ABDF đã không được xem xét bởi vì ABD đã là tập phần tử nhỏ . Các tập phần tử ABCF và ABF mặc dù là các tập lớn nhưng cũng không thể mở rộng bởi vì không có phần tử nào trong t lớn hơn F. Việc mở rộng ABCE và ABE không được xem xét vì phần tử E không thuộc t.