Erläuterungen zu num_classes für xgboost in R

8

Ich habe viel Mühe herauszufinden, wie man die num_classes für xgboost richtig einstellt.

Ich habe ein Beispiel mit den Iris-Daten

%Vor%

Dies gibt einen Fehler zurück

%Vor%

Wenn ich die num_class zu 2 ändere, bekomme ich den gleichen Fehler. Wenn ich die num_class auf 4 erhöhe, dann läuft das Modell, aber ich bekomme 600 vorhergesagte Wahrscheinlichkeiten zurück, was für 4 Klassen sinnvoll ist.

Ich bin mir nicht sicher, ob ich einen Fehler mache oder ob ich nicht verstehe, wie xgboost funktioniert. Jede Hilfe wäre willkommen.

    
House 18.03.2016, 14:07
quelle

2 Antworten

3

label muss in [0, num_class] stehen Fügen Sie in Ihrem Skript y<-y-1 vor model <-...

hinzu     
RustamA 18.03.2016 15:13
quelle
1
___ tag123r ___ R ist eine freie, quelloffene Programmiersprache und Softwareumgebung für statistische Berechnungen, Bioinformatik, Visualisierung und allgemeine Datenverarbeitung. Stellen Sie minimale, reproduzierbare, repräsentative Beispiele für Ihre Fragen bereit. Verwenden Sie dput () für Daten und geben Sie alle Nicht-Basis-Pakete mit Bibliotheksaufrufen an. Bilder für Daten oder Code nicht einbetten, eingerückte Codeblöcke verwenden. Verwenden Sie für statistische Fragen http://stats.stackexchange.com. ___ qstntxt ___

Ich habe viel Mühe herauszufinden, wie man die num_classes für xgboost richtig einstellt.

Ich habe ein Beispiel mit den Iris-Daten

%Vor%

Dies gibt einen Fehler zurück

%Vor%

Wenn ich die num_class zu 2 ändere, bekomme ich den gleichen Fehler. Wenn ich die num_class auf 4 erhöhe, dann läuft das Modell, aber ich bekomme 600 vorhergesagte Wahrscheinlichkeiten zurück, was für 4 Klassen sinnvoll ist.

Ich bin mir nicht sicher, ob ich einen Fehler mache oder ob ich nicht verstehe, wie xgboost funktioniert. Jede Hilfe wäre willkommen.

    
___ qstnhdr ___ Erläuterungen zu num_classes für xgboost in R ___ answer36087963 ___

label muss in [0, num_class] stehen Fügen Sie in Ihrem Skript num_class vor num_class

hinzu     
___ antwort43901945 ___

Ich bin auch auf dieses ziemlich seltsame Problem gestoßen. Es schien in meiner Klasse ein Ergebnis von nicht richtig Codierung der Etiketten zu sein.

Erstens, indem ich einen String-Vektor mit N Klassen als Label verwende, konnte ich den Algorithmus nur ausführen, indem ich %code% = N + 1 setze. Dieses Ergebnis war jedoch nutzlos, da ich nur N tatsächliche Klassen und N hatte +1 Buckets vorhergesagter Wahrscheinlichkeiten.

Ich rekodierte die Labels als Ganzzahlen a nd dann funktionierte %code% gut, wenn sie auf N gesetzt wurde.

%Vor%

und

%Vor%

Zum Beispiel.

    
___ tag123xgboost ___ XGBoost ist eine Bibliothek zum Konstruieren von geboosteten Baummodellen in R, Python, Java, Scala und C ++. Verwenden Sie dieses Tag für paketspezifische Probleme (z. B. Eingabe / Ausgabe, Installation, Funktionalität). ___
Hack-R 10.05.2017 20:14
quelle

Tags und Links