Để vẽ đường cong precision-recall với nội suy trong Python, thực hiện các bước sau:
Các bước
- Thiết lập kích thước hình và padding.
- Tạo r, p và duplicate recall, i data points bằng numpy.
- Tạo figure và subplots.
- Vẽ ma trận recall trong phạm vi r.shape.
- Vẽ dữ liệu r và dup_r bằng plot().
- Hiển thị hình bằng show().
Ví dụ
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
r = np.linspace(0.0, 1.0, num=10)
p = np.random.rand(10) * (1. - r)
dup_p = p.copy()
i = r.shape[0] - 2
while i >= 0:
if p[i + 1] > p[i]:
p[i] = p[i + 1]
i = i - 1
fig, ax = plt.subplots()
for i in range(r.shape[0] - 1):
ax.plot((r[i], r[i]), (p[i], p[i + 1]), 'k-', label='', color='red')
ax.plot((r[i], r[i + 1]), (p[i + 1], p[i + 1]), 'k-', label='', color='red')
ax.plot(r, dup_p, 'k--', color='blue')
plt.show()
Kết quả
Hiển thị đường cong precision-recall dạng bậc thang (interpolated) màu đỏ và đường gốc màu xanh đứt.