Деревья решений, контроль = список (minsplit, maxdepth) - PullRequest
0 голосов
/ 17 февраля 2020

У меня 428 наблюдений и 51 переменная. Я хочу вычислить дерево решений, но я хочу точно настроить параметры. Сначала я использовал данные тренировок, а затем хочу выбрать лучший мини-сплит и maxdepth.

Для этого я сделал al oop для мини-сплита и maxdepth.


for (i in 1:10){
  for (j in 1:10){

predictions_summary_dt=data.frame()

        mytree<- rpart(sales~.,data=data.training[,-c(4)],method="anova", control = list(minisplit= j, maxdepth=i))

        prediction<-predict(mytree,newdata=data.validation[,-c(1,4)])

  predictions_summary.dt=rbind(predictions_summary.dt,data.frame(obs=data.validation[,1],pred=prediction))

R2.mytree<-(cor(predictions_summary.dt$sales,predictions_summary.dt$pred))^2
  R2.mytree

  MSE.mytree<-mse(predictions_summary.dt$sales,predictions_summary.dt$pred)
  MSE.mytree

  MAE.mytree <- mean(abs(predictions_summary.dt$pred-predictions_summary.dt$sales))
  MAE.mytree

  MAPE.mytree<-mape(predictions_summary.dt$sales, predictions_summary.dt$pred)
  MAPE.mytree

  results_trees=rbind(results_trees,data.frame(R2.mytree,MSE.mytree,MAE.mytree,MAPE.mytree,i,j))
}
}
results_trees```

Как выбрать лучший мини-сплит и максимальную глубину? Есть ли способ выбрать? Лучший минисплит это тот, у кого ниже MSE? Или тот, что с нижним ксеррором?

Спасибо

...