smartdata-analysis-and-statistics / precmed

A doubly robust precision medicine approach to estimate and validate conditional average treatment effects
https://smartdata-analysis-and-statistics.github.io/precmed/
Apache License 2.0
4 stars 0 forks source link

OOB warning from GBM function when model has single predictor #35

Open StanWijn opened 1 year ago

StanWijn commented 1 year ago

In eb93cb23efb0e15d458680ef443d99d05ee99eee I fixed the error when using "boosting" and when the model has a single predictor by changing cv = 0. This resulted in an error in the gbm.perf function (line 346 & 351 of CATE_count.R) because the default method was "cv" which required cv > 1. Therefore, in case of a single predictor, i changed the method for gbm.perf to "OOB" .

Although this fixed the error, it will now repeat the same warning 10 times:

OOB generally underestimates the optimal number of iterations although predictive performance is reasonably competitive. Using cv_folds>1 when calling gbm usually results in improved predictive performance.
OOB generally underestimates the optimal number of iterations although predictive performance is reasonably competitive. Using cv_folds>1 when calling gbm usually results in improved predictive performance.
OOB generally underestimates the optimal number of iterations although predictive performance is reasonably competitive. Using cv_folds>1 when calling gbm usually results in improved predictive performance.
OOB generally underestimates the optimal number of iterations although predictive performance is reasonably competitive. Using cv_folds>1 when calling gbm usually results in improved predictive performance.
OOB generally underestimates the optimal number of iterations although predictive performance is reasonably competitive. Using cv_folds>1 when calling gbm usually results in improved predictive performance.
OOB generally underestimates the optimal number of iterations although predictive performance is reasonably competitive. Using cv_folds>1 when calling gbm usually results in improved predictive performance.
OOB generally underestimates the optimal number of iterations although predictive performance is reasonably competitive. Using cv_folds>1 when calling gbm usually results in improved predictive performance.
OOB generally underestimates the optimal number of iterations although predictive performance is reasonably competitive. Using cv_folds>1 when calling gbm usually results in improved predictive performance.
OOB generally underestimates the optimal number of iterations although predictive performance is reasonably competitive. Using cv_folds>1 when calling gbm usually results in improved predictive performance.
OOB generally underestimates the optimal number of iterations although predictive performance is reasonably competitive. Using cv_folds>1 when calling gbm usually results in improved predictive performance.

I tried to wrap the gbm.perf in "tryCatch" or withCallingHandlers, but this does not seem to resolve the issue so I assume the warnings comes from another function that uses the object generated by gbm.perf?

I don't think this is a mayor issue (as this only occurs when "boosting" and a single predictor), but maybe fix this in the future.