问题标签 [gridsearchcv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
106 浏览

python - GridSearchCV 的自定义记分器不允许使用概率

我尝试为GridSearchCV. 这是函数的定义:

然后我用它来创建一个自定义记分器,命名为my_auc

然后,我在 GridSearchCV 中使用这个自定义记分器:

拟合模型的行会引发以下错误:

IndexError:数组的索引过多

问题是预测(1 或 0)不是概率,而是传递给custom_auc. 也就是说,probas保持预测。

我对此进行了测试,并且有效:

我更喜欢我自己的计分器而不是现有的'roc_auc',因为我想根据https://stackoverflow.com/a/31161137/1845408auc中建议的误报率和真正率来计算分数。

有什么帮助吗?

0 投票
0 回答
430 浏览

keras - 使用 keras 使用 GridsearchCV 对多输出数据(神经网络)进行超参数调整

我有一个具有 2 个输出变量和多个输入变量的数据,我使用神经网络制作模型,但现在我想做超参数调整。

为了调整,我使用网格搜索,我编写了网格搜索的代码,但是当我尝试 grid.fit(X_train, Y_train) 时出现错误,错误是 ValueError: Error when checks model target: the list of Numpy arrays that您传递给模型的大小不是模型预期的大小。预计会看到 2 个数组,但得到了以下 1 个数组的列表:[array([[ 1.62970054, 2.33817343],然后我制作了 2 个不同的数组,然后作为 grid.fit(X_train, [Y [0], Y[1]),因为有 2 个输出,现在它显示 ValueError: Found input variables with contrast numbers of samples: [10000, 2]。有什么办法可以纠正这个代码,或者 GridsearchCV 不要'不接受多个输出值?我使用 keras 功能 API 制作了 keras 模型,然后我通过了 kerasRegressor 以便我可以实现 GridsearchCV。

上述代码的最后一行是 grid_result = grid.fit(X_train, Y_train) 时的错误是 ValueError: Error when checks model target: 您传递给模型的 Numpy 数组列表不是模型预期的大小。预计会看到 2 个数组,但得到了以下 1 个数组的列表:[array([[ 1.62970054, 2.33817343], [ 3.44504814, 6.05534019], [ 1.58155862, 0.8296778 ], ..., [ 1.274465378, 6.719]88 , [ 7.99909866, 17.82736535], [ 1.4 ... 当我制作 2 个不同的 2 个输出数组然后将最后一行重写为 grid.fit(X_train, [Y[0], Y[1]) 时的错误是 ValueError:发现样本数量不一致的输入变量:[10000, 2]

我的数据是 10000 个观察值,有 17 个输入变量和 2 个输出变量。

0 投票
1 回答
389 浏览

python-3.x - GridSearching LSTM 网络中的问题 - Batch_size 问题

我编写了代码以将 gridsearch 方法应用于使用 keras 构建的 LSTM 网络。一切似乎都很好,但我在传递 batch_size 时遇到了一些问题。

我试图改变 batch_size 的格式,但据我所知,它必须是一个元组。




在我得到的错误下方:


我不明白为什么在错误消息的最后一部分我得到:“batch_size = None”,而我定义了一个元组的批处理大小。

0 投票
1 回答
439 浏览

python - GridSearchCV 中的自定义评分功能:访问未缩放的功能,不在模型中

我在 Python 中使用来自 sklearn 的 GridSearchCV 包,我想将它与自定义评分函数一起使用。自定义评分函数需要访问模型中没有的变量。问题是我无法访问训练集中未缩放/未更改的变量,因为它们不包含在使用缩放数据的模型中,并且因为 gridsearch 为每个批次随机选择行。你知道我该如何处理吗?

我尝试创建一个评分函数,将原始(未缩放、未更改)训练集作为参数。它可以工作,但由于 gridsearch 只采用训练集的子集并且行被打乱,我无法将每一行与其在原始训练集中的对应值“连接”起来。我试图对训练集中包含的数据进行缩放,但没有奏效。我考虑过将我想要的未缩放列添加到缩放的训练集中,但是如何将它从模型中排除?

当尝试按代码所示对数据进行缩放时,我收到一条关于不对应形状的错误消息。

0 投票
1 回答
376 浏览

scikit-learn - scikit-learn:涉及管道时 fit() 无法启用 sample_weight

我正在使用其他人的 Scikit-Learn 代码来构建预测工具。原始代码工作得很好,但我需要添加sample_weight到预测工具中。

在不同的文档中搜索了解决方案后,我发现主要问题是 Scikit-Learn 中的管道不能sample_weight很好地支持。

我试图插入sample_weight不同的位置,但都显示失败。谁能帮我告诉我在哪里插入sample_weightwith pipeline,或者在不使用的情况下实现这些步骤(包括sample_weightpipeline

0 投票
1 回答
60 浏览

python - 网格搜索和计算机处于睡眠模式

当我的计算机处于睡眠模式时,网格搜索 cv 是否会停止?运行时我应该关闭睡眠模式吗?

问候维克兰特

0 投票
1 回答
365 浏览

scikit-learn - 使用预定义的拆分重新调整网格搜索的属性?

我正在使用 GridseachCV 来调整超参数。我分别有火车,验证数据。我正在遵循预定义的拆分方法来处理这个问题(类似于这个):

然后cv=ps设置GridSearchCV

如果我将 refit 参数设置为 true,那么在所有参数调整之后,我的模型将在整个数据上进行训练还是仅在训练数据上进行训练?

0 投票
1 回答
5322 浏览

machine-learning - sklearn.model_selection GridSearchCV 抛出 KeyError: 'mean_train_score'

我正在尝试classifierobject.cv_result_GridSearchCV使用 5 折交叉验证的方法中获取平均火车分数,但它*** KeyError: 'mean_train_score'在 Google Colab 中给了我。sklearn但是,相同的代码在 0.19.1版本的本地机器 Ipython 笔记本中运行良好。谁能帮助我如何在 google colab 中获得输出?

clf.cv_results_.keys()输出如下 -

对于我的本地笔记本 -

在谷歌 colab 笔记本上 -

谷歌colab在哪里mean_train_score。我错过了什么吗?

0 投票
1 回答
10622 浏览

python - TypeError: take(): argument 'index' (position 1) must be Tensor, not numpy.ndarray

我是 pytorch 的新手。我正在尝试进行交叉验证,并找到了 skorch 库,它允许用户将 sklearn 函数与 Torch 模型一起使用。所以,我定义了一个神经网络类:

到目前为止一切都很好,该函数返回可靠的结果,没有任何错误。当我尝试使用 GridSearchCV 函数时出现问题:

我收到以下错误:

怎么了?

0 投票
1 回答
336 浏览

python - 将前一个 sklearn 管道步骤中的对象属性作为参数传递给下一步方法

tl;dr:有什么方法可以调用管道上一步中.get_feature_names()的拟合转换数据,以在管道的下一步中用作超参数?


我有一个Pipeline包括用 拟合和转换文本数据TfidfVectorizer,然后运行一个RandomForestClassifier. 我想根据转换从文本中产生的特征数量来GridSearchCV跨越分类器中的各个级别。max_features

实例化返回以下错误:

NameError: name 'vect' is not defined

编辑:

如果我正在调制TfidfVectorizer诸如的参数,这将更相关(并且未在示例代码中说明) ngram_range,人们可以看到这如何将特征输出的数量更改为下一步......