我已经编写了我的自定义得分手对象,这对我的问题是必要的,而且我已经调用了#34; p_value_scoring_object"。
对于函数sklearn.cross_validation.cross_val_score,其中一个参数是"得分",允许使用此得分手对象。
但是,此选项不适用于分类器的分数方法。 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)
答案 0 :(得分:0)
sklearn只是缺少这个功能。分数在内部绑定到不同类型的估算器的不同指标。例如,分类器被绑定到分类准确度分数度量,对于归类为r2_score
的回归量。
您可以在sklearn.base
中查看这些绑定,每个mixin(例如ClassifierMixin
)都提供此score
方法。
你可以这样运行:
p_value_scoring_object(p_value_scoring_object, iris.data, iris.target)