Warum liefert RandomizedSearchCV manchmal schlechtere Ergebnisse als die manuelle Optimierung in scikit-learn?Python

Python-Programme
Anonymous
 Warum liefert RandomizedSearchCV manchmal schlechtere Ergebnisse als die manuelle Optimierung in scikit-learn?

Post by Anonymous »

Ich arbeite an einem Klassifizierungsproblem mit dem RandomForestClassifier von scikit-learn. Ich habe versucht, RandomizedSearchCV für die Optimierung von Hyperparametern zu verwenden, aber die Ergebnisse waren schlechter als wenn ich die Parameter manuell basierend auf Intuition und Versuch/Irrtum eingestellt habe.
Hier ist eine vereinfachte Version meines Codes:

Code: Select all

from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import RandomizedSearchCV

param_dist = {
"n_estimators": [100, 200, 300],
"max_depth": [None, 10, 20, 30],
"min_samples_split": [2, 5, 10],
"min_samples_leaf": [1, 2, 4],
}

clf = RandomForestClassifier(random_state=42)
random_search = RandomizedSearchCV(clf, param_distributions=param_dist, n_iter=10, cv=5, scoring='accuracy')
random_search.fit(X_train, y_train)
In mehreren Durchläufen liefert dieser Ansatz Modelle mit geringerer Genauigkeit auf meinem Testsatz als mein manuell abgestimmtes Modell.
Was sind häufige Fallstricke bei der Verwendung von RandomizedSearchCV?
Wie kann ich Reproduzierbarkeit und Robustheit des Optimierungsprozesses sicherstellen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post