搜索估计器参数返回的结果不在网格中?
Posted
技术标签:
【中文标题】搜索估计器参数返回的结果不在网格中?【英文标题】:Searching for estimator parameters returns results not in grid? 【发布时间】:2016-04-07 18:02:16 【问题描述】:我正在使用 sklearn 并正在微调我的 SVM,但是当我尝试执行 GridSearchCV
时,我得到了我什至没有网格搜索的参数!
举个例子:
parameters = 'kernel':['linear'], 'C': [10, 100, 1000]
cv = cross_validation.ShuffleSplit(len(X), n_iter=4, test_size=0.1, random_state=None)
svr = SVC()
clf = grid_search.GridSearchCV(svr, parameters, cv=cv)
clf.fit(X,Y) #X,Y are my two datasets
当我运行clf.get_params()
时,我得到:
n_jobs : 1
verbose : 0
estimator__gamma : auto
estimator__decision_function_shape : None
estimator__probability : False
param_grid : 'kernel': ['linear'], 'C': [10, 100, 1000]
cv : ShuffleSplit(120, n_iter=4, test_size=0.1, random_state=None)
scoring : None
estimator__cache_size : 200
estimator__verbose : False
pre_dispatch : 2*n_jobs
estimator__kernel : rbf
fit_params :
estimator__max_iter : -1
refit : True
iid : True
estimator__shrinking : True
estimator__degree : 3
estimator__class_weight : None
estimator__C : 1.0
estimator__random_state : None
estimator : SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
decision_function_shape=None, degree=3, gamma='auto', kernel='rbf',
max_iter=-1, probability=False, random_state=None, shrinking=True,
tol=0.001, verbose=False)
estimator__coef0 : 0.0
error_score : raise
estimator__tol : 0.001
它每次都给我一个 C 值 1 和 rbf 内核。是不是我做错了什么?
【问题讨论】:
【参考方案1】:我意识到,在尝试获取最佳估算器参数时,必须使用best_params_
属性。
通过说:
print(clf.best_params_)
我得到了最好的网格搜索参数。任何人都可以输入estimator
值的含义(例如estimator_C
是1.0
)吗?
【讨论】:
以上是关于搜索估计器参数返回的结果不在网格中?的主要内容,如果未能解决你的问题,请参考以下文章
你能从 sklearn 网格搜索 (GridSearchCV) 中获得所有估计器吗?
GridSearchCV 估计器 LogisticRegression 的参数 gamma 无效