添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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 Installation Guide on how to install XGBoost.

  • See Text Input Format on using text format for specifying training/testing data.

  • See Tutorials for tips and tutorials.

  • See Learning to use XGBoost by Examples for more code examples.

  • 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)
    
    # load data
    data(agaricus.train, package='xgboost')
    data(agaricus.test, package='xgboost')
    train <- agaricus.train
    test <- agaricus.test
    # fit model
    bst <- xgboost(data = train$data, label = train$label, max.depth = 2, eta = 1, nrounds = 2,
                   nthread = 2, objective = "binary:logistic")
    # predict
    pred <- predict(bst, test$data)
    
    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

    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")