我尝试使用以下方式绘制平均图:
计算所有折叠的精确回忆曲线。
计算平均精确回忆曲线。我不知道该怎么做,因为不同折叠的尺寸不同。
绘制曲线,这是在第二步中计算的。
P.S。来自Plotting Precision-Recall curve when using cross-validation in scikit-learn的解决方案不合适,因为如果我计算所有预测的平均值然后计算精确回忆曲线,我将得到AUC = 1.0。这是错误的。
我想得到这样的东西:
from sklearn.metrics import precision_recall_curve
import matplotlib.pyplot as plt
scores = []
for train, test in kfold:
true, pred = clf.predict(test)
precision, recall, _ = precision_recall_curve(true, pred)
scores.append((precision, recall))
precision_avg, recall_avg = compute_average(scores)
plt.plot(precision_avg, recall_avg)