问题标签 [grid-search]

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 投票
1 回答
1389 浏览

scikit-learn - 使用 scikit-learn 进行递归特征消除和网格搜索:DeprecationWarning

我正在构建多个分类器的网格搜索,并希望使用递归特征消除和交叉验证。我从使用 scikit-learn 的递归特征消除和网格搜索中提供的代码开始。以下是我的工作代码:

我收到了 DeprecationWarning,因为它似乎在 0.18 中删除了“estimator_params”参数;我试图找出在第 4 行中使用的正确语法。

试...

返回 ValueError:参数值应该是一个列表。和...

返回 ValueError:估计器 RFECV 的参数惩罚无效。使用 来检查可用参数列表estimator.get_params().keys()。检查键将“C”、“fit_intercept”和“penalty”中的所有 3 个显示为参数键。试...

永远不会完成执行,所以我猜不支持这种类型的参数分配。

至于现在,我设置为忽略警告,但我想使用 0.18 的适当语法更新代码。任何援助将不胜感激!

0 投票
1 回答
2932 浏览

python-2.7 - sklearn grid.fit(X,y) - 错误:X_train,y_train 的“位置索引器超出范围”

这是一个关于 Python 2.7 和 Pandas 0.17.1 中的 scikit learn(版本 0.17.0)的问题。为了使用此处详述的方法拆分原始数据(没有丢失条目) ,我发现如果使用拆分数据继续进行 a .fit(),则会出现错误。

这是与重命名变量的其他stackoverflow问题基本相同的代码。然后我实例化了一个网格并尝试拟合拆分数据,以确定最佳分类器参数。错误发生在下面代码的最后一行之后:

以下是上述代码产生的错误信息:

注意:X保留和y作为 Pandas数据结构 对我来说很重要,类似于上面另一个 stackoverflow 问题中提出的第二种方法。即我不想使用X.valuesand y.values

问题: 使用原始数据作为 Pandas 数据结构(DataFrameforXSeriesfor y),有没有办法运行grid.fit()而不会收到此错误消息?

0 投票
1 回答
1391 浏览

python - 在调整参数时识别交叉验证的 SVM 中的过拟合

我有一个正在使用 gridsearchcv 调整的 rbf SVM。我如何判断我的好结果实际上是好结果还是过度拟合?

0 投票
2 回答
356 浏览

python - Scikit:在使用 GridSearchCV 时,有没有办法从最佳估计器中取回所有未经训练的项目(测试集)?

在这个简化的示例中,我正在使用 GridSearchCV 训练逻辑回归。与往常一样,我希望模型能够很好地泛化,因此我想仔细查看测试集的结果。使用 GridSearchCV 时,我找不到简单的方法来做到这一点。

我想进一步分析模型未训练的示例(例如查看他们的混淆矩阵),但由于交叉验证是透明地发生的,我无法选择这些示例。我可以进行新的训练测试拆分并重新训练,但这似乎很浪费。

0 投票
1 回答
99 浏览

python - Scikit网格搜索参数(不是超参数)

当我想找到最好的超参数时,Scikit 的GridSearch是完美的。我想使用相同的理念来找到线性回归的最佳参数集,使用跨多个折叠的目标函数。如何在多个折叠上优化线性回归的参数(字面意思是 beta 和截距)?

用例(简化):
我有一个包含三年数据的数据集。我想定义什么是“所有年份都可以”的最佳线性回归。如果我将线性回归拟合到整个数据集,我将得到一个可以减少所有数据的最小二乘误差的数据。我将有效地减少错误 在此处输入图像描述

但是,这(min(error))不是我的目标。我可以在这个目标上得到一个很好的结果,仅仅是因为分类器在第 1 年和第 2 年做得很好,这足以弥补第 3 年的损失。

我实际上想要最小化的是类似于min(max(error_year_1, error_year_1, error_year_1)).

对此的一种怪异方法是创建一个函数 f(b0, b1, b2, year1, year2, year3),它返回错误的最大值,然后使用 scipy 最小化该函数。

实际问题:有没有办法在 scikit 中做到这一点?

0 投票
1 回答
4629 浏览

python - 如何从sklearn的gridsearchcv中获取敏感性和特异性(真阳性率和真阴性率)?

我一直在使用带有 RBF SVM(二进制分类器)的 Gridsearchcv 来获得验证准确度热图。我使用的代码几乎直接来自 SKlearn 的网站。有没有办法从中找到敏感性和特异性?至于 Gridsearchcv 使用的参数值的范围?

0 投票
0 回答
738 浏览

python - Scikit 网格搜索特定数据集而不是随机数据

我正在使用pythonscikit-learn进行一些交叉验证测试。目前,我将 pandas 数据框拆分为训练集(X_train, y_train)和测试集(X_test, y_test),然后对训练集执行随机 3 折交叉验证,并使用网格搜索中的最终参数在我的测试集:

因此,能够执行这些类型的随机 k 折网格搜索很酷,但是sklearn库中是否有本地方法可以对特定数据集进行网格搜索。为了更准确地说我上面的代码,是否有一种本地方法sklearn来开发模型X_trainy_train使用给定的参数,其中网格搜索的结果最佳参数由结果模型对特定数据集的拟合确定,而不是随机的的 k 倍X_trainy_train?

0 投票
2 回答
7225 浏览

machine-learning - 加速 sklearn 中的网格搜索

我正在执行网格搜索以识别最佳 SVM 参数。我正在使用 ipython 和 sklearn。代码很慢,只在一个内核上运行。如何将其播种并利用多个内核?谢谢

0 投票
1 回答
4350 浏览

python - Sklearn GridSearchCV 使用 Pandas DataFrame 列

我在 SGDClassifier(随机梯度下降分类器)上运行 Sklearn 库中的 GridSearchCV(网格搜索交叉验证)。我正在使用 Pandas 的 DataFrame 来获取功能和目标。这是代码:

其中 X_train 是一个 300 行 x 31 列的 Pandas DataFrame,每列由以下命名:

y_train 是一个 300 行 x 1 列的 Pandas 系列,其名称如下:

当我尝试 GridSearchCV 算法时,我收到以下错误语句:

0 投票
1 回答
3445 浏览

scikit-learn - 使用 scikit-learn 从 GridSearchCV 获取进度更新

我目前正在 Python 中实现支持向量回归,我正在通过 GridSearchCV 估计参数 C 和 gamma。我最初从大约 400 种 C 和 gamma 组合中进行搜索。这是一个非常详尽的搜索,现在已经在我的电脑上运行了一个多小时。

我想要的是接收状态更新,例如还有多少组合需要测试或类似的,因为目前很难判断程序是否正在运行,或者它是否刚刚冻结或正在发生什么。

从我在 sci-kit 学习文档中阅读的内容来看,我似乎找不到任何帮助。有环绕吗?