Added support for rpart decision tree models (rpart). (#226)
Added support for CatBoost models (catboost.Model). (#179, #187, #188)
SymmetricTree) and non-oblivious (Depthwise or Lossguide grow policy).set_catboost_categories().Added support for LightGBM models (lgb.Booster). (#177, #186)
linear_tree = TRUE), which fit a linear model at each leaf instead of a constant.Tree models (rpart, partykit, ranger, randomForest, xgboost, lightgbm, catboost) now generate nested case_when() expressions that mirror the tree structure, instead of flat expressions with all leaf conditions at the same level. This produces more efficient SQL and R code because conditions are evaluated hierarchically. (#227)
parse_model() now documents the parsed model version system (v1/v2/v3) and model type classes in its help page. (#227)
earth() models now support additional GLM families and link functions: Gamma, inverse.gaussian, probit, and cloglog. (#194, #195)
glm() models now support additional families and link functions: Gamma family with inverse link, inverse.gaussian family with 1/mu^2 link, probit link, cloglog link, and sqrt link. (#203, #204, #205, #206, #207)
glmnet() models now support Gamma family and Cox proportional hazards (family = "cox") models. (#200, #201)
xgboost support now includes additional objectives: binary:hinge, reg:absoluteerror, reg:gamma, reg:pseudohubererror, and reg:squaredlogerror. (#184)
Added a vignette on floating-point precision issues with tree-based models. (#231)
tidypredict_fit() now correctly handles xgboost models with stump trees (single leaf, no splits). (#182)
tidypredict_fit() now correctly handles xgboost DART booster models with rate_drop > 0. DART uses tree weight normalization during training, and these weights are now properly applied to each tree's predictions. (#183)
tidypredict_fit() now correctly incorporates base_score for xgboost models with count:poisson and reg:tweedie objectives. Previously, predictions were incorrect when base_score was not the default value. (#184)
tidypredict_fit() now correctly averages tree predictions for LightGBM models with boosting="rf" instead of summing them. (#185)
tidypredict_fit() now uses the correct split operator (<= instead of <) for ranger models. Previously, predictions were incorrect when data values exactly matched split values. (#189)
tidypredict_fit() now correctly averages tree predictions for ranger models instead of summing them. Previously, predictions were num.trees times too large. (#190)
tidypredict_fit() now throws a clear error for ranger and randomForest classification models, which are not supported. (#191, #193)
tidypredict_fit() now uses the correct split operator (<= instead of <) for randomForest models. (#192)
tidypredict_fit() now correctly handles partykit stump trees (models with no splits). (#196)
tidypredict_fit() now works with glmnet() models that use family function syntax (e.g., family = gaussian()) instead of string syntax (e.g., family = "gaussian"). (#197)
tidypredict_fit() now works with models that use family function syntax (e.g., family = gaussian()) instead of string syntax (e.g., family = "gaussian"). (#202)
base_score wasn't extracted correctly xgboost for version 3 or higher. (#173)xgboost models with objectives "reg:tweedie" and "count:poisson" are now supported. (#72, @SimonCoulombe)
tree based models now uses .default argument in produced case_when() code when applicable. (#153)
Speed up tidypredict_fit() for partykit and ranger packages. (#125)
Speed up tidypredict_fit() for xgboost models. (#130)
randomForest models now support regression outcomes. (#77)
An informative error will now be thrown if a lm model cannot be processed due to having linear combinations of predictors. (#124)
linear models such as lm() and glm() now work with interactions created with * and :. (#74)
Cubist rules will return simplified rules whenever possible to avoid multiplying by 0 and 1. (#152)
Make work with xgboost version > 2.0.0.0. (#169)
Fixed a bug where the intercept was added incorrectly to the result for cubist models. (#58)
Fixed bug where tidypredict would error on Cubist models without conditions. (#127)
Fixed bug where Cubst models incorrectly combined rules and committees. (#134)
Changes maintainer to Edgar Ruiz
Updates author's email addresses.
Removes dependency with stringr
Fixes issue with earth parsed_models (#108)
Addresses issues with XGBoost models
Improvements to XGBoosts tests
Fixes issue handling GLM Binomial earth models (#97)
Adds capability to handle single simple Cubist models (#57)
Fixed parenthesis issue in the creation of the interval formula (#76)
Fixed bug in SQL query generation for XGBoost models with objective binary:logistic.
Re-licensed package from GPL-3 to MIT. See consent from copyright holders here.
earth package. As a result, tidypredict will only parse objects created by this and later versions of earth.xgboost changes.Adds support for categorical predictors in partykit
Fixes parsnip tests to meet standards of new CRAN version
Simplifies tests that verify ranger
Adds fit method for parsed xgboost models
Sets conditional requirement for xgboost, for test and vignette
Parses ranger classification models.
Adds method support for broom's tidy() function. Regression models only
Adds as_parsed_model() function. It adds the proper class components to the list.
Adds initial support for partykit's ctree() model
Adds support for parsnip fitted models: lm, randomForest, ranger, and earth
Adds support for xgb.Booster models provided by the xgboost package (@Athospd, #43)
Adds support for Cubist::cubist() models (# 36)
earth packageNew parsed models are now list objects as opposed to data frames.
tidypredict_to_column() no longer supports ranger and randomForest because of the multiple queries generated by multiple trees.
All functions that read the parsed models and create the tidy eval formula now use the list object.
Most of the code that depends on dplyr programming has been removed.
Removes dependencies on: tidyr, tibble
The x/y interface for earth models can now be used.
randomForest & ranger) (#29)ranger() models.x ~. in a randomForest() formula fails (#18 @washcycle).