仅在多类交叉验证中报告单个标签的分数

2024-05-03 16:48:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个多类目标为0、1或2的数据集。我只关心标签1,只想返回交叉验证中该标签的分数(精度和召回率),而不是微观/宏观平均值

查看precision_score的文档,它说:

setting labels=[pos_label] and average != 'binary' will report scores for that label only.

因此,我使用make_scorer定义了自己的分数,然后将其传递给交叉验证评分参数,如下所示:

precision = make_scorer(precision_score, labels=[1], average = 'micro')
recall = make_scorer(recall_score, labels=[1], average = 'micro')

precision_cv_results = model_selection.cross_val_score(model, X_train,
                                                               y_train, cv=skf, scoring=precision)
        recall_cv_results = model_selection.cross_val_score(model, X_train,
                                                            y_train, cv=skf, scoring=recall)

但是,我不确定我是否做得正确,因为我实际上不想要所有分数的“微”平均值,我只想要标签1的分数。请告知