Verwendung eines expliziten (vordefinierten) Validierungssatzes für die Grid-Suche mit sklearn

8

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?

%Vor%     
pir 11.08.2015, 18:03
quelle

1 Antwort

10

Verwenden Sie PredefinedSplit

%Vor%

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.

    
yangjie 11.08.2015, 18:30
quelle