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