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

    solution

    Đề bài: [Data Science] Precision và recall tại nhiều ngưỡng

    Cho mmm mẫu, mỗi mẫu có điểm xác suất si∈[0,1]s_i \in [0,1]si​∈[0,1] (dự đoán dương) và nhãn thật yi∈{0,1}y_i \in \{0,1\}yi​∈{0,1}. Cho danh sách TTT ngưỡng τj\tau_jτj​.

    Tại mỗi ngưỡng τ\tauτ, dự đoán dương nếu si≥τs_i \ge \tausi​≥τ. Khi đó: TP=#{i:si≥τ, yi=1},FP=#{i:si≥τ, yi=0},FN=#{i:si<τ, yi=1}TP = \#\{i: s_i \ge \tau,\ y_i = 1\},\quad FP = \#\{i: s_i \ge \tau,\ y_i = 0\},\quad FN = \#\{i: s_i < \tau,\ y_i = 1\}TP=#{i:si​≥τ, yi​=1},FP=#{i:si​≥τ, yi​=0},FN=#{i:si​<τ, yi​=1} precision=TPTP+FP,recall=TPTP+FN\text{precision} = \frac{TP}{TP + FP},\qquad \text{recall} = \frac{TP}{TP + FN}precision=TP+FPTP​,recall=TP+FNTP​

    Nếu mẫu số bằng 0 thì đặt giá trị tương ứng bằng 0. Với mỗi ngưỡng (theo thứ tự đã cho), in ra một dòng gồm precision và recall (làm tròn 2 chữ số, cách nhau bởi dấu cách).

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

      Dòng 1: mmm. Dòng 2: mmm số thực sis_isi​. Dòng 3: mmm số nguyên yiy_iyi​. Dòng 4: TTT. Dòng 5: TTT số thực τj\tau_jτj​.

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

      1≤m≤1001 \le m \le 1001≤m≤100; 1≤T≤201 \le T \le 201≤T≤20; 0≤si,τj≤10 \le s_i, \tau_j \le 10≤si​,τj​≤1.

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

      TTT dòng, mỗi dòng: precision và recall (làm tròn 2 chữ số).

    Ví dụ:

    Đầu vào:

    4
    0.9 0.6 0.4 0.1
    1 1 0 0
    2
    0.5 0.2
    

    Đầu ra:

    1.00 1.00
    0.67 1.00

    Giải thích:

    τ=0.5: pred dương=[0.9,0.6]→TP=2,FP=0,FN=0→prec=1,rec=1. τ=0.2: pred=[0.9,0.6,0.4]→TP=2,FP=1,FN=0→prec=2/3=0.67,rec=1.

    Đang tải editor...