refine doc, with Rd
This commit is contained in:
parent
7879db8702
commit
f1d7b012a6
@ -5,11 +5,11 @@ export(setinfo)
|
|||||||
export(slice)
|
export(slice)
|
||||||
export(xgb.DMatrix)
|
export(xgb.DMatrix)
|
||||||
export(xgb.DMatrix.save)
|
export(xgb.DMatrix.save)
|
||||||
|
export(xgb.cv)
|
||||||
export(xgb.dump)
|
export(xgb.dump)
|
||||||
export(xgb.load)
|
export(xgb.load)
|
||||||
export(xgb.save)
|
export(xgb.save)
|
||||||
export(xgb.train)
|
export(xgb.train)
|
||||||
export(xgb.cv)
|
|
||||||
export(xgboost)
|
export(xgboost)
|
||||||
exportMethods(predict)
|
exportMethods(predict)
|
||||||
import(methods)
|
import(methods)
|
||||||
|
|||||||
@ -8,7 +8,10 @@ setClass('xgb.DMatrix')
|
|||||||
#' data(iris)
|
#' data(iris)
|
||||||
#' iris[,5] <- as.numeric(iris[,5]=='setosa')
|
#' iris[,5] <- as.numeric(iris[,5]=='setosa')
|
||||||
#' dtrain <- xgb.DMatrix(as.matrix(iris[,1:4]), label=iris[,5])
|
#' dtrain <- xgb.DMatrix(as.matrix(iris[,1:4]), label=iris[,5])
|
||||||
#' labels <- getinfo(dtrain, "label")
|
#' labels <- getinfo(dtrain, 'label')
|
||||||
|
#' setinfo(dtrain, 'label', 1-labels)
|
||||||
|
#' labels2 <- getinfo(dtrain, 'label')
|
||||||
|
#' stopifnot(all(labels2 == 1-labels))
|
||||||
#' @rdname getinfo
|
#' @rdname getinfo
|
||||||
#' @export
|
#' @export
|
||||||
#'
|
#'
|
||||||
|
|||||||
@ -6,7 +6,10 @@
|
|||||||
#' data(iris)
|
#' data(iris)
|
||||||
#' iris[,5] <- as.numeric(iris[,5]=='setosa')
|
#' iris[,5] <- as.numeric(iris[,5]=='setosa')
|
||||||
#' dtrain <- xgb.DMatrix(as.matrix(iris[,1:4]), label=iris[,5])
|
#' dtrain <- xgb.DMatrix(as.matrix(iris[,1:4]), label=iris[,5])
|
||||||
#' labels <- getinfo(dtrain, "label")
|
#' labels <- getinfo(dtrain, 'label')
|
||||||
|
#' setinfo(dtrain, 'label', 1-labels)
|
||||||
|
#' labels2 <- getinfo(dtrain, 'label')
|
||||||
|
#' stopifnot(all(labels2 == 1-labels))
|
||||||
#' @rdname setinfo
|
#' @rdname setinfo
|
||||||
#' @export
|
#' @export
|
||||||
#'
|
#'
|
||||||
@ -16,9 +19,10 @@ setinfo <- function(object, ...){
|
|||||||
|
|
||||||
#' @param object Object of class "xgb.DMatrix"
|
#' @param object Object of class "xgb.DMatrix"
|
||||||
#' @param name the name of the field to get
|
#' @param name the name of the field to get
|
||||||
|
#' @param info the specific field of information to set
|
||||||
#' @param ... other parameters
|
#' @param ... other parameters
|
||||||
#' @rdname getinfo
|
#' @rdname setinfo
|
||||||
#' @method getinfo xgb.DMatrix
|
#' @method setinfo xgb.DMatrix
|
||||||
setMethod("setinfo", signature = "xgb.DMatrix",
|
setMethod("setinfo", signature = "xgb.DMatrix",
|
||||||
definition = function(object, name, info) {
|
definition = function(object, name, info) {
|
||||||
xgb.setinfo(object, name, info)
|
xgb.setinfo(object, name, info)
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#' eXtreme Gradient Boosting Training
|
#' Cross Validation
|
||||||
#'
|
#'
|
||||||
#' The training function of xgboost
|
#' The cross valudation function of xgboost
|
||||||
#'
|
#'
|
||||||
#' @param params the list of parameters. Commonly used ones are:
|
#' @param params the list of parameters. Commonly used ones are:
|
||||||
#' \itemize{
|
#' \itemize{
|
||||||
@ -61,7 +61,7 @@ xgb.cv <- function(params=list(), data, nrounds, nfold, label = NULL,
|
|||||||
params <- append(params, list(silent=1))
|
params <- append(params, list(silent=1))
|
||||||
for (mc in metrics) {
|
for (mc in metrics) {
|
||||||
params <- append(params, list("eval_metric"=mc))
|
params <- append(params, list("eval_metric"=mc))
|
||||||
}
|
}
|
||||||
|
|
||||||
folds <- xgb.cv.mknfold(dtrain, nfold, params)
|
folds <- xgb.cv.mknfold(dtrain, nfold, params)
|
||||||
history <- list()
|
history <- list()
|
||||||
@ -70,7 +70,8 @@ xgb.cv <- function(params=list(), data, nrounds, nfold, label = NULL,
|
|||||||
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)
|
||||||
msg[[k]] <- strsplit(xgb.iter.eval(fd$booster, fd$watchlist, i - 1, feval), "\t")[[1]]
|
msg[[k]] <- strsplit(xgb.iter.eval(fd$booster, fd$watchlist, i - 1, feval),
|
||||||
|
"\t")[[1]]
|
||||||
}
|
}
|
||||||
ret <- xgb.cv.aggcv(msg, showsd)
|
ret <- xgb.cv.aggcv(msg, showsd)
|
||||||
history <- append(history, ret)
|
history <- append(history, ret)
|
||||||
|
|||||||
@ -23,6 +23,9 @@ Get information of an xgb.DMatrix object
|
|||||||
data(iris)
|
data(iris)
|
||||||
iris[,5] <- as.numeric(iris[,5]=='setosa')
|
iris[,5] <- as.numeric(iris[,5]=='setosa')
|
||||||
dtrain <- xgb.DMatrix(as.matrix(iris[,1:4]), label=iris[,5])
|
dtrain <- xgb.DMatrix(as.matrix(iris[,1:4]), label=iris[,5])
|
||||||
labels <- getinfo(dtrain, "label")
|
labels <- getinfo(dtrain, 'label')
|
||||||
|
setinfo(dtrain, 'label', 1-labels)
|
||||||
|
labels2 <- getinfo(dtrain, 'label')
|
||||||
|
stopifnot(all(labels2 == 1-labels))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
33
R-package/man/setinfo.Rd
Normal file
33
R-package/man/setinfo.Rd
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
% Generated by roxygen2 (4.0.1): do not edit by hand
|
||||||
|
\docType{methods}
|
||||||
|
\name{setinfo}
|
||||||
|
\alias{setinfo}
|
||||||
|
\alias{setinfo,xgb.DMatrix-method}
|
||||||
|
\title{Set information of an xgb.DMatrix object}
|
||||||
|
\usage{
|
||||||
|
setinfo(object, ...)
|
||||||
|
|
||||||
|
\S4method{setinfo}{xgb.DMatrix}(object, name, info)
|
||||||
|
}
|
||||||
|
\arguments{
|
||||||
|
\item{object}{Object of class "xgb.DMatrix"}
|
||||||
|
|
||||||
|
\item{name}{the name of the field to get}
|
||||||
|
|
||||||
|
\item{info}{the specific field of information to set}
|
||||||
|
|
||||||
|
\item{...}{other parameters}
|
||||||
|
}
|
||||||
|
\description{
|
||||||
|
Set information of an xgb.DMatrix object
|
||||||
|
}
|
||||||
|
\examples{
|
||||||
|
data(iris)
|
||||||
|
iris[,5] <- as.numeric(iris[,5]=='setosa')
|
||||||
|
dtrain <- xgb.DMatrix(as.matrix(iris[,1:4]), label=iris[,5])
|
||||||
|
labels <- getinfo(dtrain, 'label')
|
||||||
|
setinfo(dtrain, 'label', 1-labels)
|
||||||
|
labels2 <- getinfo(dtrain, 'label')
|
||||||
|
stopifnot(all(labels2 == 1-labels))
|
||||||
|
}
|
||||||
|
|
||||||
66
R-package/man/xgb.cv.Rd
Normal file
66
R-package/man/xgb.cv.Rd
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
% Generated by roxygen2 (4.0.1): do not edit by hand
|
||||||
|
\name{xgb.cv}
|
||||||
|
\alias{xgb.cv}
|
||||||
|
\title{Cross Validation}
|
||||||
|
\usage{
|
||||||
|
xgb.cv(params = list(), data, nrounds, nfold, label = NULL, showsd = TRUE,
|
||||||
|
metrics = list(), obj = NULL, feval = NULL, ...)
|
||||||
|
}
|
||||||
|
\arguments{
|
||||||
|
\item{params}{the list of parameters. Commonly used ones are:
|
||||||
|
\itemize{
|
||||||
|
\item \code{objective} objective function, common ones are
|
||||||
|
\itemize{
|
||||||
|
\item \code{reg:linear} linear regression
|
||||||
|
\item \code{binary:logistic} logistic regression for classification
|
||||||
|
}
|
||||||
|
\item \code{eta} step size of each boosting step
|
||||||
|
\item \code{max_depth} maximum depth of the tree
|
||||||
|
\item \code{nthread} number of thread used in training, if not set, all threads are used
|
||||||
|
}
|
||||||
|
|
||||||
|
See \url{https://github.com/tqchen/xgboost/wiki/Parameters} for
|
||||||
|
further details. See also inst/examples/demo.R for walkthrough example in R.}
|
||||||
|
|
||||||
|
\item{data}{takes an \code{xgb.DMatrix} as the input.}
|
||||||
|
|
||||||
|
\item{nrounds}{the max number of iterations}
|
||||||
|
|
||||||
|
\item{nfold}{number of folds used}
|
||||||
|
|
||||||
|
\item{label}{option field, when data is Matrix}
|
||||||
|
|
||||||
|
\item{showd}{boolean, whether show standard deviation of cross validation}
|
||||||
|
|
||||||
|
\item{metrics,}{list of evaluation metrics to be used in corss validation,
|
||||||
|
when it is not specified, the evaluation metric is chosen according to objective function.
|
||||||
|
Possible options are:
|
||||||
|
\itemize{
|
||||||
|
\item \code{error} binary classification error rate
|
||||||
|
\item \code{rmse} Rooted mean square error
|
||||||
|
\item \code{logloss} negative log-likelihood function
|
||||||
|
\item \code{auc} Area under curve
|
||||||
|
\item \code{merror} Exact matching error, used to evaluate multi-class classification
|
||||||
|
}}
|
||||||
|
|
||||||
|
\item{obj}{customized objective function. Returns gradient and second order
|
||||||
|
gradient with given prediction and dtrain,}
|
||||||
|
|
||||||
|
\item{feval}{custimized evaluation function. Returns
|
||||||
|
\code{list(metric='metric-name', value='metric-value')} with given
|
||||||
|
prediction and dtrain,}
|
||||||
|
|
||||||
|
\item{...}{other parameters to pass to \code{params}.}
|
||||||
|
}
|
||||||
|
\description{
|
||||||
|
The cross valudation function of xgboost
|
||||||
|
}
|
||||||
|
\details{
|
||||||
|
This is the cross validation function for xgboost
|
||||||
|
|
||||||
|
Parallelization is automatically enabled if OpenMP is present.
|
||||||
|
Number of threads can also be manually specified via "nthread" parameter.
|
||||||
|
|
||||||
|
This function only accepts an \code{xgb.DMatrix} object as the input.
|
||||||
|
}
|
||||||
|
|
||||||
@ -3,8 +3,8 @@
|
|||||||
\alias{xgb.train}
|
\alias{xgb.train}
|
||||||
\title{eXtreme Gradient Boosting Training}
|
\title{eXtreme Gradient Boosting Training}
|
||||||
\usage{
|
\usage{
|
||||||
xgb.train(params = list(), dtrain, nrounds, watchlist = list(),
|
xgb.train(params = list(), data, nrounds, watchlist = list(), obj = NULL,
|
||||||
obj = NULL, feval = NULL, ...)
|
feval = NULL, verbose = 1, ...)
|
||||||
}
|
}
|
||||||
\arguments{
|
\arguments{
|
||||||
\item{params}{the list of parameters. Commonly used ones are:
|
\item{params}{the list of parameters. Commonly used ones are:
|
||||||
@ -22,7 +22,7 @@ xgb.train(params = list(), dtrain, nrounds, watchlist = list(),
|
|||||||
See \url{https://github.com/tqchen/xgboost/wiki/Parameters} for
|
See \url{https://github.com/tqchen/xgboost/wiki/Parameters} for
|
||||||
further details. See also inst/examples/demo.R for walkthrough example in R.}
|
further details. See also inst/examples/demo.R for walkthrough example in R.}
|
||||||
|
|
||||||
\item{dtrain}{takes an \code{xgb.DMatrix} as the input.}
|
\item{data}{takes an \code{xgb.DMatrix} as the input.}
|
||||||
|
|
||||||
\item{nrounds}{the max number of iterations}
|
\item{nrounds}{the max number of iterations}
|
||||||
|
|
||||||
@ -39,6 +39,9 @@ gradient with given prediction and dtrain,}
|
|||||||
\code{list(metric='metric-name', value='metric-value')} with given
|
\code{list(metric='metric-name', value='metric-value')} with given
|
||||||
prediction and dtrain,}
|
prediction and dtrain,}
|
||||||
|
|
||||||
|
\item{verbose}{If 0, xgboost will stay silent. If 1, xgboost will print
|
||||||
|
information of performance. If 2, xgboost will print information of both}
|
||||||
|
|
||||||
\item{...}{other parameters to pass to \code{params}.}
|
\item{...}{other parameters to pass to \code{params}.}
|
||||||
}
|
}
|
||||||
\description{
|
\description{
|
||||||
|
|||||||
@ -73,9 +73,10 @@ and ranking. The package is made to be extendible, so that users are also allowe
|
|||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
|
|
||||||
\section{Example with iris}
|
\section{Example with Mushroom data}
|
||||||
|
|
||||||
In this section, we will illustrate some common usage of \verb@xgboost@.
|
In this section, we will illustrate some common usage of \verb@xgboost@. The
|
||||||
|
Mushroom data is cited from UCI Machine Learning Repository. \citep{Bache+Lichman:2013}
|
||||||
|
|
||||||
<<Training and prediction with iris>>=
|
<<Training and prediction with iris>>=
|
||||||
library(xgboost)
|
library(xgboost)
|
||||||
|
|||||||
@ -18,3 +18,13 @@
|
|||||||
publisher={Institute of Mathematical Statistics}
|
publisher={Institute of Mathematical Statistics}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@misc{
|
||||||
|
Bache+Lichman:2013 ,
|
||||||
|
author = "K. Bache and M. Lichman",
|
||||||
|
year = "2013",
|
||||||
|
title = "{UCI} Machine Learning Repository",
|
||||||
|
url = "http://archive.ics.uci.edu/ml",
|
||||||
|
institution = "University of California, Irvine, School of Information and Computer Sciences"
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user