【问题标题】:Why GridSearchCV is cloning the estimator while fitting the data?为什么 GridSearchCV 在拟合数据时克隆估计器?
【发布时间】:2019-02-14 19:52:51
【问题描述】:

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

base_estimator = clone(self.estimator)

在搜索过程中估算器参数如何变化? 估算器调用了什么函数?

【问题讨论】:

  • 估算器的特定状态是什么意思..
  • 大多数时候,它的数据会导致内存问题,如果可能,sklearn 将在所有克隆上使用单个数据副本。因此,请在此处显示代码并描述数据以解决根本问题。
  • @abunickabhi 我不明白为什么估算器基本上是克隆以及它如何更改估算器参数
  • @VivekKumar 估计器是一个有很多层的深度神经网络,所以克隆操作会复制这个网络并占用大量内存

标签: machine-learning scikit-learn


【解决方案1】:

你所面临的问题在这里似乎定义得很模糊,所以我先给出一些背景,

GridSearchCV 实现了一个“fit”和一个“score”方法。如果在使用的估计器中实现了“predict”、“predict_proba”、“decision_function”、“transform”和“inverse_transform”,它还实现了它们。

所以,基本上在 scikit-learn 中,当您尝试调整超参数时,您总是在构建一个我们可以称为估算器的对象。

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

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

【讨论】:

  • 网格搜索如何修改估算器以及为什么要关闭估算器?
  • 网格搜索和交叉验证是一个组合过程,它们作用于数据,可能在调用估计器时,程序不知道是作用于新数据还是以前的数据。因此,无论何时运行代码,它都可能会关闭。
猜你喜欢
  • 2020-06-25
  • 2016-02-08
  • 1970-01-01
  • 1970-01-01
  • 2020-04-25
  • 1970-01-01
  • 1970-01-01
  • 2022-08-19
  • 1970-01-01
相关资源
最近更新 更多