如何在Python中找到GridSearchCV的所有参数?

时间:2015-12-28 16:36:05

标签: python python-2.7 pandas machine-learning scikit-learn

我想为每个估算器找到完整的参数集:

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=...)

查找所有可能参数及其值的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

您必须阅读每种方法的文档(或至少通过help( )命令的文档字符串)并确定适合的参数。特别是,它们中的许多都具有无限多个可能的值(例如C),因此您无法检查所有值。你需要一些抽样。

除此之外,没有人可以决定是否在SVM中检查多种加权样本的方法,是否测试多个停止容差参数。