如何在Python Matplotlib中绘制带插值的精确率 – 召回率曲线?
要在Python中绘制带有插值的精确率-召回率曲线,可以按照以下步骤进行 –
步骤
-
设置图形大小并调整子图之间和周围的填充。
-
使用numpy创建r、p和重复召回i数据点。
-
创建一个图形和一组子图。
-
在r.shape范围内绘制召回矩阵。
-
使用plot()方法绘制r和dup_r数据点。
-
要显示图形,请使用show()方法。
示例
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()
输出
它将产生以下输出 –