我正在使用 scikit-learn 的LassoCV功能。在交叉验证期间,默认使用什么评分指标?
我希望交叉验证基于“均方误差回归损失”。可以将此指标与 LassoCV 一起使用吗?可以为LogisticRegressionCV指定一个评分指标,那么 LassoCV 也可以吗?
我正在使用 scikit-learn 的LassoCV功能。在交叉验证期间,默认使用什么评分指标?
我希望交叉验证基于“均方误差回归损失”。可以将此指标与 LassoCV 一起使用吗?可以为LogisticRegressionCV指定一个评分指标,那么 LassoCV 也可以吗?
默认情况下,参数搜索使用估计器的得分函数来评估参数设置。这些是分类的 sklearn.metrics.accuracy_score 和回归的 sklearn.metrics.r2_score 。
要使用替代评分指标,例如均方误差,您需要使用GridSearchCV
或RandomizedSearchCV
(而不是LassoCV
)并将scoring
参数指定为scoring='neg_mean_squared_error'
。从文档:
可以通过GridSearchCV、RandomizedSearchCV和许多下面描述的专用交叉验证工具的评分参数来指定替代评分函数。
我认为接受的答案是错误的,因为它引用了 Grid Search 的文档,但LassoCV
使用了正则化路径,而不是网格搜索。事实上,在 docs 页面中LassoCV
,它说损失函数是:
(1 / (2 * n_samples)) * ||y - Xw||^2_2 + alpha * ||w||_1
这意味着它最小化了 MSE(加上 LASSO 项)。