Trong phân tích giỏ hàng (market basket analysis), với luật kết hợp A⇒B (khách mua A thì có xu hướng mua thêm B), các chỉ số quan trọng là:
Support(A)=m#{giao dịch chứa A},Support(A,B)=m#{giao dịch chứa cả A vaˋ B} Confidence(A⇒B)=Support(A)Support(A,B),Lift(A⇒B)=Support(B)Confidence(A⇒B)
trong đó m là tổng số giao dịch. Quy ước: nếu Support(A)=0 thì Confidence=0; nếu Support(B)=0 thì Lift=0; nếu m=0 (không có giao dịch nào) thì mọi Support=0.
Cho m giao dịch (mỗi giao dịch là một tập hợp mặt hàng) và k luật ứng viên dạng A⇒B. Với mỗi luật, tính Support(A,B), Confidence, Lift. Sau đó xác định luật có Lift lớn nhất; nếu nhiều luật cùng Lift lớn nhất, chọn luật xuất hiện trước trong danh sách nhập vào (chỉ số nhỏ hơn).
Dòng 1: số nguyên m (0≤m≤1000) — số giao dịch. m dòng tiếp theo, mỗi dòng mô tả một giao dịch theo định dạng: số nguyên c (số mặt hàng trong giao dịch, c có thể bằng 0) rồi c tên mặt hàng (chuỗi không khoảng trắng), cách nhau bởi khoảng trắng. Dòng tiếp theo: số nguyên k (1≤k≤1000) — số luật ứng viên. k dòng tiếp theo, mỗi dòng hai tên mặt hàng A B (A=B) mô tả luật A⇒B.
In ra k dòng, dòng thứ i gồm ba số thực Support(A,B) Confidence Lift của luật thứ i, mỗi số làm tròn đến 4 chữ số thập phân, cách nhau bởi khoảng trắng. Dòng cuối cùng: chỉ số (1-indexed) của luật có Lift lớn nhất.
Ví dụ:
Đầu vào:
3
2 Sua Banh
1 Sua
2 Sua Banh
1
Sua Banh
Đầu ra:
0.6667 0.6667 1.0000
1
Đầu vào:
5
2 A B
2 A C
1 A
2 B C
1 C
3
A B
A C
B C
Đầu ra:
0.2000 0.3333 0.8333
0.2000 0.3333 0.5556
0.2000 0.5000 0.8333
1
Đang tải editor...