首页 > 其他分享 >GridSearchCV中的scoring

GridSearchCV中的scoring

时间:2023-05-16 16:22:18浏览次数:47  
标签:scoring GridSearchCV 指标 grid scorer accuracy

说明

scoring参数输入形式

包括字符串、可调用对象或评分函数。以下是常用的评分规则示例:

  1. 使用预定义的字符串指定评分规则:

    • 'accuracy':准确率(分类问题)
      'precision':精确率(分类问题)
      'recall':召回率(分类问题)
      'f1':F1分数(分类问题)
      'r2':R2分数(回归问题)
      'mean_squared_error':均方误差(回归问题)
  2. 使用自定义的评分函数:
    可以自定义一个评分函数,该函数接受真实标签和预测标签作为输入,并返回一个评分值。

  3. 使用可调用对象:
    可以传递一个实现了scoring接口的可调用对象作为评分规则。这个可调用对象接受真实标签和预测标签作为输入,并返回一个评分值。

GridSearchCV默认的scoring

  • GridSearchCV 默认的评估指标取决于所使用的模型。
  • 对于许多机器学习模型,如回归和分类,评估指标可以通过指定 scoring 参数来进行选择或修改。
  • 对于一些模型,默认的评估指标可以在文档中查找,例如 SVM 模型的默认评估指标是 accuracy。
  • 如果没有指定 scoring 参数,GridSearchCV 将默认使用模型的默认评估指标。
  • 在 sklearn 中,不同模型的默认评估指标可以在相应的文档中查找。

一些模型的默认评估指标:

  • 对于分类问题,SVC 模型的默认评估指标是 accuracy(准确率),即正确分类的样本占总样本数的比例。

例子

scoring 参数可以使用多种形式指定,包括字符串(使用内置指标),可调用函数(自定义指标),或一个字典(指定不同的指标)。下面是一些示例:

  1. 使用内置指标:可以使用字符串指定内置指标,例如:
#这里指定使用 accuracy 作为评估指标。
from sklearn.model_selection import GridSearchCV
from sklearn.linear_model import LogisticRegression

param_grid = {'C': [0.1, 1, 10], 'penalty': ['l1', 'l2']}
clf = LogisticRegression(max_iter=1000)
grid_search = GridSearchCV(clf, param_grid, scoring='accuracy')
  1. 自定义指标:可以使用一个可调用函数指定自定义指标,例如:
#这里使用 make_scorer() 函数将 f1_score 转换为一个可调用的评估函数,并使用其作为评估指标。
from sklearn.metrics import make_scorer, f1_score

def custom_scorer(y_true, y_pred):
    return f1_score(y_true, y_pred, average='macro')

param_grid = {'C': [0.1, 1, 10], 'penalty': ['l1', 'l2']}
clf = LogisticRegression(max_iter=1000)
grid_search = GridSearchCV(clf, param_grid, scoring=make_scorer(custom_scorer))
  1. 多个指标:可以使用一个字典来指定多个指标,例如:
"""
这里指定了两个指标:accuracy 和 recall,并使用 refit 参数指定在搜索过程结束后使用哪个指标来重新拟合模型。
refit这里使用 accuracy 来重新拟合模型。
"""
from sklearn.metrics import accuracy_score, recall_score, make_scorer

scoring = {'accuracy': make_scorer(accuracy_score), 
           'recall': make_scorer(recall_score)}

param_grid = {'C': [0.1, 1, 10], 'penalty': ['l1', 'l2']}
clf = LogisticRegression(max_iter=1000)
grid_search = GridSearchCV(clf, param_grid, scoring=scoring, refit='accuracy')

标签:scoring,GridSearchCV,指标,grid,scorer,accuracy
From: https://www.cnblogs.com/ethan-wen/p/17405999.html

相关文章

  • CF1794C Scoring Subsequences题解
    文中\(a\)为题目中给的\(a\)。如果我们要求\(a_1,a_2,a_3,\dots,a_m\)的结果,那么我们可以把\(a\)数组从后往前依次除以\(i\),\(i\)从\(1\)到\(n\),即为\(\frac{a_1}{m},\frac{a_2}{m-1},\frac{a_3}{m-2},\dots,\frac{a_{m-1}}{2},\frac{a_m}{1}\),并将其保......
  • Rosetta scoring
    参考:https://www.rosettacommons.org/demos/latest/tutorials/scoring/scoring介绍Rosetta有一个被称为ref2015(默认打分函数)的优化能量函数或打分函数,用于计算由L-氨基酸......
  • WeNet中注意力重打分(attention rescoring decoding)
    我们知道CTC是非自回归,而像transformer中解码是自回归的,所以transformer很大的一个缺陷就是解码速度慢。在最近几年CTC和注意力机制联合训练得到的性能效果得到极大的提升......
  • 时间序列、时序TimeSeriesSplit&GridGridSearchCV
     此外,可看看这个:https://blog.csdn.net/qq_35649669/article/details/104793484https://www.cnblogs.com/Li-JT/p/16792521.html#链接:https://www.zhihu.com/questio......
  • 网格搜索(GridSearchCV)--用于深度学习超参数搜索
    GridSearch和CV,即网格搜索和交叉验证网格搜索算法是一种通过遍历给定的参数组合来优化模型表现的方法为何使用:超参数选择不恰当,就会出现欠拟合或者过拟合的问题内容:网......
  • ItemRank: A Random-Walk Based Scoring Algorithm for Recommender Engines
    目录概符号说明本文方法GoriM.andPucciA.ItemRank:arandom-walkbasedscoringalgorithmforrecommenderengines.InInternationalJointConferencesonArt......