Closed topepo closed 3 years ago
Let me run some things on my end to double check. I have also just released a version of modeltime 0.6.0 to CRAN, but they have not yet approved. So I'm going to tell them to hold off.
Should I wait on the parsnip
release?
I'm taking a look now. Hang tight.
Functionally everything is still working - The test that is failing is an accuracy measurement. What's weird is that the new default parameters seem to make the accuracy worse.
So it seems like xgboost
is working nicely, and I just need to address changes in modeltime::prophet_boost()
and modeltime::arima_boost()
to make sure my algorithms perform well.
What changes were made that I need to adjust? Any pointers?
Looks like my colsample_bytree
is now getting set to a very low value. Should be 1.
I think I see what's going on. If I enter a value of colsample_bytree = 1
, then it converts it to a percentage of the columns, which is probably not what we want to do. https://github.com/tidymodels/parsnip/blob/6f5ed7e2510df041921f1133f393587f8f83d3a6/R/boost_tree.R#L345
So for backwards compatibility, I'd handle a value of strictly 1 separately, otherwise you're going to blow up a lot of models.
Yes. I figured that it was related to the colsample_*
switch but that makes sense.
The old approach would preclude anyone from using a value of colsample_*
that would be a count of one. Since xgboost is the only model that parameterizes mtry
as a proportion, our models assume that it is a count.
One way around this is to pass an engine argument of counts = FALSE
(meaning that your arguments are proportions).
I can wait a bit for the release if that helps
It's OK then - It seems that you've thought everything through. I'm switching modeltime
over to match the new parsnip, so the sooner you release, the sooner I can release and everything is back to hunky-dory. Just
This is taken care of. Thanks for the heads up @topepo
My local revdep checks did not see an issue but CRAN flagged an error from the new version of
parsnip
.The issue is related to the change in the
xgboost
parameter in tidymodels/parsnip#499The test case uses
prophet_boost
andboost_tree
models. The latter has the same results; I think that it doesn't tune overmtry
. The prophet model is different, due to themtry
difference. Partialwaldo
diffs are:I'm not sure what to do about this since the new mapping of
mtry
tocolsample_bynode
is more appropriate (thatxgboost
argument didn't exist whenparsnip
was written).We could change the call to
prophet_boost
and tune overmtry
. I think thatprophet_boost()
needs to be updated anyway to be consistent with the new mapping and let users useif they want.