回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<div>
</div>
<p>我正在对RandomizedSearchCV进行拟合,这是我的管道和参数网格</p>
<p>我将此作为估计值传递:</p>
<pre><code>pipe_rand_svc=MyPipeline(steps=[('standardscaler',StandardScaler()),
('randsc',RandomizedSearchCV(SVC(probability=True),
param_grid))])
</code></pre>
<p>我把它作为参数传递</p>
<pre><code>param_grid={'randsc__estimator__C':[1E-2,1E-1,1,10,100],'randsc__estimator__gamma':[1E-2,1E-1,1,10,100]}
</code></pre>
<p>以上是我从跑步中得到的名字</p>
<pre><code>pipe_rand_svc.get_params().keys()
</code></pre>
<p>但我仍然会犯这样的错误:</p>
<pre><code>ValueError: Invalid parameter randsc for estimator SVC(C=1, break_ties=False, cache_size=200, class_weight=None,
coef0=0.0, decision_function_shape='ovr', degree=3,
gamma=1, kernel='rbf', max_iter=-1, probability=True,
random_state=None, shrinking=True, tol=0.001, verbose=False). Check the list of available parameters with `estimator.get_params().keys()`.
</code></pre>
<p>如果您有任何建议,我将不胜感激</p>
<p>编辑:</p>
<p>S示例代码:</p>
<pre><code>X1,y1=make_classification()
param_grid={'C':[1E-2,1E-1,1,10,100],'gamma':[1E-2,1E-1,1,10,100]}
pipe_rand_svc=MyPipeline(steps=[('standardscaler',StandardScaler()),('randsc',RandomizedSearchCV(SVC(probability=True),param_grid))])
a=RandomizedSearchCV(estimator=pipe_rand_svc,param_distributions=param_grid)
a=a.fit(X1,y1)
</code></pre>
<p>编辑2:</p>
<p>奇怪的是,这就像一个符咒:</p>
<pre><code>param_grid={'svc__C':[1E-2,1E-1,1,10,100],'svc__gamma':[1E-2,1E-1,1,10,100]}
pipe_svc=MyPipeline(steps=[('standardscaler',StandardScaler()),('svc',SVC(probability=True))])
b=GridSearchCV(estimator=pipe_svc,param_grid=param_grid)
b=b.fit(X1,y1)
</code></pre>
<p>编辑3:</p>
<p>好的,我知道我做了什么。将RandomizedSearchCV传递到管道中,然后再次尝试运行RandomizedSearchCV。。。为所有相关人员道歉。睡眠恶化正在造成损失</p>