Neha gupta
2019-Dec-22 17:15 UTC
[R] all the MAE metric values are missing (Error message)
I am using the following code to tune the 4 parameters of Gradient Boosting algorithm using Simulated annealing (optim). When I run the program, after few seconds it stops and displays the following error: I point out here that the same code works for RF ( mtry parameter) and SVM (cost and sigma parameters). So, I guess the problem should be in the 4 parameters of GBM Something is wrong; all the MAE metric values are missing: RMSE Rsquared MAE Min. : NA Min. : NA Min. : NA 1st Qu.: NA 1st Qu.: NA 1st Qu.: NA Median : NA Median : NA Median : NA Mean :NaN Mean :NaN Mean :NaN 3rd Qu.: NA 3rd Qu.: NA 3rd Qu.: NA Max. : NA Max. : NA Max. : NA NA's :1 NA's :1 NA's :1 Code is here/// If you need the dataset, I can attach in the email d=readARFF("dat.arff") ///DATA IS REGRESSION BASED index <- createDataPartition(log10(d$Price), p = .70,list = FALSE) tr <- d[index, ] ts <- d[-index, ] index_2 <- createFolds(log10(tr$Price), returnTrain = TRUE, list = TRUE) ctrl <- trainControl(method = "cv", index = index_2) obj <- function(param, maximize = FALSE) { mod <- train(log10(Price) ~ ., data = tr, method = "gbm", preProc = c("center", "scale", "zv"), metric = "MAE", trControl = ctrl, //HERE IN tuneGrid WHEN I USE PARAMETERS FOR SVM AND RF, IT WORKS, BUT FOR GBM, IT DOES NOT WORK tuneGrid = data.frame(n.trees = 10^(param[1]), interaction.depth = 10^(param[2]), shrinkage=10^(param[3]), n.minobsinnode=10^(param[4]))) if(maximize) -getTrainPerf(mod)[, "TrainMAE"] else getTrainPerf(mod)[, "TrainMAE"] } num_mods <- 50 ## Simulated annealing from base R /// I JUST USED HERE SOME INITIAL POINTS OF THE 4 PARAMETERS OF GBM san_res <- optim(par = c(10,1,0.1,1), fn = obj, method = "SANN", control = list(maxit = num_mods)) san_res [[alternative HTML version deleted]]
David Winsemius
2019-Dec-22 17:23 UTC
[R] all the MAE metric values are missing (Error message)
You need to read the Posting Guide (and study the options of the gmail interface). This is a plain text mailing list and the server does not accept attachments that are anything other than .txt or .pdf files. -- David. On 12/22/19 9:15 AM, Neha gupta wrote:> I am using the following code to tune the 4 parameters of Gradient Boosting > algorithm using Simulated annealing (optim). When I run the program, after > few seconds it stops and displays the following error: > > I point out here that the same code works for RF ( mtry parameter) and SVM > (cost and sigma parameters). So, I guess the problem should be in the 4 > parameters of GBM > > Something is wrong; all the MAE metric values are missing: > RMSE Rsquared MAE > Min. : NA Min. : NA Min. : NA > 1st Qu.: NA 1st Qu.: NA 1st Qu.: NA > Median : NA Median : NA Median : NA > Mean :NaN Mean :NaN Mean :NaN > 3rd Qu.: NA 3rd Qu.: NA 3rd Qu.: NA > Max. : NA Max. : NA Max. : NA > NA's :1 NA's :1 NA's :1 > > Code is here/// If you need the dataset, I can attach in the email > > d=readARFF("dat.arff") ///DATA IS REGRESSION BASED > > index <- createDataPartition(log10(d$Price), p = .70,list = FALSE) > tr <- d[index, ] > ts <- d[-index, ] > > index_2 <- createFolds(log10(tr$Price), returnTrain = TRUE, list = TRUE) > ctrl <- trainControl(method = "cv", index = index_2) > > obj <- function(param, maximize = FALSE) { > mod <- train(log10(Price) ~ ., data = tr, > method = "gbm", > preProc = c("center", "scale", "zv"), > metric = "MAE", > trControl = ctrl, > //HERE IN tuneGrid WHEN I USE PARAMETERS FOR SVM AND RF, IT > WORKS, BUT FOR GBM, IT DOES NOT WORK > > tuneGrid = data.frame(n.trees = 10^(param[1]), > interaction.depth = 10^(param[2]), > shrinkage=10^(param[3]), > n.minobsinnode=10^(param[4]))) > > if(maximize) > -getTrainPerf(mod)[, "TrainMAE"] else > getTrainPerf(mod)[, "TrainMAE"] > } > num_mods <- 50 > > ## Simulated annealing from base R > > /// I JUST USED HERE SOME INITIAL POINTS OF THE 4 PARAMETERS OF GBM > > san_res <- optim(par = c(10,1,0.1,1), fn = obj, method = "SANN", > control = list(maxit = num_mods)) > san_res > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.
Hi Neha, The error message looks suspicious, as it refers to "all the MAEs" while there is only one NA value in the summary. I would carefully check the object that you are passing to san_res. Jim On Mon, Dec 23, 2019 at 4:17 AM Neha gupta <neha.bologna90 at gmail.com> wrote:> > I am using the following code to tune the 4 parameters of Gradient Boosting > algorithm using Simulated annealing (optim). When I run the program, after > few seconds it stops and displays the following error: > > I point out here that the same code works for RF ( mtry parameter) and SVM > (cost and sigma parameters). So, I guess the problem should be in the 4 > parameters of GBM > > Something is wrong; all the MAE metric values are missing: > RMSE Rsquared MAE > Min. : NA Min. : NA Min. : NA > 1st Qu.: NA 1st Qu.: NA 1st Qu.: NA > Median : NA Median : NA Median : NA > Mean :NaN Mean :NaN Mean :NaN > 3rd Qu.: NA 3rd Qu.: NA 3rd Qu.: NA > Max. : NA Max. : NA Max. : NA > NA's :1 NA's :1 NA's :1 >
Neha gupta
2019-Dec-22 23:54 UTC
[R] all the MAE metric values are missing (Error message)
Hi Jim The objective function is passed to san_res where we have defined the 4 parameters of gbm and the values are initialized in san_res. The output variable price has only three values: 0, 1, 2 (like categorical values), so someone told me try to remove the log10 from the price. I am not sure what to do, I spent two days but did not fix this issue. On Sun, Dec 22, 2019 at 11:22 PM Jim Lemon <drjimlemon at gmail.com> wrote:> Hi Neha, > The error message looks suspicious, as it refers to "all the MAEs" > while there is only one NA value in the summary. I would carefully > check the object that you are passing to san_res. > > Jim > > On Mon, Dec 23, 2019 at 4:17 AM Neha gupta <neha.bologna90 at gmail.com> > wrote: > > > > I am using the following code to tune the 4 parameters of Gradient > Boosting > > algorithm using Simulated annealing (optim). When I run the program, > after > > few seconds it stops and displays the following error: > > > > I point out here that the same code works for RF ( mtry parameter) and > SVM > > (cost and sigma parameters). So, I guess the problem should be in the 4 > > parameters of GBM > > > > Something is wrong; all the MAE metric values are missing: > > RMSE Rsquared MAE > > Min. : NA Min. : NA Min. : NA > > 1st Qu.: NA 1st Qu.: NA 1st Qu.: NA > > Median : NA Median : NA Median : NA > > Mean :NaN Mean :NaN Mean :NaN > > 3rd Qu.: NA 3rd Qu.: NA 3rd Qu.: NA > > Max. : NA Max. : NA Max. : NA > > NA's :1 NA's :1 NA's :1 > > >[[alternative HTML version deleted]]