Ich versuche, ein Modell zur Vorhersage der WaitingTime-Variable zu entwickeln. Ich verwende eine zufällige Gesamtstruktur für den folgenden Datensatz.Hohe OOB-Fehlerrate für zufällige Gesamtstruktur
$ BookingId : Factor w/ 589855 levels "00002100-1E20-E411-BEB6-0050568C445E",..: 223781 471484 372126 141550 246376 512394 566217 38486 560536 485266 ...
$ PickupLocality : int 1 67 77 -1 33 69 67 67 67 67 ...
$ ExZone : int 0 0 0 0 1 1 0 0 0 0 ...
$ BookingSource : int 2 2 2 2 2 2 7 7 7 7 ...
$ StarCustomer : int 1 1 1 1 1 1 1 1 1 1 ...
$ PickupZone : int 24 0 0 0 6 11 0 0 0 0 ...
$ ScheduledStart_Day : int 14 20 22 24 24 24 31 31 31 31 ...
$ ScheduledStart_Month : int 6 6 6 6 6 6 7 7 7 7 ...
$ ScheduledStart_Hour : int 14 17 7 2 8 8 1 2 2 2 ...
$ ScheduledStart_Minute : int 6 0 58 55 53 54 54 0 12 19 ...
$ ScheduledStart_WeekDay: int 1 7 2 4 4 4 6 6 6 6 ...
$ Season : int 1 1 1 1 1 1 1 1 1 1 ...
$ Pax : int 1 3 2 4 2 2 2 4 1 4 ...
$ WaitingTime : int 45 10 25 5 15 25 40 15 40 30 ...
Ich Aufspalten des Datensatzes in die Ausbildung/Testuntergruppen in 80%/20% der Probenmethode und dann einen zufälligen Wald mit Ausnahme des BookingID Faktor ausgeführt wird. Dies wird nur verwendet, um die Vorhersagen zu validieren.
Das Problem ist, dass alle Versuche, OOB Fehlerrate zu versuchen und zu verringern und die Genauigkeit zu erhöhen, fehlgeschlagen sind. Die maximale Genauigkeit, die ich erreichen konnte, betrug ~ 23%.
Ich habe versucht, die Anzahl der verwendeten Funktionen, verschiedene ntree und mtry Werte, verschiedene Trainings/Test-Verhältnisse und auch nur Daten mit WaitingTime < = 40 zu ändern. Mein letzter Versuch war MrFlick Vorschlag zu folgen und die gleiche Stichprobengröße für alle Klassen erhalten die gleiche Stichprobengröße für alle Klassen meiner Vorhersagevariablen (WaitingTime). 1
tempdata <- subset(tempdata, WaitingTime <= 40)
rndid <- with(tempdata, ave(tempdata$Season, tempdata$WaitingTime, FUN=function(x) {sample.int(length(x))}))
data <- tempdata[rndid<=27780,]
Kennen Sie alle anderen Möglichkeiten, wie ich zumindest Genauigkeit über 50% erreichen kann?
Aufzeichnungen von WaitingTime Klasse:
Vielen Dank im Voraus!
Vielen Dank für Ihre Antwort thc. Folgt Eurer Führung und kehrt zurück. –
Hallo thc, Ich lief einfache Regression gegen meine Datenmenge und bekam eine Sme von 145.1712. Ich habe auch auf Korrelation überprüft und festgestellt, dass es keine Korrelation zwischen den Variablen gibt. Ich muss immer noch den angepassten Rand-Index berechnen, obwohl ich andere Algorithmen ausprobieren möchte, vielleicht gibt es einen, der bessere Vorhersagen liefert. –