optim pred in cv

This commit is contained in:
unknown 2015-03-28 23:41:19 -07:00
parent 930497e271
commit 37567e440c

View File

@ -113,17 +113,22 @@ xgb.cv <- function(params=list(), data, nrounds, nfold, label = NULL, missing =
for (k in 1:nfold) { for (k in 1:nfold) {
fd <- folds[[k]] fd <- folds[[k]]
succ <- xgb.iter.update(fd$booster, fd$dtrain, i - 1, obj) succ <- xgb.iter.update(fd$booster, fd$dtrain, i - 1, obj)
if (i<nrounds) {
msg[[k]] <- xgb.iter.eval(fd$booster, fd$watchlist, i - 1, feval) %>% str_split("\t") %>% .[[1]]
} else {
if (!prediction) { if (!prediction) {
msg[[k]] <- xgb.iter.eval(fd$booster, fd$watchlist, i - 1, feval) %>% str_split("\t") %>% .[[1]] msg[[k]] <- xgb.iter.eval(fd$booster, fd$watchlist, i - 1, feval) %>% str_split("\t") %>% .[[1]]
} else { } else {
res <- xgb.iter.eval(fd$booster, fd$watchlist, i - 1, feval, prediction) res <- xgb.iter.eval(fd$booster, fd$watchlist, i - 1, feval, prediction)
if (mat_pred) if (mat_pred) {
predictValues[fd$index,] <- res[[2]] predictValues[fd$index,] <- res[[2]]
else } else {
predictValues[fd$index] <- res[[2]] predictValues[fd$index] <- res[[2]]
}
msg[[k]] <- res[[1]] %>% str_split("\t") %>% .[[1]] msg[[k]] <- res[[1]] %>% str_split("\t") %>% .[[1]]
} }
} }
}
ret <- xgb.cv.aggcv(msg, showsd) ret <- xgb.cv.aggcv(msg, showsd)
history <- c(history, ret) history <- c(history, ret)
if(verbose) paste(ret, "\n", sep="") %>% cat if(verbose) paste(ret, "\n", sep="") %>% cat