Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Xác suất - Thống kê] Phân tích giỏ hàng: support, confidence, lift

    Trong phân tích giỏ hàng (market basket analysis), với luật kết hợp A⇒BA \Rightarrow BA⇒B (khách mua AAA thì có xu hướng mua thêm BBB), các chỉ số quan trọng là:

    Support(A)=#{giao dịch chứa A}m,Support(A,B)=#{giao dịch chứa cả A vaˋ B}mSupport(A)=\frac{\#\{\text{giao dịch chứa } A\}}{m}, \quad Support(A,B)=\frac{\#\{\text{giao dịch chứa cả } A \text{ và } B\}}{m}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,B)Support(A),Lift(A⇒B)=Confidence(A⇒B)Support(B)Confidence(A\Rightarrow B)=\frac{Support(A,B)}{Support(A)}, \quad Lift(A\Rightarrow B)=\frac{Confidence(A\Rightarrow B)}{Support(B)}Confidence(A⇒B)=Support(A)Support(A,B)​,Lift(A⇒B)=Support(B)Confidence(A⇒B)​

    trong đó mmm là tổng số giao dịch. Quy ước: nếu Support(A)=0Support(A)=0Support(A)=0 thì Confidence=0Confidence=0Confidence=0; nếu Support(B)=0Support(B)=0Support(B)=0 thì Lift=0Lift=0Lift=0; nếu m=0m=0m=0 (không có giao dịch nào) thì mọi Support=0Support=0Support=0.

    Cho mmm giao dịch (mỗi giao dịch là một tập hợp mặt hàng) và kkk luật ứng viên dạng A⇒BA \Rightarrow BA⇒B. Với mỗi luật, tính Support(A,B)Support(A,B)Support(A,B), ConfidenceConfidenceConfidence, LiftLiftLift. Sau đó xác định luật có LiftLiftLift lớn nhất; nếu nhiều luật cùng LiftLiftLift 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).

    • Định dạng đầu vào:

      Dòng 1: số nguyên mmm (0≤m≤10000 \le m \le 10000≤m≤1000) — số giao dịch. mmm dòng tiếp theo, mỗi dòng mô tả một giao dịch theo định dạng: số nguyên ccc (số mặt hàng trong giao dịch, ccc có thể bằng 000) rồi ccc 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 kkk (1≤k≤10001 \le k \le 10001≤k≤1000) — số luật ứng viên. kkk dòng tiếp theo, mỗi dòng hai tên mặt hàng A BA\ BA B (A≠BA \ne BA=B) mô tả luật A⇒BA \Rightarrow BA⇒B.

    • Định dạng đầu ra:

      In ra kkk dòng, dòng thứ iii gồm ba số thực Support(A,B) Confidence LiftSupport(A,B)\ Confidence\ LiftSupport(A,B) Confidence Lift của luật thứ iii, 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ó LiftLiftLift 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...