【发布时间】:2018-03-07 17:36:34
【问题描述】:
我正在尝试为我的 SVM 计算最佳 C 和 Gamma。尝试运行我的脚本时出现此错误:
ValueError: Invalid parameter max_features for estimator SVC. Check the list of available parameters withestimator.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 和gamma=10 的效果最好。然而,我想使用这个函数来找出最佳值应该是什么。
我的代码被这篇帖子所吸引:How to get Best Estimator on GridSearchCV (Random Forest Classifier Scikit)
【问题讨论】:
-
如果某个答案对您有帮助,请投票 (meta.stackexchange.com/questions/173399/…),以便其他用户也知道哪个答案对您有帮助。
标签: python scikit-learn