我有一个机器学习问题,想优化我的SVC估计器以及特征选择。
为了优化SVC估计器,我主要使用了文档中的代码。现在我的问题是,如何将这个与递归特征消除交叉验证(RCEV)结合起来?也就是说,对于每个估计器组合,我希望进行RCEV以确定最佳的估计器和特征组合。
我尝试了这个线程中的解决方案,但出现了以下错误:
ValueError: Invalid parameter C for estimator RFECV. Check the list of available parameters with `estimator.get_params().keys()`.
我的代码如下所示:
tuned_parameters = [{'kernel': ['rbf'], 'gamma': [1e-4,1e-3],'C': [1,10]}, {'kernel': ['linear'],'C': [1, 10]}]estimator = SVC(kernel="linear")selector = RFECV(estimator, step=1, cv=3, scoring=None)clf = GridSearchCV(selector, tuned_parameters, cv=3)clf.fit(X_train, y_train)
错误出现在clf = GridSearchCV(selector, tuned_parameters, cv=3)
处。
回答:
我会使用Pipeline,但这里有一个更合适的回答