0

トレイン セットには 303 個のデータ ポイントがあります (図を参照)。これらのポイントの多くは、Y 軸上で 0 に等しくなります。 ここに画像の説明を入力

ここで、Y 値を予測するように GBM モデルをトレーニングします。これが私のモデルです:

train.subset<- data.frame(yval=train$yval,
                               hour=train$hour,
                               daymoment=train$daymoment,
                               year=train$year,
                               log.windspeed=log(train$windspeed+1),
                               weather=train$weather,
                               workingday=train$workingday,
                               log.temp=log(train$temp+1),
                               log.atemp=log(train$atemp+1),
                               log.humidity=log(train$humidity+1))

inTrain <- caret::createDataPartition(train.subset$registered, 
                                      p = .85, list = FALSE)
train.registered <- train.subset[inTrain, ]

cv.registered <- train.subset[-inTrain, ]

fitControl <- trainControl(## 5-fold CV
                method = "repeatedcv",
                number = 10,
                ## repeated ten times
                repeats = 10)

gbmGrid <-  expand.grid(interaction.depth = c(1, 5, 9),
                        n.trees = (5:25)*50,
                        shrinkage = 0.1)

fit.registered <- train(registered ~., data=train.registered, method = "gbm",trControl = fitControl,verbose = FALSE,tuneGrid = gbmGrid)

prediction.registered<-predict(fit.registered, newdata = cv.registered)
prediction.registered[prediction.registered<0] <- min(prediction.registered[prediction.registered > 0])

RMSE <- sqrt(mean((prediction.registered - cv.registered$registered)^2))
RMSE

次に、RMSE の値が非常に高くなります: ~28。

yval以下は、交差検証セットの予測値と実際値の両方を示すプロットです。

ここに画像の説明を入力

この比較的単純な曲線に大きな誤差が生じる理由がわかりません。何か案が?で見つかったチューニングパラメータを使用して、別のパッケージを試してみてくださいcaret

念のため、この情報が役立つ場合:

> summary(fit.registered)

                        var   rel.inf
hour                   hour 23.385420
log.atemp         log.atemp 12.959972
daymoment.C     daymoment.C 11.605700
log.humidity   log.humidity 10.972162
log.windspeed log.windspeed  9.627754
daymoment.L     daymoment.L  7.517074
daymoment^4     daymoment^4  4.658695
log.temp           log.temp  4.567798
workingday       workingday  4.135300
daymoment.Q     daymoment.Q  3.766462
year                   year  3.763452
weather             weather  3.040211

アップデート:

列車セット

テストセット

4

0 に答える 0