问题标签 [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.
python - 如何使用 GridSearchCV 通过 train_test_split 策略调整参数?
我正在尝试使用 train_test_split 策略微调我的 sklearn 模型。我知道GridSearchCV执行参数调整的能力,但是,它与使用交叉验证策略有关,我想使用 train_test_split 策略进行参数搜索,因为训练速度对我的情况很重要,我更喜欢简单train_test_split交叉验证。
我可以尝试编写自己的 for 循环,但如果不利用 GridSearchCV 中使用的内置并行化,效率会很低。
任何人都知道如何为此利用 GridSearchCV 吗?或者提供一个不太慢的替代方案。
python - gridsearchcv 中的 refit 选项是否会重新选择功能?
我正在使用 gridsearchcv 来训练逻辑回归分类器。我想知道的是 refit 命令是否根据选择的超参数 C 重新选择特征,或者只是使用在交叉验证过程中选择的特征并且只重新拟合系数的值而不重新选择特征?
python - 在gridsearchcv中保存每次迭代的参数
我想保存 Gridsearchcv 参数网格的当前迭代参数值。我正在使用 xgboost 作为 65000 个功能的估计器运行 gridsearchcv。作为备份,我想存储 gridsearch 迭代的当前参数网格值。如果网格搜索使用这些存储的值被中断,我可以从它停止的地方重新启动网格搜索。
下面的链接是一个初学者
请滚动到上面链接中引用的 _search.py 中的第 660 行。在那里您将找到以下行代码
因此,_fit_and_score 是可以轻松获得每次迭代的参数值的最佳位置。在这个函数中,我可以使用 joblib 转储参数
我遇到的一个解决方案是将标准输出重定向到一个文件。
我想知道是否有更好的方法来保存 gridsearchcv 的当前迭代值
python - 使用 GridSearchCV 测试多个管道
我有一些文本数据,我想在单个 GridSearchCV 调用中使用不同的、不同的模型集来试验多种数据转换技术。这个想法是:在具有模型 1、2 和 3 的管道中给定数据转换 A,并在具有模型 4、5 和 6 的管道中给定数据转换 B,其中 A 与 1、2 或 3 的组合或具有 4、5 或 6 的 B 产生最佳预测结果?
目前,我一直在做 2 个单独的 GridSearchCV 调用——一个带有一个管道,一个带有另一个,但这似乎非常低效,即使在多处理包装器中完成也是如此。我也一直在互联网上寻找一些与我想做的类似的例子。
我找到了这个小教程:https ://www.kaggle.com/evanmiller/pipelines-gridsearch-awesome-ml-pipelines但它只完成了我想做的一半。给定以下示例(取自链接教程的“Pipeline 4.0 - contVars + tax(FeatureUnion intro)”部分):
看起来,虽然“cont_portal”和“tax_portal”产生了两个不同的数据转换管道(我想做的前半部分),但它们都被定向到 LGBMRegressor。例如,是否可以让“cont_portal”仅由 LGBMRegressor 使用,而“tax_portal”仅由 Logit 模型使用,同时仍保持单一、通用管道和对 GridSearchCV 的单一调用?
python - Sklearn GridSearchCV 的参数无效
我得到ValueError: Invalid parameter...
了网格中的每一行。
我尝试逐行删除每个网格选项,直到网格为空。我复制并粘贴了参数的名称,pipeline.get_params()
以确保它们没有拼写错误。
python - 为什么不在 RandomizedSearchCV 中评估过度测试拟合结果?
我正在尝试优化 sklearn 中分类器和回归方法的超参数。我有一个问题。为什么在评估结果时,例如选择最佳训练准确度,而不是在测试中评估此结果,并用其他训练准确度迭代其他值以获得最佳测试准确度?因为显然最佳训练精度的参数与最佳测试精度的参数不同。
谢谢!
python - 如何修复 OneClassSVM 和 GridSearchCV 的错误“对于多指标评分”
我正在尝试使用 OnClassSVM 进行异常检测,并使用 GridSearchCV() 调整其参数,如下所示:
我已经搜索了许多网站,包括https://stackoverflow.com/,但找不到任何适合我的方案的解决方案。代码在这里:
但它给了我如下错误
对于多指标评分,必须将参数 refit 设置为 scorer 键或可调用函数,以在整个数据上使用最佳参数设置重新拟合估计器,并使 best_* 属性可用于该指标。如果不需要,则应将 refit 显式设置为 False。'false' 已通过
scikit-learn - 管道和网格搜索的 SKLearn 错误
我想首先将我的数据拆分为测试和训练集。然后我想在我的训练集上使用 GridSearchCV(内部分成训练/验证集)。最后我想收集所有的测试数据并做一些其他的事情(不在问题的范围内)。
我必须扩展我的数据。所以我想在管道中处理这个问题。我的 SVC 中的某些内容应该被修改(kernel='rbf', class_weight=...)。当我运行代码时,会发生以下情况:
“ValueError:估计器管道的参数估计器无效”
我不明白我做错了什么。我试图关注这个线程:StandardScaler with Pipelines and GridSearchCV
唯一的区别是,我在我的 SVC 中修复了一些参数。我该如何处理?
我也试过这样:
这也行不通。
scikit-learn - 将目标/标签数据传递给 Scikit-learn GridSearchCV 的 OneClassSVM 拟合方法
据我了解,一类 SVM 是在没有目标/标签数据的情况下进行训练的。
Use of OneClassSVM with GridSearchCV 的一个答案建议当分类器是OneClassSVM
.
该方法如何GridSearchCV
处理这些数据?
它实际上是否在OneClassSVM
没有目标/标签数据的情况下进行训练,并且只使用目标/标签数据进行评估?
我尝试遵循GridSearchCV 源代码,但找不到答案。
python-3.x - “GridSearchCV”对象没有属性“support_vectors_”
我正在尝试使用 GridSearch 找到最佳参数,然后还使用最佳参数找出支持向量。
这是代码:
错误:
sklearn 0.21.2
如何解决这个问题?