【发布时间】:2019-07-18 02:03:06
【问题描述】:
我正在尝试比较两个列表,一个是一系列已知值,另一个是来自分类器的一系列预测,并创建一个关于这两个元素是否“足够接近”的新二进制列表。
我将使用 RMSE 作为适应度的度量,如果预测值和已知值之间的差异小于 1,我想在新列表的这个位置放置一个 1,如果错误是大于 1,则在新列表中此时返回 0。
例如:
y_known = {23,45,67,83}
y_pred = {23,46,64,78}
应该返回
binary_array = [1,1,0,0]
我需要这个来计算我训练有素的系统的准确率/召回率曲线。我已经研究过使用 lambda 表达式,但显然对于这种类型的问题,它比它的价值更麻烦。任何建议将不胜感激。
更新
这完美无缺,完全符合我的需要。原作者撤回了他的评论,但非常感谢!
def createBinaryArray(x, y, k):
assert(len(x) == len(y))
return([1 if abs(a-b)<=k else 0 for a,b in zip(x, y)])
【问题讨论】:
标签: python pandas numpy scikit-learn scipy