栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何从sklearn GridSearchCV同时获得MSE和R2?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何从sklearn GridSearchCV同时获得MSE和R2?

不幸的是

GridSearchCV
,使用或任何内置的sklearn方法/对象现在还不是很简单。

尽管有人说有多个计分器输出,但是此功能可能不会很快出现。

因此,您必须自己做,有几种方法:

1)您可以看一下的代码

cross_val_score
并自己执行交叉验证循环,每完成一次就调用感兴趣的得分手。

2)[不推荐]您也可以在自己感兴趣的计分器中构建自己的计分器,并让他们将分数输出为数组。然后,您将发现自己在这里解释的问题: sklearn-
带有多个分数的交叉验证

3)由于您可以编写自己的得分手,因此可以使一个得分手输出您的一个得分(您要

GridSearchCV
做出决定的得分),并将您感兴趣的所有其他得分存储在单独的位置,可以是静态/全局变量,甚至是文件。

3号似乎是最乏味和最有前途的:

import numpy as npfrom sklearn.metrics import r2_score, mean_squared_errorsecret_mses = []def r2_secret_mse(estimator, X_test, y_test):    predictions = estimator.predict(X_test)    secret_mses.append(mean_squared_error(y_test, predictions))    return r2_score(y_test, predictions)X = np.random.randn(20, 10)y = np.random.randn(20)from sklearn.cross_validation import cross_val_scorefrom sklearn.linear_model import Ridger2_scores = cross_val_score(Ridge(), X, y, scoring=r2_secret_mse, cv=5)

您可以在中找到R2分数,在中找到

r2_scores
相应的MSE
secret_mses

请注意,如果并行执行,这可能会变得混乱。在这种情况下,您将需要将分数写入例如memmap中的特定位置。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/634201.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号