Machine learning 为什么GridSearchCV在拟合数据时克隆估计器?

Machine learning 为什么GridSearchCV在拟合数据时克隆估计器?,machine-learning,scikit-learn,Machine Learning,Scikit Learn,我不明白为什么会发生这种情况,而不仅仅是在参数中使用估计器 base_estimator = clone(self.estimator) 在搜索过程中,估计器参数是如何变化的? 估计器调用的是什么函数?您面临的问题在这里似乎定义得很模糊,因此首先我将给出一些背景 GridSearchCV实现了“适合”和“评分”方法。如果在所使用的估计器中实现了“预测”、“预测概率”、“决策函数”、“变换”和“逆变换”,则它还实现了“预测”、“预测概率”、“决策函数”、“变换”和“逆变换” 所以,基本上在sci

我不明白为什么会发生这种情况,而不仅仅是在参数中使用估计器

base_estimator = clone(self.estimator)
在搜索过程中,估计器参数是如何变化的?
估计器调用的是什么函数?

您面临的问题在这里似乎定义得很模糊,因此首先我将给出一些背景

GridSearchCV实现了“适合”和“评分”方法。如果在所使用的估计器中实现了“预测”、“预测概率”、“决策函数”、“变换”和“逆变换”,则它还实现了“预测”、“预测概率”、“决策函数”、“变换”和“逆变换”

所以,基本上在scikit学习中,当你尝试调整超参数时,你总是在构建一个我们称之为估计器的对象

关于传递参数,当我们尝试传递给GridsearchCV函数一些约束或边界的参数时,估计量的状态可以是任何东西


我希望我已经解决了您的困惑。

您所说的估计器的特定状态是什么意思……大多数情况下,是数据导致内存问题,如果可能,sklearn将在所有克隆上使用一份数据副本。因此,在这里展示代码并描述数据以达到根本问题。@abunickabhi我不理解为什么估算器基本上是克隆的,以及它如何改变估算器parameters@VivekKumar该估计器是一个具有许多层的深层神经网络,因此克隆操作复制该网络并获取大量内存网格搜索如何修改估计器以及为什么它关闭估计器?网格搜索和交叉验证是一个组合过程,它们作用于数据,可能在调用估计器时,程序不知道是作用于新数据还是以前的数据。因此,无论何时运行代码,它都可能关闭。