私はWaitingTime変数を予測するモデルを開発しようとしています。私は、次のデータセットでランダムなフォレストを実行しています。ハイOOBエラーレート
$ 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 ...
Iは、サンプルのメソッドを使用して、80%/ 20%にトレーニング/テストサブセットにデータセットを分割した後BookingId因子を除いたランダムフォレストを実行しています。これは、予測を検証するためにのみ使用されます。
問題は、OOBエラー率の試行と低下を試み、精度を上げる試みがすべて失敗したことです。私が達成できた最大の精度は〜23%でした。
私は私の最後の試みがMrFlickの提案に従い、取得するために使用した機能の数、異なるntreeとmtry値、異なるトレーニング/テスト比、およびまた= 40 WaitingTime <を考慮したデータのみを取るを変更しようとしましたすべてのクラスの同じサンプルサイズは、私の予測変数(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,]
あなたは、私が50%以上、少なくとも精度を達成することができますどのように任意の他の方法を知っていますか? WaitingTimeクラスによって
レコード:事前に
ありがとう!ランダムフォレストのハイパーパラメータをいじっ
答えていただきありがとうございます。あなたのリードに続き、元に戻るでしょう。 –
こんにちはTHC、 は、私は私のデータセットに対して、単純な回帰を実行し、145.1712のSMEを得ました。私はまた、相関関係を調べ、変数間に相関がないことを見出した。私は調整されたrandインデックスを計算する必要がありますが、他のアルゴリズムを試してみたいと思うかもしれませんが、より良い予測を返すアルゴリズムがあるかもしれません。 –