- 下載jpmml-xgboost, https://github.com/jpmml/jpmml-xgboost/archive/master.zip ;
- 安裝java1.7或以上版本;
- 安裝 Apache Maven。
mvn clean install
- 運用XGBoost訓練模型;
- 保存模型及其相關的特徵信息;
- 運用JPMML-XGBoost轉化命令行將第二步中的兩個文件轉化爲一個pmml格式的文件。
source("src/main/R/util.R")
data(mtcars)
# Convert selected columns from numeric datatype to integer or factor datatypes
mtcars$cyl = as.integer(mtcars$cyl)
mtcars$vs = as.factor(mtcars$vs)
mtcars$am = as.factor(mtcars$am)
mtcars$gear = as.integer(mtcars$gear)
mtcars$carb = as.integer(mtcars$carb)
mpg_y = mtcars[, 1]
mpg_X = mtcars[, 2:ncol(mtcars)]
set.seed(31)
# Train a linear regression model
mpg.xgb = xgboost(data = mpg.dmatrix, objective = "reg:linear", nrounds = 7)
# Save the model in XGBoost proprietary binary format
xgb.save(mpg.xgb, "xgboost.model")
# Dump the model in text format
xgb.dump(mpg.xgb, "xgboost.model.txt", fmap = "xgboost.fmap")
java -jar target/converter-executable-1.1-SNAPSHOT.jar --model-input xgboost.model --fmap-input xgboost.fmap --target-name mpg --pmml-output xgboost.pmml
java -jar target/converter-executable-1.1-SNAPSHOT.jar --help