2. 2. 5. 1. Giới thiệu
Đề tài đề xuất một phương pháp phát sinh luật kết hợp dựa trên tập luật mẫu. Dưới đây là một số khái niệm và thuật toán:
Gọi I = { i1, i2, …, in }: Tập n thuộc tính;
VT, VP I: Itemset: Tập các item của vế trái (VT), tập các item của vế phải (VP);
nVT, nVP N*: Số item của vế trái, số item của vế phải; Gọi Rk: Là tập luật mẫu có chiều dài vế trái là k, k ≥1;
Luật mẫu có chiều dài k-TRk: là luật có dạng (VT, VP, k) và được hiểu là: VT VP có chiều dài vế trái là k; trong đó: VTVP = Ø, VT ≠ Ø, VP ≠ Ø.
Phát sinh tập luật mẫu TRSk: Tập luật mẫu TRSk: Là tập các TRk. Để phát sinh tập luật mẫu TRSk ta phát sinh tập các thuộc tính vế trái có chiều dài k trước. Việc phát sinh tập các thuộc tính vế trái có chiều dài k được dựa trên tổ hợp chập k của n phần tử với 1≤ k ≤ n-1. VTk = Cnk 1≤ k ≤ n-1. Các thuộc tính vế phải = tập thuộc tính ban đầu trừ đi tập các thuộc tính vế trái.
Thuật toán phát sinh tập các thuộc tính vế trái: VTk = Ø
For k =1 to n-1
VTk = phat_sinh_to_hop (n, k) End for
Trong đó: thủ tục phat_sinh_to_hop (n, k): sẽ phát sinh ra tập các phần tử có chiều dài k trong tập n phần tử.
Thuật toán phát sinh tập luật mẫu Rk như sau: D= Tập các thuộc tính ban đầu
TRSk = Ø
For each phan_tu in VTk
nVT = len (phan_tu) VP = D\{ phan_tu }
TRSk = TRSk{VT, VP, nVT} End for
2. 2. 5. 2. Ví dụ 1
Với n = 2, D = {1, 2}. Kết quả phát sinh tập thuộc tính vế trái có chiều dài 1: VT1= {{1}, {2}}; Và kết quả phát sinh tập luật mẫu tương ứng (có chiều dài 1): TRS1 (tập luật mẫu)
TRS1 = {
{{1}, {2}, 1}, // {1} {2} có chiều dài vế trái là 1 {{2}, {1}, 1}
}
Ví dụ 2: Với n = 3, D = {1, 2, 3}. Thì kết quả phát sinh tập thuộc tính vế trái có chiều dài 1, và 2 như sau:
VT1= {{1}, {2}, {3}} VT2 = {
{1, 2}, {1, 3},
{2, 3} } } }
Và kết quả phát sinh tập luật mẫu tương ứng sẽ là: TRS1 = {
{{1}, {2, 3}, 1}, // {1} {2, 3} có chiều dài vế trái là 1 {{2}, {1, 3}, 1},
{{3}, {1, 2}, 1} }
TRS2 = {
{{1, 2}, {3}, 2}, // {1, 2} 3 có chiều dài vế trái là 2 {{1, 3}, {2}, 2},
{{2, 3}, {1}, 2} }
Sau khi đã tìm được tập các luật mẫu có chiều dài k. Bước tiếp theo là phát sinh luật kết hợp dựa trên tập luật mẫu và các tập phổ biến tìm được. Thuật toán phát sinh luật kết hợp như sau:
2. 2. 5. 3. Thuật toán
Thuật toán được phát biểu như sau:
Max_len_of_rule = {frequent k-itemsets} for (k = 2; k<= Max_len_of_rule; k++) do TRSk = generate_template_rule_set (k) for all subset t Fk do
VT = generate_subset (t) sp_LHS = find_sp (VT) conf = t. sp/sp_LHS if conf (t) ≥ minconf then rk = replace_Left (TRk, VT) rk = replace_Right (TRk, t\VT)
Rk = Rk{rk, sp, conf} end if end for end for Answer = k{Rk} Trong đó:
Max_len_of_rule: Chiều dài tối đa của các tập phổ biến TRSk: Tập luật mẫu có chiều dài k
TRk: Luật mẫu có chiều dài k
Thủ tục con generate_template_rule_set (k): Phát sinh tập các luật mẫu có chiều dài thuộc tính vế trái là k.
Thủ tục generate_subset (t): Phát sinh các tập con và t Thủ tục find_sp (x): Tìm độ hỗ trợ của tập x
Thủ tục replace_Left (TRk, x): Thay thế tập thuộc tính vế trái của luật mẫu TRk thành tập thuộc tính x
Thủ tục replace_Right (TRk, x): Thay thế tập thuộc tính vế phải của luật mẫu TRk thành tập thuộc tính x
Ví dụ: Ta có tập phổ biến: {A, B} n = 2. support (A) =2, support (B) =3, minconf=50%, D = 4, support (A, B) = 2. Khi đó, tiến trình tìm và phát sinh luật kết hợp như sau:
Bước 1: Phát sinh tập luật mẫu với n = 2 TRS1 = {
{{1}, {2}, 1}, // {1} {2} có chiều dài vế trái là 1 {{2}, {1}, 1}
}
Bước 2: Tìm và phát sinh luật kết hợp dựa trên tập luật mẫu TRS1
Tập phổ biến F2 = { (A, B), 2}) t = {AB}:
VT t VT = A Sp (A) =2
Conf = sp (AB)/sp (A) = 2/2 =1 > 0. 5
rk = replace_Left ({{1}, {2}, 1}, {A}) = {{A}, {2}, 1} rk = replace_Right ({{A}, {2}, 1}, {B}) = {{A}, {B}, 1} Rk = Rk {rk, sp, conf} = {{A}, {B}, 1}, 2, 1}
VT t VT= B Sp (B) =2
Conf = sp (AB)/sp (A) = 2/3 = 0. 67 > 0. 5
rk = replace_Left ({{1}, {2}, 1}, {B}) = {{B}, {2}, 1} rk = replace_Right ({{B}, {2}, 1}, {A}) = {{B}, {A}, 1} Rk = Rk {rk, sp, conf} = {
{{A}, {B}, 1}, 2, 1}, {{B}, {A}, 1}, 2, 0. 67} }
Tóm lại, tập luật thỏa điều kiện là: Rk = {
{{A}, {B}, 1}, 2, 1}, {{B}, {A}, 1}, 2, 0. 67} }