如何在 Python 中找到 GridSearchCV 的所有参数?
Posted
技术标签:
【中文标题】如何在 Python 中找到 GridSearchCV 的所有参数?【英文标题】:How find all parameters for GridSearchCV in Python? 【发布时间】:2016-04-02 12:28:27 【问题描述】:我想为每个估算器找到完整的参数集:
estimators = [df.svm.SVR(), df.svm.LinearSVR(), df.svm.NuSVR()]
在测试代码中,我只添加了一些细节'kernel':('linear', 'rbf')
,在示例中找到:
from sklearn import svm, grid_search, datasets
iris = datasets.load_iris()
parameters = 'kernel':('linear', 'rbf'), 'C':[1, 10]
svr = svm.SVC()
clf = grid_search.GridSearchCV(svr, parameters)
clf.fit(iris.data, iris.target)
...
> GridSearchCV(cv=None, error_score=...,
> estimator=SVC(C=1.0, cache_size=..., class_weight=..., coef0=...,
> decision_function_shape=None, degree=..., gamma=...,
> kernel='rbf', max_iter=-1, probability=False,
> random_state=None, shrinking=True, tol=...,
> verbose=False),
> fit_params=, iid=..., n_jobs=1,
> param_grid=..., pre_dispatch=..., refit=...,
> scoring=..., verbose=...)
找到所有可能的参数及其值的最佳方法是什么?
【问题讨论】:
您可以使用svr.get_params()
获取 GridSearchCV 可以调整的所有参数的列表。我不确定是否可以获得可能值的列表(除了阅读文档)。
您使用的参数将根据您使用的算法而改变。随机森林将具有与 K 个最近邻不同的参数,并且两者都将不同于支持向量机。上面的注释显示了如何获取每个参数的
【参考方案1】:
您必须阅读每个方法的文档(或至少通过help( )
命令的文档字符串)并决定适合哪些参数。特别是,其中许多具有无限数量的可能值(例如 C),因此您无法检查 所有 值。您将需要一些采样。
尤其是除了你之外没有人可以决定是否检查 SVM 中加权样本的多种方式,是否测试多个停止容差参数。
【讨论】:
以上是关于如何在 Python 中找到 GridSearchCV 的所有参数?的主要内容,如果未能解决你的问题,请参考以下文章
使用 python 中的 hypopt 包在 GridSearch 函数中指定评分指标