Machine learning 使用Scorer对象进行分类器评分的方法

Machine learning 使用Scorer对象进行分类器评分的方法,machine-learning,scikit-learn,Machine Learning,Scikit Learn,我已经编写了我的自定义记分器对象,这是解决我的问题所必需的,我称之为“p_value_scoring_object” 对于函数sklearn.cross_validation.cross_val_score,其中一个参数是“scoring”,它允许使用此scorer对象 但是,此选项不适用于分类器的评分方法。sklearn只是缺少这个功能,还是有办法解决这个问题 from sklearn.datasets import load_iris from sklearn.cross_validatio

我已经编写了我的自定义记分器对象,这是解决我的问题所必需的,我称之为“p_value_scoring_object”

对于函数sklearn.cross_validation.cross_val_score,其中一个参数是“scoring”,它允许使用此scorer对象

但是,此选项不适用于分类器的评分方法。sklearn只是缺少这个功能,还是有办法解决这个问题

from sklearn.datasets import load_iris
from sklearn.cross_validation import cross_val_score
from sklearn.tree import DecisionTreeClassifier
clf = DecisionTreeClassifier(random_state=0)
iris = load_iris()
cross_val_score(clf, iris.data, iris.target, cv=10,scoring=p_value_scoring_object)
这很有效。但是,这并不是:

clf.fit(iris.data,iris.target)
clf.score(iris.data,iris.target,scoring=p_value_scoring_object)

sklearn只是缺少这个特性。对于不同类型的估计器,分数在内部绑定到不同的度量。例如,分类器绑定到分类准确度得分度量,对于回归器,它绑定到
r2_得分

您可以在
sklearn.base
中查看这些绑定,每个mixin(例如
ClassifierMixin
)都提供了这个
score
方法

i除此之外,您还可以运行:

p_value_scoring_object(p_value_scoring_object, iris.data, iris.target)

sklearn只是缺少这个特性。对于不同类型的估计器,分数在内部绑定到不同的度量。例如,分类器绑定到分类准确度得分度量,对于回归器,它绑定到
r2_得分

您可以在
sklearn.base
中查看这些绑定,每个mixin(例如
ClassifierMixin
)都提供了这个
score
方法

i除此之外,您还可以运行:

p_value_scoring_object(p_value_scoring_object, iris.data, iris.target)