我正在尝试使用sklearn网格搜索am进行超视距计的调谐。我希望使用公制的“查全率下的面积”。
gridsearchcv类似于
>>> parameters = {'kernel':('linear', 'rbf'), 'C':[1, 10]}
>>> svc = svm.SVC()
>>> clf = GridSearchCV(svc, parameters, scoring='accuracy')
>>> clf.fit(iris.data, iris.target)
所以,基本上,我想要的是改变字符串的‘准确性’,在区域下的precision_recall_curve。我应该如何定制它?
发布于 2021-07-28 22:30:16
精确召回曲线下的面积可以用average_precision_score
来估计.从它的文档
AP平均精度总结了一条查全率-召回曲线作为每个门限下精度的加权平均值,并将召回率从以前的阈值中增加作为权重。
实际上,这是在精确召回曲线下面积的近似,并在scikit-learn
中实现.有一个很棒的这里博客,它总结了它背后的概念,并链接到维基百科文章,其中声明:
平均精度是查全率曲线下的面积.
average_precision_score
可以通过指定average_precision
作为评分方法来使用:
clf = GridSearchCV(svc, parameters, scoring='average_precision')
但是,请记住关于备注的重要average_precision_score
:
该实现是不插值的,与用梯形规则计算精确召回曲线下面积的方法不同,该规则采用线性插值,且可能过于乐观。
https://stackoverflow.com/questions/68567722
复制相似问题