我有一个使用Matplotlib生成的图表(原本是直方图的精度-召回曲线),我需要计算与y = 0.9对应的正确x值。数据从文本文件中加载,这些文件存在列中。以下是用于创建图表的代码:
import numpy as np
import matplotlib.pyplot as plt
import pylab
from sklearn import metrics
data1 = np.loadtxt('text1.txt')
data2 = np.loadtxt('text2.txt')
background = 1 - (1 + y) / 2.
signal = 1 - (1 + x) / 2.
classifier_output = np.concatenate([background,signal])
true_value = np.concatenate([np.zeros_like(background, dtype=int), np.ones_like(signal, dtype=int)])
precision, recall, threshold = metrics.precision_recall_curve(true_value, classifier_output)
plt.plot(threshold, precision[:-1])
plt.savefig('Plot.pdf', dpi = 2000)
plt.show()
有没有一种方法可以计算出对应于 y = 0.9 的 x 轴上的正确值?
![enter image description here](https://istack.dev59.com/PVIjx.webp)
find_roots
函数。z = find_roots(threshold, precision[:-1] - 0.9)
。 - JohanCnumpy.interp(0.9, y, x)
会返回在y=0.9处的x值。 - ImportanceOfBeingErnest