问题标签 [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.
scikit-learn - GridSearch / make_scorer xgboost 模型的奇怪结果
我正在尝试将 sklearn 的 gridsearch 与 xgboost 创建的模型一起使用。为此,我正在创建一个基于 ndcg 评估的自定义记分器。我可以成功地使用 Snippet 1,但它太杂乱/太老套了,我宁愿使用好的旧 sklearn 来简化代码。我尝试实现 GridSearch,结果完全关闭:对于相同的 X 和 y 集,我得到 NDCG@k = 0.8 与 Snippet 1 而 0.5 与 Snippet 2。显然,我没有在这里做一些事情......
以下代码段返回非常不同的结果:
片段1:
片段2:
虽然 snippet1 给了我预期的结果,但 Snippet2 返回的分数与 ndcg_scorer 不一致。
python - 以f1为评分函数的网格搜索,多页错误信息
想使用 Gridsearch 来寻找最佳参数,并使用 f1 作为评分指标。
如果我删除评分功能,一切正常,我不会出错。
这是我的代码:
当我执行时,我将页面上的页面视为错误,并且我无法对其进行正面或反面:(
parameters - 了解 sklearn grid_search
我正在努力理解grid_search
课程的运作方式。我想找到max_depth
可以与RandomForestClassifier
. 我指定了我希望搜索运行的可能选项,并且我希望模块输出“最合适”的max_depth
选项。
给定一组可能的选项,我希望我的explorer
网格搜索模块返回最佳参数。为什么还在使用默认值?如何使用查找“最佳拟合”参数?max_depth
[1,2,3,4]
None
grid_search
python - Python sklearn:fit_transform() 不适用于 GridSearchCV
我正在创建一个GridSearchCV
分类器
这很好用,我可以预测。但是,现在我想重新训练分类器。为此,我想做fit_transform()
一些反馈数据。
但我得到这个错误
基本上我正在尝试fit_transform()
分类器的内部TfidfVectorizer
。我知道我可以使用该属性访问Pipeline
的内部组件。named_steps
我可以做类似的事情gridSearchClassifier
吗?
python - 搜索估计器参数返回的结果不在网格中?
我正在使用 sklearn 并正在微调我的 SVM,但是当我尝试做 a 时GridSearchCV
,我得到了我什至没有网格搜索的参数!
举个例子:
当我运行时clf.get_params()
,我得到:
它每次都给我一个 C 值 1 和 rbf 内核。有什么我做错了吗?
python - 是否有简单的方法来网格搜索而不在 python 中进行交叉验证?
scikit-learn 中有绝对有用的类 GridSearchCV 可以进行网格搜索和交叉验证,但我不想进行交叉验证。我想在没有交叉验证的情况下进行网格搜索并使用整个数据进行训练。更具体地说,我需要在网格搜索期间使用“oob score”评估由 RandomForestClassifier 制作的模型。有简单的方法吗?还是我应该自己上课?
要点是
- 我想用简单的方法进行网格搜索。
- 我不想做交叉验证。
- 我需要使用整个数据来训练。(不想分开训练数据和测试数据)
- 我需要在网格搜索期间使用 oob 分数进行评估。
scikit-learn - 加权 AUC 的网格搜索
所以我使用的是样本权重函数,我不想使用默认的 sklearn 评分函数来衡量性能。
看起来它说在这里我可以传递GridSearchCV
字符串'roc_auc',它应该为我计算auc,但它计算的auc是加权auc还是只是一个普通的auc?
python - GridSearchCV:每次函数完成循环时打印一些表达式
假设您function
在 Python 中有一些通过循环工作的函数:例如,它可能是一个计算某个数学表达式的函数,例如x**2
,对于数组中的所有元素,例如([1, 2, ..., 100])
(显然这是一个玩具示例)。是否可以编写一个代码,使得每次function
循环并获得结果时,执行一些代码,例如print("Loop %s has been executed" % i)
?因此,在我们的示例中,当x**1
已计算时,程序会打印Loop 1 has been executed
,然后在x**2
已计算时,它会打印Loop 2 has been executed
,依此类推。
请注意,困难来自我没有编写函数的事实,它是某个包中预先存在的函数(更具体地说,我感兴趣的函数GridSearchCV
来自 package scikit learn
)。
python - TypeError:如果未指定评分,则在 GridSearch 中使用 CountVectorizer 时,传递的估计器应具有“分数”方法
我正在使用 scikit-learn 练习一些文本。
为了更加熟悉 GridSearch,我从这里找到的一些示例代码开始:
请注意,我在这里非常小心,我只有一个估计器和一个参数!
我发现当我运行它时,我得到了错误:
嗯...为什么我缺少某种“分数”属性?
当我检查可能的参数时,
正如这个答案所暗示的那样,我看不到任何可以得分的地方。
文档说By default, parameter search uses the score function of the estimator to evaluate a parameter setting.
那么为什么我需要指定评分方法?
无论如何,我认为我可能需要明确地传递一个scoring
参数,但这并没有帮助并给我一个错误: grid_search.fit(X_train, y_train, scoring=None)
我不明白这个错误!
python - 带有 GridSearchCV 的随机森林 - param_grid 上的错误
我正在尝试使用 GridSearchCV 创建一个随机森林模型,但出现与 param_grid 有关的错误:“ValueError: Invalid parameter max_features for estimator Pipeline。使用 `estimator.get_params().keys()" 检查可用参数列表。我正在对文档进行分类,因此我也在将 tf-idf 矢量化器推到管道中。这是代码:
我无法弄清楚为什么会显示错误。当我使用 GridSearchCV 运行决策树时,也会发生同样的情况。(Scikit-learn 0.17)