Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.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 GridSearchCV和预测误差分析(scikit学习)_Python_Scikit Learn_Gridsearchcv - Fatal编程技术网

Python GridSearchCV和预测误差分析(scikit学习)

Python GridSearchCV和预测误差分析(scikit学习),python,scikit-learn,gridsearchcv,Python,Scikit Learn,Gridsearchcv,我想手动分析我的ML模型(无论哪个)产生的错误,将其预测与标签进行比较。根据我的理解,这应该在验证集的实例上完成,而不是在训练集上。 我通过GridSearchCV训练了我的模型,提取了最好的估计量,在交叉验证过程中表现最好的估计量,然后在整个数据集上重新训练 因此,我的问题是:如果我的最佳模型在整个训练集上重新训练,我如何在验证集上得到预测,以便与标签进行比较(不接触测试集) 一种解决方案是在执行GridSearchCV之前进一步拆分训练集,但我想一定有更好的解决方案,例如在交叉验证期间获得验

我想手动分析我的ML模型(无论哪个)产生的错误,将其预测与标签进行比较。根据我的理解,这应该在验证集的实例上完成,而不是在训练集上。 我通过GridSearchCV训练了我的模型,提取了最好的估计量,在交叉验证过程中表现最好的估计量,然后在整个数据集上重新训练

因此,我的问题是:如果我的最佳模型在整个训练集上重新训练,我如何在验证集上得到预测,以便与标签进行比较(不接触测试集)

一种解决方案是在执行GridSearchCV之前进一步拆分训练集,但我想一定有更好的解决方案,例如在交叉验证期间获得验证集上的预测。有没有办法得到这些预测的最佳估计


谢谢大家!

您可以使用从GridSearchCV获得的模型计算验证曲线。阅读文档。您只需要为要检查的超参数和评分函数定义数组。以下是一个例子:

train_scores, valid_scores = validation_curve(model, X_train, y_train, "alpha", np.logspace(-7, 3, 3), cv=5, scoring="accuracy")

您可以使用从GridSearchCV获得的模型计算验证曲线。阅读文档。您只需要为要检查的超参数和评分函数定义数组。以下是一个例子:

train_scores, valid_scores = validation_curve(model, X_train, y_train, "alpha", np.logspace(-7, 3, 3), cv=5, scoring="accuracy")

我理解我的概念错误,我将在这里发布,因为它可能会帮助像我这样的其他ML初学者


应该有效的解决方案是使用与
GridSearchCV
中相同的方法拆分折叠。事实上,
cross\u val\u predict
在每个折叠上重新训练模型,并且不使用以前训练过的模型!因此,结果与在
GridSearchCV

期间获得验证集的预测结果相同。我理解我的概念错误,我将在这里发布,因为它可能会帮助像我这样的其他ML初学者


应该有效的解决方案是使用与
GridSearchCV
中相同的方法拆分折叠。事实上,
cross\u val\u predict
在每个折叠上重新训练模型,并且不使用以前训练过的模型!因此,结果与在
GridSearchCV

期间获得验证集上的预测结果相同。谢谢,我不知道这种方法!然而,我的问题是如何在验证过程中获得验证集上的预测值,但我想我理解了我的概念错误(见答案)。谢谢,我不知道这种方法!然而,我的问题是如何在验证过程中获得验证集上的预测值,但我认为我理解我的概念错误(参见答案)