Skip to content

parsnip 0.1.6

Compare
Choose a tag to compare
@topepo topepo released this 27 May 16:58

Model Specification Changes

  • A new linear SVM model svm_linear() is now available with the LiblineaR engine (#424) and the kernlab engine (#438), and the LiblineaR engine is available for logistic_reg() as well (#429). These models can use sparse matrices via fit_xy() (#447) and have a tidy method (#474).

  • For models with glmnet engines:

    • A single value is required for penalty (either a single numeric value or a value of tune()) (#481).
    • A special argument called path_values can be used to set the lambda path as a specific set of numbers (independent of the value of penalty). A pure ridge regression models (i.e., mixture = 1) will generate incorrect values if the path does not include zero. See issue #431 for discussion (#486).
  • The liquidSVM engine for svm_rbf() was deprecated due to that package's removal from CRAN. (#425)

  • The xgboost engine for boosted trees was translating mtry to xgboost's colsample_bytree. We now map mtry to colsample_bynode since that is more consistent with how random forest works. colsample_bytree can still be optimized by passing it in as an engine argument. colsample_bynode was added to xgboost after the parsnip package code was written. (#495)

  • For xgboost, mtry and colsample_bytree can be passed as integer counts or proportions, while subsample and validation should always be proportions. xgb_train() now has a new option counts (TRUE or FALSE) that states which scale for mtry and colsample_bytree is being used. (#461)

Other Changes

  • Re-licensed package from GPL-2 to MIT. See consent from copyright holders here.

  • set_mode() now checks if mode is compatible with the model class, similar to new_model_spec() (@jtlandis, #467). Both set_mode() and set_engine() now error for NULL or missing arguments (#503).

  • Re-organized model documentation for update methods (#479).

  • generics::required_pkgs() was extended for parsnip objects.

  • Prediction functions now give a consistent error when a user uses an unavailable value of type (#489)

  • The augment() method was changed to avoid failing if the model does not enable class probabilities. The method now returns tibbles despite the input data class (#487) (#478)

  • xgboost engines now respect the event_level option for predictions (#460).