Ich habe einen Datensatz, der zuvor in drei Sätze unterteilt wurde: Zug, Validierung und Test. Diese Sets müssen verwendet werden, um die Leistung verschiedener Algorithmen zu vergleichen.
Ich möchte nun die Parameter meiner SVM mit dem Validierungssatz optimieren. Ich kann jedoch nicht finden, wie Sie den Validierungssatz explizit in sklearn.grid_search.GridSearchCV()
eingeben. Unten finden Sie einen Code, den ich zuvor für die K-fache Kreuzvalidierung am Trainingssatz verwendet habe. Für dieses Problem muss ich den Validierungssatz jedoch wie angegeben verwenden. Wie kann ich das tun?
Verwenden Sie PredefinedSplit
setze dann cv=ps
in GridSearchCV
test_fold: "Array-artig, Form (n_samples,)
test_fold [i] gibt die Testmenge der Probe i. Ein Wert von -1 zeigt an, dass das entsprechende Sample nicht Teil eines Testsetfaltens ist, sondern stattdessen immer in die Trainingsfalte eingefügt wird.
Siehe auch hier
Wenn Sie einen Validierungssatz verwenden, setzen Sie test_fold für alle Proben, die Teil des Validierungssatzes sind, auf 0 und für alle anderen Proben auf -1.
Tags und Links python validation scikit-learn cross-validation