81 lines
2.2 KiB
Markdown
81 lines
2.2 KiB
Markdown
# 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 Helpful Other Resources
|
|
- See [Installation Guide](../build.md) on how to install xgboost.
|
|
- See [How to pages](../how_to/index.md) on various tips on using xgboost.
|
|
- See [Tutorials](../tutorials/index.md) on tutorials on specific tasks.
|
|
- See [Learning to use XGBoost by Examples](../../demo) for more code examples.
|
|
|
|
## Python
|
|
```python
|
|
import xgboost as xgb
|
|
# read in data
|
|
dtrain = xgb.DMatrix('demo/data/agaricus.txt.train')
|
|
dtest = xgb.DMatrix('demo/data/agaricus.txt.test')
|
|
# specify parameters via map
|
|
param = {'max_depth':2, 'eta':1, 'silent':1, 'objective':'binary:logistic' }
|
|
num_round = 2
|
|
bst = xgb.train(param, dtrain, num_round)
|
|
# make prediction
|
|
preds = bst.predict(dtest)
|
|
```
|
|
|
|
## R
|
|
|
|
```r
|
|
# 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, nround = 2,
|
|
nthread = 2, objective = "binary:logistic")
|
|
# predict
|
|
pred <- predict(bst, test$data)
|
|
|
|
```
|
|
|
|
## Julia
|
|
```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
|
|
```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")
|
|
}
|
|
}
|
|
```
|