У меня есть набор данных, который ранее был разделен на 3 набора: тренировка, проверка и тестирование. Эти наборы должны использоваться как дано для сравнения производительности по различным алгоритмам.
Теперь я хотел бы оптимизировать параметры моего SVM, используя набор проверки. Тем не менее, я не могу найти, как явно ввести набор проверки в sklearn.grid_search.GridSearchCV()
. Ниже приведен код, который я ранее использовал для перекрестной проверки K-Fold на тренировочном наборе. Тем не менее, для этой проблемы мне нужно использовать набор проверки, как указано. Как я могу это сделать?
from sklearn import svm, cross_validation
from sklearn.grid_search import GridSearchCV
# (some code left out to simplify things)
skf = cross_validation.StratifiedKFold(y_train, n_folds=5, shuffle = True)
clf = GridSearchCV(svm.SVC(tol=0.005, cache_size=6000,
class_weight=penalty_weights),
param_grid=tuned_parameters,
n_jobs=2,
pre_dispatch="n_jobs",
cv=skf,
scoring=scorer)
clf.fit(X_train, y_train)