Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在RFECV和GridSearchCV中得分有什么区别?_Python_Machine Learning_Scikit Learn_Grid Search_Rfe - Fatal编程技术网

Python 在RFECV和GridSearchCV中得分有什么区别?

Python 在RFECV和GridSearchCV中得分有什么区别?,python,machine-learning,scikit-learn,grid-search,rfe,Python,Machine Learning,Scikit Learn,Grid Search,Rfe,我正在尝试运行RFECV以选择最佳功能,并运行GridSearchCV以获得最佳超参数。我的代码如下所示: 参数={'estimator_uC':[1e-4,1e4]} 估计器=逻辑回归随机状态=123 选择器=RFECVestimator,步骤=1,cv=5,评分='recall' clf=GridSearchCVselector,参数,cv=5 clf.fitX_列车,y_列车 当我在GridSearchCV中包含相同的评分标准时,我会从cv_结果中获得不同的最佳特征、n_特征和参数。为什么

我正在尝试运行RFECV以选择最佳功能,并运行GridSearchCV以获得最佳超参数。我的代码如下所示:

参数={'estimator_uC':[1e-4,1e4]} 估计器=逻辑回归随机状态=123 选择器=RFECVestimator,步骤=1,cv=5,评分='recall' clf=GridSearchCVselector,参数,cv=5 clf.fitX_列车,y_列车 当我在GridSearchCV中包含相同的评分标准时,我会从cv_结果中获得不同的最佳特征、n_特征和参数。为什么会发生这种情况?这些方法中哪些是正确的

参数={'estimator_uC':[1e-4,1e4]} 估计器=逻辑回归随机状态=123 选择器=RFECVestimator,步骤=1,cv=5,评分='recall' clf=GridSearchCVselector,参数,cv=5,评分='recall' clf.fitX_列车,y_列车 为什么会这样

在第二种情况下,如果您没有明确指定评分,GridSearchCV将使用所用估计器的默认评分,这里是LogisticReturnal;从:

评分:字符串、可调用、列表/元组、dict或None,默认值:None

[……]

如果没有,则使用估计员得分法

逻辑回归的分数是多少?再次从以下方面:

自我评分,X,y,样本重量=无

返回给定测试数据和标签的平均精度

因此,在第一种情况下,对于GridSearchCV部分,您可以获得最大化准确性的参数,而在第二种情况下,可以获得最大化召回率的参数。原则上,使这两个不同指标最大化的参数不一定是相同的,当然,它们可以是相同的,但它们很可能不是,就像这里一样

以下哪种方法是正确的

从技术上讲,这两种方法都是正确的;唯一能回答这个问题的人是你自己,这与你的业务问题的衡量标准有关

也就是说,第一种方法看起来有点奇怪——为什么您希望在RFECV和GridSearchCV期间针对两种不同的指标进行优化?至少在原则上,根据您选择的指标优化一切会更有意义


再次,请记住,所有这些技术实际上都是临时方法,没有太多的理论支持;最终的评判标准是实验。因此,如果你有兴趣,比如说,最大限度地提高最终模型的准确性,但你发现中间RFECV阶段试图最大限度地提高召回率,最终会提供更好的总体准确性,那么你很可能只是出于好奇而去做…

,你有没有一个个人政策,就是不要对你的问题的答案进行投票?@desertnaut-nope,只是不知道这对人们来说很重要。谢谢你让我知道!谢谢投票是整个SO模型的核心-您可能想快速查看一下