我正在尝试计算我的支持向量机的最佳C和Gamma。在尝试运行脚本时,出现以下错误:
ValueError: Invalid parameter max_features for estimator SVC. Check the list of available parameters with估算器.get_params().keys().
我通过了the docs来理解n_estimators的实际含义,这样我就知道应该在那里填充什么值。但我不太清楚。有人能告诉我这个值应该是多少,这样我就可以运行我的脚本来找到最佳的C和gamma吗?在
我的代码:if __name__=='__main__':
fname = "/home/John/labels.csv"
labels = pd.read_csv(fname, header=None).as_matrix()[:, 1]
labels = map(itemgetter(1),
map(os.path.split,
map(os.path.dirname, labels)))
fname = "/home/John/reps.csv"
embeddings = pd.read_csv(fname, header=None).as_matrix()
le = LabelEncoder().fit(labels)
labelsNum = le.transform(labels)
nClasses = len(le.classes_)
svcClassifier = SVC(kernel='rbf', probability=True, C=10, gamma=10)
#classifier = OneVsRestClassifier(svcClassifier).fit(embeddings, labelsNum)
param_grid = {
'n_estimators': [200, 700],
'max_features': ['auto', 'sqrt', 'log2']
}
CV_rfc = GridSearchCV(estimator=svcClassifier, param_grid=param_grid, cv= 5)
CV_rfc.fit(embeddings, labelsNum)
print CV_rfc.best_params_
在尝试之后,我发现在我的例子中,C=10和{}给出了最好的结果。但是我想用这个函数来找出最佳值。在