2016-04-12 5 views
2

Kann jemand erklären, wie man das Attribut oob_decision_function_ für den Python SciKit Random Forest Classifier verwendet? Ich möchte es verwenden, um Lernkurven zu zeichnen, die Trainings- und Validierungsfehler mit verschiedenen Trainingssatzgrößen vergleichen, um Überanpassungen und andere Probleme zu identifizieren. Ich kann anscheinend keine Informationen darüber finden, wie das geht.Wie benutzt man die oob_decision_function_ von SciKit Random Forests für Lernkurven?

Antwort

2

Sie in einer benutzerdefinierten Bewertungsfunktion in eines der scoring Parameter in dem Modell Auswertefelder passieren können, braucht es die signiture classifier, X, y_true -> score zu haben.

Für Ihren Fall könnten Sie so etwas wie

from sklearn.learning_curve import learning_curve 
learning_curve(r, X, y, cv=3, scoring=lambda c,x,y: c.oob_score_) 

verwenden Dies wird 3-fach Kreuz validiert oob Scores gegen verschiedene Trainingssatzgrößen berechnen. Übrigens glaube ich nicht, dass man sich mit zufälligen Wäldern überziehen sollte, das ist einer der Vorteile von ihnen.

Verwandte Themen