xgboost/R-package/R/xgboost.R
2014-08-27 12:57:37 -07:00

42 lines
1.0 KiB
R

# Main function for xgboost-package
xgboost = function(data=NULL, label = NULL, params=list(), nrounds=10,
verbose = 1, ...)
{
inClass = class(data)
if (inClass=='dgCMatrix' || inClass=='matrix')
{
if (is.null(label))
stop('xgboost: need label when data is a matrix')
dtrain = xgb.DMatrix(data, label=y)
}
else
{
if (!is.null(label))
warning('xgboost: label will be ignored.')
if (inClass=='character')
dtrain = xgb.DMatrix(data)
else if (inClass=='xgb.DMatrix')
dtrain = data
else
stop('xgboost: Invalid input of data')
}
if (verbose>1)
silent = 0
else
silent = 1
params = append(params, list(silent=silent))
params = append(params, list(...))
if (verbose>0)
watchlist = list(train=dtrain)
else
watchlist = list()
bst <- xgb.train(params, dtrain, nrounds, watchlist)
return(bst)
}