######################## Get Started with XGBoost ######################## This is a quick start tutorial showing snippets for you to quickly try out XGBoost on the demo dataset on a binary classification task. ******************************** Links to Other Helpful Resources ******************************** - See :doc:`Installation Guide ` on how to install XGBoost. - See :doc:`Text Input Format ` on using text format for specifying training/testing data. - See :doc:`Tutorials ` for tips and tutorials. - See `Learning to use XGBoost by Examples `_ for more code examples. ****** Python ****** .. code-block:: python from xgboost import XGBClassifier # read data from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split data = load_iris() X_train, X_test, y_train, y_test = train_test_split(data['data'], data['target'], test_size=.2) # create model instance bst = XGBClassifier(n_estimators=2, max_depth=2, learning_rate=1, objective='binary:logistic') # fit model bst.fit(X_train, y_train) # make predictions preds = bst.predict(X_test) *** R *** .. code-block:: R # load data data(agaricus.train, package='xgboost') data(agaricus.test, package='xgboost') train <- agaricus.train test <- agaricus.test # fit model bst <- xgboost(x = train$data, y = factor(train$label), max.depth = 2, eta = 1, nrounds = 2, nthread = 2, objective = "binary:logistic") # predict pred <- predict(bst, test$data) ***** Julia ***** .. code-block:: julia using XGBoost # read data train_X, train_Y = readlibsvm("demo/data/agaricus.txt.train", (6513, 126)) test_X, test_Y = readlibsvm("demo/data/agaricus.txt.test", (1611, 126)) # fit model num_round = 2 bst = xgboost(train_X, num_round, label=train_Y, eta=1, max_depth=2) # predict pred = predict(bst, test_X) ***** Scala ***** .. code-block:: scala import ml.dmlc.xgboost4j.scala.DMatrix import ml.dmlc.xgboost4j.scala.XGBoost object XGBoostScalaExample { def main(args: Array[String]) { // read trainining data, available at xgboost/demo/data val trainData = new DMatrix("/path/to/agaricus.txt.train") // define parameters val paramMap = List( "eta" -> 0.1, "max_depth" -> 2, "objective" -> "binary:logistic").toMap // number of iterations val round = 2 // train the model val model = XGBoost.train(trainData, paramMap, round) // run prediction val predTrain = model.predict(trainData) // save model to the file. model.saveModel("/local/path/to/model") } }