From c05cc48dfaefc2fc37bbac8d09863c4c0baae3d5 Mon Sep 17 00:00:00 2001 From: hetong Date: Mon, 11 May 2015 20:55:09 -0700 Subject: [PATCH] delete abundant file --- R-package/demo/early_Stopping.R | 39 --------------------------------- 1 file changed, 39 deletions(-) delete mode 100644 R-package/demo/early_Stopping.R diff --git a/R-package/demo/early_Stopping.R b/R-package/demo/early_Stopping.R deleted file mode 100644 index 34dfebc0b..000000000 --- a/R-package/demo/early_Stopping.R +++ /dev/null @@ -1,39 +0,0 @@ -require(xgboost) -# load in the agaricus dataset -data(agaricus.train, package='xgboost') -data(agaricus.test, package='xgboost') -dtrain <- xgb.DMatrix(agaricus.train$data, label = agaricus.train$label) -dtest <- xgb.DMatrix(agaricus.test$data, label = agaricus.test$label) -# note: for customized objective function, we leave objective as default -# note: what we are getting is margin value in prediction -# you must know what you are doing -param <- list(max.depth=2,eta=1,nthread = 2, silent=1) -watchlist <- list(eval = dtest) -num_round <- 20 -# user define objective function, given prediction, return gradient and second order gradient -# this is loglikelihood loss -logregobj <- function(preds, dtrain) { - labels <- getinfo(dtrain, "label") - preds <- 1/(1 + exp(-preds)) - grad <- preds - labels - hess <- preds * (1 - preds) - return(list(grad = grad, hess = hess)) -} -# user defined evaluation function, return a pair metric_name, result -# NOTE: when you do customized loss function, the default prediction value is margin -# this may make buildin evalution metric not function properly -# for example, we are doing logistic loss, the prediction is score before logistic transformation -# the buildin evaluation error assumes input is after logistic transformation -# Take this in mind when you use the customization, and maybe you need write customized evaluation function -evalerror <- function(preds, dtrain) { - labels <- getinfo(dtrain, "label") - err <- as.numeric(sum(labels != (preds > 0)))/length(labels) - return(list(metric = "error", value = err)) -} -print ('start training with early Stopping setting') -# training with customized objective, we can also do step by step training -# simply look at xgboost.py's implementation of train -bst <- xgb.train(param, dtrain, num_round, watchlist, logregobj, evalerror, maximize = FALSE, - early.stop.round = 3) -bst <- xgb.cv(param, dtrain, num_round, nfold=5, obj=logregobj, feval = evalerror, - maximize = FALSE, early.stop.round = 3)