jpmml / jpmml-sparkml-xgboost

JPMML-SparkML plugin for converting XGBoost4J-Spark models to PMML
GNU Affero General Public License v3.0
36 stars 16 forks source link

Support for XGBoost 0.81? #9

Closed yinlou closed 4 years ago

yinlou commented 5 years ago

The API for XGBoost spark has changed a lot from 0.72 to 0.81. The current version of jpmml will fail at https://github.com/jpmml/jpmml-sparkml-xgboost/blob/master/src/main/java/org/jpmml/sparkml/xgboost/XGBoostRegressionModelConverter.java#L37 and https://github.com/jpmml/jpmml-sparkml-xgboost/blob/master/src/main/java/org/jpmml/sparkml/xgboost/XGBoostRegressionModelConverter.java#L37

Any plans for supporting 0.81?

vruusmann commented 5 years ago

The API for XGBoost spark has changed a lot from 0.72 to 0.81.

Can you point me to a document that summarizes those API changes? From the PMML conversion perspective, we just need a handle to the "native" Booster object (contains binary content that will be processed by the JPMML-XGBoost library directly).

Any plans for supporting 0.81?

This project should be merged into the JPMML-SparkML project. It couldn't be done previously, because the Maven Central repository didn't contain XGBoost4J libraries, but AFAIK this is good now.

yinlou commented 5 years ago

The API for XGBoost spark has changed a lot from 0.72 to 0.81.

Can you point me to a document that summarizes those API changes? From the PMML conversion perspective, we just need a handle to the "native" Booster object (contains binary content that will be processed by the JPMML-XGBoost library directly).

https://github.com/jpmml/jpmml-sparkml-xgboost/blob/master/src/main/java/org/jpmml/sparkml/xgboost/XGBoostRegressionModelConverter.java#L37

https://github.com/jpmml/jpmml-sparkml-xgboost/blob/master/src/main/java/org/jpmml/sparkml/xgboost/XGBoostRegressionModelConverter.java#L37

Basically there is no booster() method. Instead, they use nativeBooster.

Any plans for supporting 0.81?

This project should be merged into the JPMML-SparkML project. It couldn't be done previously, because the Maven Central repository didn't contain XGBoost4J libraries, but AFAIK this is good now.