中scikit-learn,有评分函数的概念。如果我们有一些预测标签和真实标签,我们可以通过调用 来获得分数scoring(y_true, y_predict)。这种评分函数的一个例子是sklearn.metrics.accuracy_score。
评分函数不应与 混淆scorer,后者是一个可以称为 的对象scorer(estimator, X, y_true)。
中有许多内置的评分器scikit-learn。可以通过字符串名称找到这些记分员。例如,我们可以通过调用sklearn.metrics.get_scorer("accuracy")/
但事实证明,没有明显的机制可以在运行时通过名称访问内置评分函数,通过将名称作为 string 传递。例如,无法sklearn.metrics.accuracy_score通过 name访问accuracy。
例如,如果在运行时,程序知道变量中包含评分函数的名称name,我正在寻找一种机制get_scoring_function(),这样,get_scoring_function(name)将返回评分函数句柄。请注意,此名称name在编写脚本时未知。
有没有办法通过将名称作为字符串传入,在运行时通过名称访问内置评分函数?
小智 5
您可以使用该get_scorer()函数,该函数接受一个字符串作为参数,然后获取_score_func返回对象的属性。
所以例如
from sklearn.metrics import get_scorer
get_scorer('accuracy')._score_func(y_true, y_pred)
Run Code Online (Sandbox Code Playgroud)
相当于
from sklearn.metrics import accuracy_score
accuracy_score(y_true, y_pred)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
363 次 |
| 最近记录: |