Ho un set di dati, che è stato precedentemente suddiviso in 3 set: treno, convalida e test. Questi set devono essere utilizzati come dati per confrontare le prestazioni tra diversi algoritmi.Utilizzo del set di convalida explict (predefinito) per la ricerca della griglia con sklearn
Vorrei ora ottimizzare i parametri del mio SVM utilizzando il set di convalida. Tuttavia, non riesco a trovare come inserire esplicitamente il set di convalida in sklearn.grid_search.GridSearchCV()
. Di seguito è riportato un codice precedentemente utilizzato per eseguire la convalida incrociata K-fold sul set di allenamento. Tuttavia, per questo problema ho bisogno di usare il set di validazione come dato. Come lo posso fare?
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)
Ho avuto lo stesso problema. Grazie per averlo segnalato! – Riyaz