question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Tutorial: evaluation of the XGBoost ensemble training fails

See original GitHub issue

Describe the bug

Running the below cell in the Regression tutorial fails:

var xgbModel = train("XGBoost",xgb,trainData);
evaluate(xgbModel,evalData);

with these results:

---------------------------------------------------------------------------
java.lang.NoClassDefFoundError: Could not initialize class ml.dmlc.xgboost4j.java.XGBoostJNI
	at ml.dmlc.xgboost4j.java.DMatrix.<init>(DMatrix.java:109)
	at org.tribuo.common.xgboost.XGBoostTrainer.convertExamples(XGBoostTrainer.java:309)
	at org.tribuo.regression.xgboost.XGBoostRegressionTrainer.train(XGBoostRegressionTrainer.java:174)
	at org.tribuo.regression.xgboost.XGBoostRegressionTrainer.train(XGBoostRegressionTrainer.java:64)
	at org.tribuo.Trainer.train(Trainer.java:44)
	at .train(#45:4)
	at .do_it$Aux(#57:1)
	at .(#57:1)

To Reproduce

Run notebook in a docker container using these steps at https://github.com/neomatrix369/awesome-ai-ml-dl/tree/master/examples/tribuo:

git clone https://github.com/neomatrix369/awesome-ai-ml-dl/tree/master/
cd awesome-ai-ml-dl/examples/tribuo
./docker-runner.sh --notebookMode --runContainer

### wait it downloads the contain and browser opens up
### or open the browser to http://localhost:8888/notebooks/tribuo/tutorials/regression-tribuo-v4.ipynb

Expected behaviour

Should have shown these results:

Training XGBoost took (00:00:00:375)
Evaluation (train):
  RMSE 0.143871
  MAE 0.097167
  R^2 0.968252
Evaluation (test):
  RMSE 0.599478
  MAE 0.426673
  R^2 0.447378

Screenshots

Screen Shot 2020-10-11 at 14 00 22

System information:

  • OS: Linux 6a5b46663314 4.19.76-linuxkit #1 SMP Tue May 26 11:42:35 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
  • Java Version: 11
  • JDK Vendor: openjdk version “11.0.5” 2019-10-15 OpenJDK Runtime Environment (build 11.0.5+10-jvmci-19.3-b05-LTS) OpenJDK 64-Bit GraalVM CE 19.3.0 (build 11.0.5+10-jvmci-19.3-b05-LTS, mixed mode, sharing)

** Jar versions **

tribuo-classification-experiments-4.0.0-jar-with-dependencies.jar
tribuo-core-4.0.0.jar
tribuo-json-4.0.0-jar-with-dependencies.jar
tribuo-regression-sgd-4.0.0-jar-with-dependencies.jar
tribuo-regression-tree-4.0.0-jar-with-dependencies.jar
tribuo-regression-xgboost-4.0.0-jar-with-dependencies.jar

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:12 (12 by maintainers)

github_iconTop GitHub Comments

1reaction
neomatrix369commented, Oct 23, 2020

Ok, so that docker image has all the right dependencies for XGBoost now?

Its does, I have demo-ed the Regression tutorial at the last presentation I gave earlier in the week.

1reaction
Craigacpcommented, Oct 22, 2020

Ok, so that docker image has all the right dependencies for XGBoost now?

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to Evaluate Gradient Boosting Models with XGBoost in ...
In this tutorial you will discover how you can evaluate the performance of your gradient boosting models with XGBoost in Python.
Read more >
Tune XGBoost Performance With Learning Curves - MKAI
XGBoost is a powerful and effective implementation of the gradient boosting ensemble algorithm. It can be challenging to configure the ...
Read more >
XGBoost: Everything You Need to Know - Neptune.ai
Ensemble learning combines several learners (models) to improve ... the error function that applies when evaluating a gradient boosting ...
Read more >
Introduction to Boosted Trees — xgboost 1.7.2 documentation
Decision Tree Ensembles ... Now that we have introduced the elements of supervised learning, let us get started with real trees. To begin...
Read more >
XGBoost: A Deep Dive into Boosting | by Rohan Harode
In ML, Boosting is a sequential ensemble learning technique (another ... we use MSE (Mean Squared Error) loss as an evaluation metric while ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found