问题标签 [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.
machine-learning - 在小数据集上使用 GridSearch 并在大数据集上应用结果是个好主意吗?
我有一个带有 TfidVectorizer 和 OneVsRestClassifier(SGDClassifier) 的管道。这是我要执行的 gridSearch 的参数:
问题:我想知道哪个是最佳的参数组合,但我无法使用我的计算机在 100k 个实例上运行这样的 gridSearch。
问题:在 100k 个实例数据集和假设为 10-20k 个样本的子集上,这种 gridSearch 的结果有多相似(可能参数集更小)?
您可能已经知道我正在处理文本的多标签分类问题。
谢谢 :)
python - ValueError:不支持连续
我正在使用 GridSearchCV 对线性回归(不是分类器也不是逻辑回归)进行交叉验证。
我还使用 StandardScaler 对 X 进行标准化
我的数据框有 17 个特征(X)和 5 个目标(y)(观察)。约 1150 行
我不断收到 ValueError: Continuous is not supported 错误消息并且用完了选项。
这是一些代码(假设所有导入都正确完成):
这些是代码的主要部分
这是错误输出的主要部分:
这是使用 soil.head(15) 后的一些数据。它没有显示所有列,但它的行为方式应该与 8 个特征而不是 17 个相同。至于目标:这些是最后 5 列,但这里的代码只计算了一个 (Ca)
15行×22列
python - TFIDF 的 Python ScikitLearn GridSearchCV 问题 - JobLibValueError?
所以我有一个词库,我正在运行 TFIDF,然后尝试使用 Logistic Regression 和 GridSearch 进行分类。
但是当我运行 GridSearch 时,我遇到了一个巨大的错误。错误是这样的(它更长,但我只是复制并粘贴了一点):
我究竟做错了什么?这就是我正在做的事情:
scikit-learn - GridSearchCV(OneVsRestClassifier(clf, ...)):所有 N 个分类器的 1 个最佳超参数集与每个分类器的 1 个最佳超参数集
背景
比方说,我们有L
标签来预测多类(或多标签)问题。使用OneVsRestClassifier
,L
正在构建分类器。假设,我们使用LogisticRegression
单个分类器。
GridSearchCV
当使用(resp. )搜索最优超参数时RandomizedSearchCV
,我们运行:
问题
通过运行GridSearchCV
上面的命令,我们将获得一组最佳超参数,用于训练(resp. refit)所有L
分类器。因此,例如,我们将获得 的最佳值,并且该C=10
值将用于重新拟合所有L
分类器。
我的问题是为什么GridSearchCV
不为每个L
分类器返回一组不同的最佳超参数。例如label0
,一个最优的C=10
,label1
将得到一个最优的C=0.01
,...?为什么决定返回一组超参数,而不是为每个分类器返回一组?
以往的经验
我之所以这样问,是因为这种行为与我“手动”训练每个标签分类器时通常得到的行为不同。例如,对于某些任务,我有数千个标签要预测,我单独训练每个标签分类器(分布在许多机器上),因此我肯定会为每个标签分类器获得不同的超参数值。
python - Sklearn:评估 GridSearchCV 中 OneVsRestClassifier 的每个分类器的性能
我正在使用 和 处理多标签OneVsRestClassifier
分类SVC
,
第一个问题
数字0.85
代表什么?它是分类器中最好的L
还是平均的?同样,这组参数是否代表分类器中得分最高的L
?
第二个问题
基于这样一个事实,如果我是对的,从OneVsRestClassifier
字面上L
为每个标签构建分类器,人们可以期望访问或观察每个标签的性能。但是,在上面的示例中,如何L
从对象中获取分数GridSearchCV
?
编辑
为了简化问题并帮助自己更多地了解OneVsRestClassifier
,在调整模型之前,
可以证明gp.T[0]==fp
和gp.T[1]==sp
。gp.T[2]==tp
因此,“全局”预测只是“连续”的L
个体预测,而第二个问题就解决了。
但是让我感到困惑的是,如果一个元分类器OneVsRestClassifier
包含L
分类器,那么GridSearchCV
对于OneVsRestClassifier
具有L
?
看到任何评论将不胜感激。
python - Scikit - 结合规模和网格搜索
我是 scikit 的新手,在结合数据规模和网格搜索方面有 2 个小问题。
- 高效洁牙机
考虑使用 Kfolds 进行交叉验证,我希望每次我们在 K-1 折叠上训练模型时,数据缩放器(例如使用 preprocessing.StandardScaler() )仅适合 K-1 折叠然后适用于剩余的折叠。
我的印象是,以下代码将适合整个数据集的缩放器,因此我想对其进行修改以使其行为如前所述:
- 检索内部定标器配件
当 refit=True 时,“在”网格搜索之后,模型在整个数据集上重新拟合(使用最佳估计器),我的理解是管道将再次使用,因此缩放器将适合整个数据集。理想情况下,我想重用该拟合来扩展我的“测试”数据集。有没有办法直接从 GridSearchCV 中检索它?
python - 如何尝试函数的一组可能参数的所有组合并收集结果值?
我有以下形式的功能:
我想通过一组可能的参数组合记录它的返回值:
我的意思是我想使用以如下方式指定的参数集的组合多次运行该函数并收集结果值:
解决此类问题的一种好的、易读的方法是什么?
python - Sklearn 如何使用 Joblib 或 Pickle 保存从管道和 GridSearchCV 创建的模型?
使用pipeline
and确定最佳参数后GridSearchCV
,我pickle
/joblib
这个过程如何在以后重用?当它是一个单一的分类器时,我看到了如何做到这一点......
pipeline
但是,在执行和完成 a 之后,如何以最佳参数整体保存它gridsearch
?
我试过了:
joblib.dump(grid, 'output.pkl')
- 但这抛弃了每次网格搜索尝试(许多文件)joblib.dump(pipeline, 'output.pkl')
- 但我不认为它包含最好的参数
python - AttributeError:“GridSearchCV”对象没有属性“best_estimator_”
我正在使用网格搜索来调整模型的参数(随机森林、线性回归等)。所以我将gs
对象保存在grid_searches
:
然后我想访问每个模型的最佳估计器以进行预测:
错误如下:
那么我应该如何使用 Grid Search 找到的最佳模型进行预测呢?
python - 如何正确合并集成中模型的输出?
我试图弄清楚如何正确创建回归合奏。我知道有多种选择。我使用以下方法。首先,我定义了线性回归、GBM 等模型。然后我为每个模型运行 GridSearchCV 以了解最佳参数。在此之后,我想在考虑每个模型的单独预测的同时做出最终预测。问题是如何正确地将单个预测合并到单个 Y 向量中?似乎为每个预测分配权重系数不适合回归问题。如果是,那么如何获得这样的权重系数?也许好的方法是使用个体预测作为训练集来训练元模型?