2016-04-04 13 views
0

Kann ein Entscheidungsbaum in einen bestimmten Grad gezwungen werden, selbst wenn er vorher verworfen wurde?Erzwingen von Entscheidungsbäumen in minimale Grade

Ich habe versucht, einen Entscheidungsbaum mit Party Package (ctree) zu bauen, aber es wird von den Parametern/Kategorien ignoriert, die eingerichtet werden. Gibt es eine Möglichkeit, einen Entscheidungsbaum mit allen festgelegten Kategorien aufzunehmen (selbst wenn die Ergebnisse knapp sind)? Ich möchte den Baum auf Mindestanzahl der Knoten zwingen.

Zum Beispiel gibt es im angeschlossenen Diagramm 7 Knoten. Ich möchte den Baum mit 10 Knoten zwingen. Dies ist möglich?

Danke!

Optimum tree for iris

Antwort

0

Aus Ihrer Frage klar es ist nicht das, was Sie erreichen wollen. Fügen Sie reproduzierbaren Code hinzu und beschreiben Sie Ihr Problem. Hier ist ein Beispiel, wie Sie Anzahl der Knoten/Bäume parametrieren können bei Bedarf:

library(caret) 
modFit<-train(classifier~., data=training, method="rf", ntree=100, importance=TRUE, maxnodes=3) 

Mehr Details über Baum-basierte Modelle (mit Paket ‚caret‘):

http://topepo.github.io/caret/Tree_Based_Model.html 
+0

bearbeitet, Dank !!! – AsSAASA

+0

Nicht sicher, was das Ziel dieser Übung ist. Aber Sie können eine unterschiedliche Anzahl von Knoten erhalten, indem Sie die Trainingsparameter grundlegend ändern. Z.B. Die nächsten Werte ergeben die 10 gewünschten Knoten: 'tree1 <- Baum (Species ~ Sepal.Width + Petal.Width, Kontrolle = tree.control (nobs = 150, mincut = 3, minsize = 7, mindev = 0), Daten = iris) ' – Alex

+0

Ich denke nicht, dass es in' ctree() '(oder' rpart() 'auch möglich ist, einen Baum zu zwingen, genau 10 Knoten zu haben). Sie haben verschiedene Optimierungsoptionen wie die minimale Knotengröße, die maximale Tiefe des Baums und für 'ctree()' das Signifikanzniveau, das erforderlich ist, um weiterzuspalten. Das Ändern, wie zuvor von @Alex erwähnt, kann zu einem Baum von (ungefähr) der gewünschten Größe führen. –