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

    solution

    Đề bài: [Data Science] Precision, Recall và F1 cho bộ lọc spam

    Với bộ lọc spam (lớp dương là 1), accuracy không đủ: cần biết trong các email bị gắn cờ spam có bao nhiêu đúng là spam (precision) và mô hình bắt được bao nhiêu phần spam thực (recall). Từ nhãn thực yyy và dự đoán y^\hat{y}y^​:

    P=TPTP+FP,R=TPTP+FN,F1=2PRP+RP = \frac{TP}{TP + FP}, \qquad R = \frac{TP}{TP + FN}, \qquad F_1 = \frac{2PR}{P + R}P=TP+FPTP​,R=TP+FNTP​,F1​=P+R2PR​

    Quy ước: nếu mẫu số của một đại lượng bằng 0 thì đại lượng đó bằng 0.

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

      Dòng đầu: số nguyên nnn. Dòng thứ hai: nnn số nguyên yiy_iyi​ (0/1). Dòng thứ ba: nnn số nguyên y^i\hat{y}_iy^​i​ (0/1).

    • Ràng buộc đầu vào:

      1 ≤ n ≤ 10000.

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

      Một dòng gồm ba số: precision, recall, F1 — mỗi số làm tròn 2 chữ số thập phân ({:.2f}), cách nhau một dấu cách.

    Ví dụ:

    Đầu vào:

    6
    1 1 0 0 1 0
    1 0 0 1 1 0

    Đầu ra:

    0.67 0.67 0.67

    Giải thích:

    TP=2, FP=1, FN=1 ⇒ P = 2/3 ≈ 0.67, R = 2/3 ≈ 0.67, F1 = 2·(2/3)·(2/3)/(4/3) = 2/3 ≈ 0.67

    Đang tải editor...