我正在使用sklearn和skmultilearn对多标签进行一些研究。
我只是想知道为什么hamming_loss不能在cross_val_score中使用,因为它可以真正单独使用。
答案 0 :(得分:2)
在documentation of cross_val_score中,指定了:
评分:字符串,可调用或无,可选,默认值:无
字符串(参见模型评估文档)或记分员可调用对象/ 具有签名记分器的功能(估计器,X,y)。
可以在其中使用的字符串是specified in section 3.3.1.1 here。这里显示的这些字符串使用make_scorer
在内部转换为评分函数对象 hamming_loss
不在这些字符串中,但我们可以使用make_scorer
来定义我们的评分函数对象,然后可以在cross_val_score()
中使用
像这样使用:
from sklearn.metrics import make_scorer
output_scores = cross_val_score(lasso, X, y, scoring = make_scorer(hamming_loss,greater_is_better=False))