繁体   English   中英

在使用 scikit-learn 在管道中安装 ML model 后,如何将精度与 score() function 中的另一个性能指标交换?

How do I swap accuracy with another performance metric from the score() function after fitting the ML model in Pipeline with scikit-learn?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

这是我的代码的一部分:

def ml_pipeline(self):
    if self.control_panel['ml_pipeline_switch']:
        self.model = make_pipeline(self.preprocessor, self.control_panel['ml_algo'][1])
        self.model.fit(self.X_train, self.y_train)

def ml_pipeline_result(self, show_control_panel_switch=True): 
    if self.control_panel['ml_pipeline_switch']:
        print('Model score (training set): %.3f' % self.model.score(self.X_train, self.y_train))
        print('Model score (test set): %.3f' % self.model.score(self.X_test, self.y_test))

score()似乎产生了准确性。 如何将准确率与F1-macrorecall-macro等其他性能指标交换? 我在文档中找不到任何东西。

1 个回复

对您的问题的简短回答是否定的,除非您破解并重新定义/覆盖scikit-learn函数。

当您使用pipe.score()时,它会从位于管道末尾的分类器中调用 score 方法。

现在,幕后发生的事情是scikit-learn中的所有分类器都基于ClassifierMixin class,其中.score()是通过accuracy_score定义的,这是硬编码的(参见此处)。

2 使用 Scikit-Learn 的回归模型中的负准确度得分

我写了一个预测房价的代码。 问题是,我得到了负的准确度分数。 我使用了 5 种不同的算法,准确率得分无处不在。 我遇到的第一个问题是我在使用.map函数时收到警告,但我认为这不是问题。 回归模型有效,但它们的训练和测试准确度却无处不在。 我也试过这个: from sklearn.metrics ...

3 在 scikit-learn 中使用 DecisionTreeClassifier 修复 100% 准确率

我正在尝试使用决策树进行分类并获得 100% 的准确率。 这是一个常见问题, 在此处和此处进行了描述。 在许多其他问题中。 数据在这里。 两个最好的猜测: 我错误地分割数据 我的数据集太不平衡了 我的代码有什么问题? 当我打印 X 时,它显示offer_completed已被删除 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM