NEWS
MachineShop 3.9.2 (2026-01-30)
- Remove dead Rd links to the ParBayesianOptimization package.
- Set required java parameters in the
BARTMachineModel example.
MachineShop 3.9.1 (2025-12-16)
- Ensure that global settings are applied to compute nodes when
varimp() runs in parallel.
- Compatibility fixes for
XGBModel (XGBDARTModel, XGBLinearModel, XGBTreeModel).
MachineShop 3.9.0 (2025-06-09)
- Add offset support to
XGBModel.
- Add logical argument
pool to calibration() indicating whether to compute a single calibration curve on predictions pooled over all resampling iterations or to compute them for each iteration individually and return the mean calibration curve.
- The new argument default is
pool = FALSE. The pooling that had been the only implementation in previous package versions (<= 3.8.0) can reproduced with pool = FALSE but is deprecated and will be removed along with the argument in a future version.
- Note that pooling can result in large memory allocation errors when fitting smooth curves with
breaks = NULL.
MachineShop 3.8.0 (2024-08-19)
- Changes to
varimp() arguments.
- Add argument
sort.
- Extend argument
scale to vectors of logical.
- Changes to model-based variable importance.
- Fix unused argument error from
CForestModel.
- Use
drop1() to compute model term-specific p-values for CoxModel, POLRModel, and SurvRegModel as is done for GLMModel and LMModel.
- Changes to
VariableImportance class.
- Add slots
method and metric to store the computational method ("permute" or "model") and the performance metric used for computations.
- Add
update() method to add the new slots to objects created with previous versions of the package.
- Deprecate
type = "default" option in predict() and replace it with type = "raw".
- Fix unimplemented type 'list' in 'listgreater' error from
SelectedInput.recipe().
MachineShop 3.7.0 (2023-09-18)
- Compatibility updates for parsnip.
- Enable resampling by a grouping variable with
BootControl, OOBControl, and SplitControl.
- Enable resampling by a stratification variable with
SplitControl.
- Require R 4.1.0 or later.
MachineShop 3.6.2 (2023-03-21)
- Add backward compatibility for older
MLModel objects without a na.rm slot.
- Fix CRAN check warning: S3 generic/method consistency.
- Update
role_binom(), role_case(), and role_surv() to remove the requirement that their variables be present in newdata supplied to predict().
MachineShop 3.6.1 (2023-02-01)
- Compatibility updates for ggplot2, Matrix, and recipes package dependencies.
MachineShop 3.6.0 (2022-09-05)
- Add argument
na.rm to MLModel() for construction of a model that automatically removes all cases with missing values from model fitting and prediction, none, or only those whose missing values are in the response variable. Set the na.rm values in supplied MLModels to automatically remove cases with missing values if not supported by their model fitting and prediction functions.
- Add argument
prob.model to SVMModel().
- Add argument
verbose to fit() and predict().
- Fix
Error in as.data.frame(x) : object 'x' not found issue when fitting a BARTMachineModel that started occurring with bartMachine package version 1.2.7.
- Remove expired deprecations of
ModeledInput and rpp().
- Internal changes
- Add slot
na.rm to MLModel.
MachineShop 3.5.0 (2022-06-03)
- Add argument
method to r2() for calculation of Pearson or Spearman correlation.
- Add
predict() S4 method for MLModelFit.
- Export
MLModelFunction().
- Export
as.MLInput() methods for MLModelFit and ModelSpecification.
- Export
as.MLModel() method for ModelSpecification.
- Improve recursive feature elimination of
SelectedInput terms.
- Improve speed of
StackedModel and SuperModel.
- Internal changes
- Add
.MachineShop list attribute to MLModelFit.
- Move field
mlmodel in MLModelFit to model in .MachineShop.
- Move slot
input in MLModel to .MachineShop.
- Pass
.MachineShop to the predict and varimp slot functions of MLModel.
MachineShop 3.4.3
- Fix
TypeError in dependence() with numeric dummy variables from recipes.
- Prep
ModelRecipe with retain = TRUE for recipe steps that are skipped, for example, when test datasets are created.
- Add generalized area under performance curves to
auc(), pr_auc(), and roc_auc() for multiclass factor responses.
MachineShop 3.4.2
- Add argument
select to rfe().
- Fix object
perf_stats not found in optim().
MachineShop 3.4.1
- Add argument
conf to set_optim_bayes().
- Enable global grid expansion and tuning of
StackedModel and SuperModel in ModelSpecification().
MachineShop 3.4.0 (2022-03-16)
- Fixes
- Enable prediction with survival times of 0.
- Implement class
SelectedModelSpecification.
- Internal changes
- Deprecate classes
ModeledInput, ModeledFrame, and ModeledRecipe.
- Remove unused class
TunedModeledRecipe.
- Expire deprecations
- Remove argument
fixed from TunedModel().
- Remove
Grid().
- Rename
rpp() to ppr().
- Replace
ModeledInput() with ModelSpecification().
- Require R >= 4.0.0.
- Use Olden algorithm for
NNetModel model-specific variable importance.
MachineShop 3.3.1
- Fixes
SurvRegModelFit summary() error
- update number of folds recorded in
CVControl when stratification or grouping size leads to construction of fewer than requested folds for cross-validation resampling
MachineShop 3.3.0 (2022-02-09)
- Add argument
.type with options "glance" and "tidy" to summary.MLModelFit().
- Add case components data (stratification and grouping variables) to
print.Resample().
- Add class and methods for
ModelSpecification.
- Add training parameters set functions
set_monitor(): monitoring of resampling and optimization
set_optim_bayes(): Bayesian optimization with a Gaussian process model
set_optim_bfgs(): low-memory quasi-Newton BFGS optimization
set_optim_grid(): exhaustive and random grid searches
set_optim_method(): user-defined optimization functions
set_optim_pso(): particle swarm optimization
set_optim_sann(): simulated annealing
- Add
performance() method for MLModel to replicate the previous behavior of summary.MLModel().
- Add
performance(), plot(), and summary() methods for TrainingStep.
- Add support for unordered plots of
Resample performances.
- Changes to argument
type of predict().
- Add option
"default" for model-specific default predictions.
- Add option
"numeric" for numeric predictions.
- Change option
"prob" to be for probabilities between 0 and 1.
- Change
confusion() default behavior to convert factor probabilities to levels.
- Rename argument
control to object in set functions.
- Rename argument
f to fun in roc_index().
- Return a
ListOf training step summaries from summary.MLModel().
- Return a
TrainingStep object from rfe().
- Support tibble-convertible objects as arguments to
expand_params().
- Internal changes
- Add class
EnsembleModel.
- Add classes
MLOptimization, GridSearch, NullOptimization, RandomGridSearch, and SequentialOptimization.
- Add class
NullControl.
- Add slot
control to PerformanceCurve.
- Add slot
method to TrainingStep.
- Add slot
optim to TrainingParams.
- Add slot
params to MLInput.
- Inherit class
SelectedModel from EnsembleModel.
- Inherit class
StackedModel from EnsembleModel.
- Inherit class
SuperModel from StackedModel.
- Rename slot
case_comps to vars in Resample.
- Rename slot
grid to log in TrainingStep.
- Fixes
- error predicting single factor response in
GLMModel
- 'size(x@performance, 3)' error in
print.TrainingStep()
- 'Unmatched tuning parameters' error in
TunedModel()
MachineShop 3.2.1
- Fix 'data' argument of wrong type error in
terms.formula().
- Require >= 3.1.0 version of cli package.
MachineShop 3.2.0 (2021-12-06)
- Add argument
distr and method to dependence().
- Add function
ParsnipModel() for model specifications (model_spec) from the parsnip package.
- Add function
rfe() for recursive feature elimination.
- Add method
as.MLModel() for model_spec and ModeledInput.
- Add support for any model specification whose object has an
as.MLModel() method.
- Add support for cross-validation with case groups.
- Add support for names in argument
metric of auc().
- Change argument
method default from "model" to "permute" in varimp().
- Change class
ModelFrame to an S4 class; generally requires explicit conversion to a data frame with as.data.frame() in MLModel fit and predict functions.
- Change progress bar display from elapsed to estimated completion time.
- Changes to global settings
- Rename
stat.Trained to stat.TrainingParams.
- Remove
stats.VarImp.
- Changes to internal classes
- Add class
ParsnipModel.
- Add class
SurvTimes.
- Add class
TrainingParams.
- Add class union
Grid.
- Add class union
Params.
- Add column
name, selected, and metrics to slot grid of TrainingStep class.
- Add slot
grid to TunedInput.
- Add slot
id to MLInput and MLModel classes.
- Add slot
id and name to TrainingStep class.
- Add slot
models to SelectedModel.
- Remove slot
name from MLControl classes.
- Remove slot
selected, values, and metric from TrainingStep class.
- Remove slot
shift from VariableImportance class.
- Rename class
Grid to TuningGrid.
- Rename class
Resamples to Resample.
- Rename class
TrainStep to TrainingStep.
- Rename class
VarImp to VariableImportance.
- Rename classes of
MLControl.
MLBootControl → BootControl
MLBootOptimismControl → BootOptimismControl
MLCVControl → CVControl
MLCVOptimismControl → CVOptimismControl
MLOOBControl → OOBControl
MLSplitControl → SplitControl
MLTrainControl → TrainControl
- Rename column
Input and Model to params in slot grid of TrainingStep class.
- Rename column
Resample to Iteration in Resample class
- Rename slot
x to input in MLModel class.
- Changes to
XGBModel
- Change argument default for
nrounds from 1 to 100.
- Rearrange constructor arguments.
- Reduce number of tuning grid parameters
- Include
nrounds and max_depth in automated grids for XGBDARTModel and XGBTreeModel.
- Include
nrounds, lambda, and alpha in automated grid for XGBLinearModel.
- Compute survival probabilities for
survival:aft prediction.
- Change default survival objective from
survival:cox to survival:aft.
- Format and condense printout of objects.
- Include all computed performance metrics in
TrainingStep objects and output.
- Remove shift from variable importance scaling in
varimp().
- Rename and redefine dispatch (first) arguments in functions.
model → object in TunedModel()
x → object in expand_model()
x → formula/input/model in expand_modelgrid(), fit(), ModelFrame(), resample(), rfe() methods
x → formula/object/model in ModeledInput() methods
x → object in ParameterGrid() methods
x → control in set_monitor(), set_predict(), set_strata()
x → object in TunedInput()
- Rename function
Grid() to TuningGrid().
- Reorder optional arguments in
ModelFrame().
- Save model constructor arguments as the list elements in
MLModel params slots.
MachineShop 3.1.0 (2021-10-01)
- Add argument
na.rm to dependence().
- Add global setting
stats.VarImp for summary statistics to compute on permutation-based variable importance.
- Add permutation-based variable importance to
varimp().
- Sort variable importance by first column only if not scaled.
- Correct the estimated variances for cross-validation estimators of mean performance difference in
t.test.PerformanceDiff().
- Rename argument
metric to type in varimp() functions for BartMachineModel, C50Model, EarthModel, RFSRCModel, and XGBModel.
- Set argument
type default to "nsubsets" in EarthModel varimp().
- Expand case weighted metrics support.
- Fix weights used in survival event-specific metrics.
- Use weights for
cross_entropy() numeric method.
- Use weights for predicted survival probabilities.
- Fix error with argument
f in roc_index() Surv method.
MachineShop 3.0.0 (2021-08-19)
- Add slot
weights to MLModel classes.
- Allow case weights in
LMModel for all response types.
- Exclude infinite values from calculation of
breaks in calibration().
- Fix invalid
max = Inf arguments to print.default().
- Add support for case weights in performance metrics and curves.
- Evaluate
ModelFrame() arguments strata and weights in data environment.
- Fix issue introduced in package version 2.9.0 of recipe case weights not being used in model fitting.
- Add column
Weight of case weights to Resamples data frame.
- Rename
values column to get_values in MLModel gridinfo slot.
- Move global settings
resample_progress and resample_verbose to set_monitor() arguments progress and verbose.
- Move
MLControl() arguments strata_breaks, strata_nunique, strata_prop, and strata_size to set_strata() arguments breaks, nunique, prop, and size.
- Move
MLControl() arguments times, distr, and method to set_predict().
- Export
%>% operator.
- Return case stratification values in the 'strata' slot of
Resamples objects.
MachineShop 2.9.0 (2021-06-18)
- Rename tibble column
regular to default in MLModel gridinfo slot.
- Redefine
size and random arguments of ParameterGrid() to match those of Grid().
- Revise selection of character values in model grids.
- Select
coeflearn values in their defined order instead of at random in AdaBoostModel.
- Select
kernels values in their defined order instead of at random in KNNModel.
- Add survival
splitrule methods in RangerModel.
- Select
splitrule values in their defined order instead of at random in RangerModel.
- Revise global settings names.
- Rename
max.print to print_max.
- Rename
progress.resample to resample_progress.
- Rename
stat.train to stat.Trained.
- Rename
dist.Surv to distr.SurvMeans.
- Rename
dist.SurvProbs to distr.SurvProbs.
- Implement customized stratification methods for resampling.
- Stratify survival data by time within event status by default instead of by event status only.
- Add
strata_breaks, strata_nunique, strata_prop and strata_size arguments to MLControl() constructor.
- Reduce
strata_breaks if numeric quantile bins are below strata_prop and strata_size.
- Pool smallest factor levels below
strata_prop and strata_size iteratively.
- Pool smallest adjacent ordered levels below
strata_prop and strata_size iteratively.
- Remove deprecated
length arguments from Grid() and ParameterGrid().
- Drop compatibility with deprecated
gridinfo functions in MLModel().
- New and improved survival analysis methods.
- Add support for counting process survival data.
- Use model weights in estimation of predicted baseline survival curves.
- Change censoring curve estimation method from direct to cumulative hazard-based in the
brier() metric.
- Improve computational speed of survival curve estimation.
- Remove
"fleming-harrington" as a choice for the method argument of predict() and for the method.EmpiricalSurv global setting, because it is a special case of the existing (default) "efron" choice and thus not needed.
- Add
"rayleigh" choice for the distr.Surv and distr.SurvProbs global settings.
- Rename
dist argument to distr in calibration(), MLControl(), predict(), and r2().
- Return survival distribution name with predicted values.
- Add
distr argument to SurvEvents() and SurvProbs().
- Add
SurvMeans class.
- Return predicted mean survival times as
SurvMeans object.
- Default to the distribution used in predicting mean survival times in
calibration() and r2().
- Rename
"terms" predictor_encoding to "model.frame" in MLModel class.
- Pass elliptical arguments in
performance() response type-specific methods to metrics supplied as a single MLMetric function.
MachineShop 2.8.0 (2021-04-16)
- Replace
get_grid() with expand_modelgrid().
- Fix for truncated grid of lambda values in
GLMNetModel.
- Support package version constraints in
MLModel.
MachineShop 2.7.1
- Rename
traininfo slot to train_steps in MLModel classes.
- Issue #4: compatibility fix for recipes package change in behavior of the
retain argument in prep().
MachineShop 2.7.0 (2021-03-02)
- Sort randomly sampled grid points.
- Change
fixed argument default NULL to list() in TunedModel().
- CRAN release.
MachineShop 2.6.2
- Rename
length argument to size in Grid() and ParameterGrid().
- Add support for named sizes in
ParameterGrid().
- Revise model tuning grids.
- Replace
grid slot with gridinfo in MLModel classes.
- Add support for size vectors in
Grid().
- Add
get_grid() function to extract model-defined tuning grids.
- Rename
trainbits slot to traininfo in MLModel classes.
MachineShop 2.6.1 (2021-01-26)
- Doc edits: do not test examples requiring suggested packages.
- CRAN release.
MachineShop 2.6.0 (2021-01-19)
- Preprocess data for automated grid construction only when needed.
- Select
RPartModel cp grid points from cptable according to smallest cross-validation error (mean plus one standard deviation).
- CRAN release.
MachineShop 2.5.2
- Export
Performance diff() method.
MachineShop 2.5.1
- Implement fast random forest model
RFSRCModel.
- Export
unMLModelFit() function to revert an MLModelFit object to its original class.
MachineShop 2.5.0 (2020-08-05)
- Add
options argument to step_lincomp() and step_sbf().
- CRAN release.
MachineShop 2.4.3
- Add recipe
step_sbf() function for variable selection by filtering.
- Inherit
step_kmedoids objects from step_sbf, and refactor methods.
- Support user-specified center and scale functions.
- Append prefix to selected variable names.
- Rename
tidy() column medoids to selected.
- Rename
tidy() column names to name.
- Set
tidy() non-selected variable names to NA.
- Add recipe
step_lincomp() function for linear components variable reduction.
- Inherit
step_kmeans objects from step_lincomp, and refactor methods.
- Support user-specified center and scale functions.
- Rename
tidy() column names to name.
- Inherit
step_spca objects from step_lincomp, and refactor methods.
- Support user-specified center and scale functions.
- Rename
tidy() column value to weight.
- Rename
tidy() column component to name.
- Set
GBMModel distribution to bernoulli, instead of multinomial, for binary responses.
MachineShop 2.4.2
- Add global setting
RHS.formula for listing of operators and functions allowed on right-hand side of traditional formulas.
- Add clara clustering method to
step_kmedoids().
- Support Cox and accelerated failure time regression for survival responses in
XGBModel, XGBDARTModel, XGBLinearModel, and XGBTreeModel.
MachineShop 2.4.1
- Set
NNetModel linout argument automatically according to the response variable type (numeric: TRUE, other: FALSE). Previously, linout had a default value of FALSE as defined in the nnet package.
MachineShop 2.4.0 (2020-06-04)
MachineShop 2.3.2
- Display progress bars for sequential resampling iterations.
MachineShop 2.3.1
- R 4.0 data.frame compatibility updates for calibration curves.
- Fix recipe prediction with StackedModel and SuperModel
MachineShop 2.3.0 (2020-05-13)
- Display progress messages for any foreach parallel backend.
MachineShop 2.2.5
- Show all error messages when resample selection stops.
- Preserve predictor names in
NNetModel fit() method.
- Fix aggregation of performance curves with infinite values.
- Add progress bar and verbose output options for
resample() methods.
- Get non-negative probabilities for survival confusion matrix.
- Update Using webpages and vignette.
MachineShop 2.2.4
- Fix
BARTMachineModel to predict highest binary response level.
- Grid tune
BARTMachineModel nu parameter for numeric responses only.
MachineShop 2.2.3
- Extend
ModeledInput() to SelectedModelFrame, SelectedModelRecipe, and TunedModelRecipe.
MachineShop 2.2.2
- Fix updating of recipe parameters in
TunedInput().
MachineShop 2.2.1
- Print
StackedModel and SuperModel training information.
- Fix missing case names when resampling with recipes.
MachineShop 2.2.0 (2020-03-18)
MachineShop 2.1.4
- Add cost-complexity pruning parameters to
TreeModel.
- Perform stratified resampling automatically for
ModeledInput() and SelectedInput() objects constructed with formulas and matrices.
MachineShop 2.1.3
- Revisions needed to some
fit() methods to ensure that unprepped recipes are passed to models, like TunedModed, StackedModel, SelectedModel and SuperModel, needing to replicate preprocessing steps in their resampling routines.
- Extend
GLMModel to factor and matrix responses.
- Use
fun instead of deprecated fun.y in ggplot2 functions.
- Capture user-supplied parameters passed in to the ellipsis of model constructor functions that have them.
MachineShop 2.1.2
- Compatibility fix for tibble 3.0.0.
- Include missing values in model matrices created internally from formulas.
MachineShop 2.1.1
- Improve specificity of
metricinfo() results for factor responses.
- Correct
SplitControl() to train on the split sample instead of the full dataset.
- Perform stratified resampling automatically when
fit() formula and matrix methods are called with meta-models.
MachineShop 2.1.0 (2020-02-08)
MachineShop 2.0.4
- Extend
print() argument n to data frame and matrix columns for more concise display of large data structures.
- Add preprocessing recipe functions
step_kmeans(), step_kmedoids(), and step_spca().
MachineShop 2.0.3
- Internal changes:
- Remove
MLModel slot y.
- Rename
ModelFrame and ModelRecipe columns (casenames) to (names).
- Register
ModelFrame inheritance from data.frame.
- Define
Terms S4 classes for ModelFrame slot terms.
MachineShop 2.0.2
- Implement
ModeledInput, SelectedInput and TunedInput classes and methods.
- Deprecate
SelectedFormula(), SelectedMatrix(), SelectedModelFrame(), SelectedRecipe(), and TunedRecipe().
- Remove deprecated
tune().
- Rename global setting
stat.Curves to stat.Curve.
MachineShop 2.0.1
- Rename global setting
stat.Train to stat.train.
- Add print methods for
SelectedModel, StackedModel, SuperModel, and TunedModel.
- Revise training methods to ensure nested resampling of
SelectedRecipe and TunedRecipe.
- Return list of all training steps in
MLModel trainbits slot.
MachineShop 2.0.0 (2019-12-10)
- Rename global setting
stat.Tune to stat.Train.
- Enable selection of formulas, design matrices, and model frames with
SelectedFormula(), SelectedMatrix(), and SelectedModelFrame().
- Rename discrete variable classes:
BinomialMatrix → BinomialVariate, DiscreteVector → DiscreteVariate, NegBinomialVector → NegBinomialVariate, and PoissonVector → PoissonVariate.
- Add global setting
require for user-specified packages to load during parallel execution of resampling algorithms.
- Rename recipe role
case_strata to case_stratum.
- Rename
object argument to data in ConfusionMatrix(), SurvEvents(), and SurvProbs().
- Add
c methods for BinomialVariate, DiscreteVariate, ListOf, and SurvMatrix.
- Add
role_binom(), role_case(), role_surv(), and role_term() to set recipe roles.
- Support
base argument to varimp() for log-transformed p-values.
- Rename
ParamSet to ParameterGrid.
- Add option to
reset global settings individually.
- Add
as.data.frame methods for Performance, Performance summary, PerformanceDiff, PerformanceDiffTest, and Resamples.
MachineShop 1.99.0
- Implement
DiscreteVector class and subclasses BinomialVector, NegBinomialVector, and PoissonVector for discrete response variables.
- Extend model support to
DiscreteVector classes as follows.
DiscreteVector: all models applicable to numeric responses.
BinomialVector/NegBinomialVector/PoissonVector: BlackBoostModel, GAMBoostModel, GLMBoostModel, GLMModel, and GLMStepAICModel.
BinomialVector/PoissonVector: GLMNetModel.
PoissonVector: GBMModel and XGBModel
- Add support for offset terms in formulas, model matrices, and recipes.
- Add recipe tune information to fitted
MLModel.
- Replace
Calibration(), Confusion(), Curves(), Lift(), and Resamples() with c methods.
- Redefine
Confusion S3 class as ConfusionList S4 class.
- Remove support for one-element list to
metricinfo() and modelinfo().
- Remove deprecated
expand.model().
- Expire deprecated
tune().
MachineShop 1.6.4
- Calculate regression variable importance as negative log p-values.
- Support empty vectors in
metricinfo() and modelinfo().
- Add support for dials package parameter sets with
ParamSet().
MachineShop 1.6.3
- Add
as.MLModel() for coercing MLModelFit to MLModel.
- Deprecate
tune(); call fit() with a SelectedModel or TunedModel instead.
MachineShop 1.6.2
- Implement optimism-corrected cross-validation (
CVOptimismControl).
- Fix
BootOptimismControl error with 2D responses.
- Add global option
max.print for the number of models and data frame rows to show with print methods.
- Enable recipe selection with
SelectedRecipe().
- Refactor
tune() methods.
- Replace
MLModelFit element fitbits (MLFitBits object) with mlmodel (MLModel object).
- Rename
VarImp slot center to shift.
MachineShop 1.6.1
- Use tibbles for parameter grids.
- Add random sampling option to
expand_model(), expand_params(), and expand_steps().
- Display information for model functions and objects more compactly.
MachineShop 1.6.0 (2019-10-10)
- Add global setting for default cutoff threshold value.
- Add option to reset all global settings.
- Enable recipe tuning with
TunedRecipe().
- Add
expand_model() for model expansion over tuning parameters.
- Add
expand_params() for model parameters expansion.
- Add
expand_steps() for recipe step parameters expansion.
- Implement
MLModelFunction and MLModelList classes.
- Add fit methods for
MLModel, MLModelFunction, and MLModelList.
- Fix
NNetModel fit error with binary and factor responses.
- Fix
modelinfo() function not found error.
MachineShop 1.5.2
- Implement exception handling of
tune() resampling failures.
- Remove deprecated
types and design arguments from MLModel().
MachineShop 1.5.1
- Implement global settings for default resampling control, performance metrics, summary statistics, and tuning grid.
- Support vector arguments in
metricinfo() and modelinfo().
- Update package documentation.
MachineShop 1.5.0 (2019-08-01)
- Implement model:
SelectedModel.
- Remove
maximize argument from tune() and TunedModel.
- Support lists as arguments to
StackedModel() and SuperModel.
MachineShop 1.4.2
- Revert renaming of
expand.model().
- Exclude 0 distance from
KNNModel tuning grid.
- Improve random tuning grid coverage.
MachineShop 1.4.1
- Implement model:
TunedModel.
- Remove deprecated
na.action argument from ModelFrame methods.
- Rename
MLModel() argument types to response_types.
- Rename
MLModel() argument design to predictor_encoding.
- Rename
expand.model() to expand_model().
MachineShop 1.4.0 (2019-06-08)
MachineShop 1.3.3
- Implement optimism-corrected bootstrap resampling (
BootOptimismControl).
- Store case names in
ModelFrame and ModelRecipe and save to Resamples.
MachineShop 1.3.2
- Add
BinaryConfusionMatrix and OrderedConfusionMatrix classes.
- Export
ConfusionMatrix constructor.
- Extend
metricinfo() to confusion matrices.
- Refactor performance metrics methods code.
MachineShop 1.3.1
- Check and convert ordered factors in response methods.
- Check consistency of extracted variables in response methods.
- Add metrics methods for
Resamples.
MachineShop 1.3.0 (2019-04-23)
- Improve compatibility with preprocessing recipes.
- Allow base math functions and operators in
ModelFrame formulas.
MachineShop 1.2.5
- Save
ModelFrame response in first column.
- Unexport
response formula method.
- Add
ICHomes dataset.
- Add
center and scale slot to VarImp.
MachineShop 1.2.4
- Prohibit in-line functions in
ModelFrame formulas.
- Rename
response function argument from data to newdata.
MachineShop 1.2.3
- Add
fit, resample, and tune methods for design matrices.
- Reduce computational overhead for design matrices and recipes.
- Rename
ModelFrame() argument na.action to na.rm.
MachineShop 1.2.2
- Implement parametric (
"exponential", "rayleigh", "weibull") estimation of baseline survival functions.
- Set
"weibull" as the default distribution for survival mean estimation.
- Add extract method for
Resamples.
- Add
na.rm argument to calibration(), confusion(), performance(), and performance_curve().
- Add loess
span argument to calibration().
- Change
SurvMatrix from S4 to S3 class.
MachineShop 1.2.1
- Add
method option to predict() for Breslow, Efron (default), or Fleming-Harrington estimation of survival curves for Cox proportional hazards-based models.
- Add
dist option to predict() for exponential or Weibull approximation to estimated survival curves.
- Add
dist option to calibration() for distributional estimation of observed mean survival.
- Add
dist option to r2() for distributional estimation of the total sum of squares mean.
- Handle unnamed arguments in
metricinfo() and modelinfo().
MachineShop 1.2.0 (2019-02-15)
- Implement metrics:
auc, fnr, fpr, rpp, tnr, tpr.
- Implement performance curves, including ROC and precision recall.
- Implement
SurvMatrix classes for predicted survival events and probabilities to eliminate need for separate times arguments in calibration, confusion, metrics, and performance functions.
- Add calibration curves for predicted survival means.
- Add lift curves for predicted survival probabilities.
- Add recipe support for survival and matrix outcomes.
- Rename
MLControl argument surv_times to times.
- Fix identification of recipe
case_weight and case_strata variables.
- Launch package website.
- Bring Introduction vignette up to date with package features.
MachineShop 1.1.0 (2019-01-23)
- Implement model:
BARTModel.
- Implement model tuning over automatically generated grids of parameter values and random sampling of grid points.
- Add metrics for predicted survival times:
accuracy, f_score, kappa2, npv, ppv, pr_auc, precision, recall, roc_index, sensitivity, specificity
- Add metrics for predicted survival means:
cindex, gini, mae, mse, msle, r2, rmse, rmsle.
- Add
performance and metric methods for ConfusionMatrix.
- Add confusion matrices for predicted survival times.
- Standardize predict functions to return mean survival when times are not specified.
- Replace
MLModel slot and constructor argument nvars with design.
MachineShop 1.0.0 (2019-01-02)
- Implement models:
BARTMachineModel, LARSModel.
- Implement performance metrics:
gini, multi-class pr_auc and roc_auc, multivariate rmse, msle, rmsle.
- Implement smooth calibration curves.
- Implement
MLMetric class for performance metrics.
- Add
as.data.frame method for ModelFrame.
- Add
expand.model function.
- Add
label slot to MLModel.
- Expand
metricinfo/modelinfo support for mixed argument types.
- Rename
calibration argument n to breaks.
- Rename
modelmetrics function to performance.
- Rename
ModelMetrics/Diff classes to Performance/Diff.
- Change
MLModelTune slot resamples to performance.
MachineShop 0.4.0 (2018-12-12)
- Implement models:
AdaBagModel, AdaBoostModel, BlackBoostModel, EarthModel, FDAModel, GAMBoostModel, GLMBoostModel, MDAModel, NaiveBayesModel, PDAModel, RangerModel, RPartModel, TreeModel
- Implement user-specified performance metrics in
modelmetrics function.
- Implement metrics:
accuracy, brier, cindex, cross_entropy, f_score, kappa2, mae, mse, npv, ppv, pr_auc, precision, r2, recall, roc_auc, roc_index, sensitivity, specificity, weighted_kappa2.
- Add
cutoff argument to confusion function.
- Add
modelinfo and metricinfo functions.
- Add
modelmetrics method for Resamples.
- Add
ModelMetrics class with print and summary methods.
- Add
response method for recipe.
- Export
Calibration constructor.
- Export
Confusion constructor.
- Export
Lift constructor.
- Extend
calibration arguments to observed and predicted responses.
- Extend
confusion arguments to observed and predicted responses.
- Extend
lift arguments to observed and predicted responses.
- Extend
metrics and stats function arguments to accept function names.
- Extend
Resamples to arguments with multiple models.
- Change
CoxModel, GLMModel, and SurvRegModel constructor definitions so that model control parameters are specified directly instead of with a separate control argument/structure.
- Change
predict(..., times = numeric()) function calls to survival model fits to return predicted values in the same direction as survival times.
- Change
predict(..., times = numeric()) function calls to CForestModel fits to return predicted means instead of medians.
- Change
tune function argument metrics to be defined in terms of a user-specified metric or metrics.
- Deprecate MLControl arguments
cutoff, cutoff_index, na.rm, and summary.
MachineShop 0.3.0 (2018-11-23)
- Implement linear models (
LMModel), linear discriminant analysis (LDAModel), and quadratic discriminant analysis (QDAModel).
- Implement confusion matrices.
- Support matrix response variables.
- Support user-specified stratification variables for resampling via the
strata argument of ModelFrame or the role of "case_strata" for recipe variables.
- Support user-specified case weights for model fitting via the role of
"case_weight" for recipe variables.
- Provide fallback for models with undefined variable importance.
- Update the importing of
prepper due to its relocation from rsample to recipes.
MachineShop 0.2.0 (2018-11-19)
- Implement partial dependence, calibration, and lift estimation and plotting.
- Implement k-nearest neighbors model (
KNNModel), stacked regression models (StackedModel), super learner models (SuperModel), and extreme gradient boosting (XGBModel).
- Implement resampling constructors for training resubstitution (
TrainControl) and split training and test sets (SplitControl).
- Implement
ModelFrame class for general model formula and dataset specification.
- Add multi-class Brier score to
modelmetrics().
- Extend
predict() to automatically preprocess recipes and to use training data as the newdata default.
- Extend
tune() to lists of models.
- Extent
summary() argument stats to functions.
- Fix survival probability calculations in
GBMModel and GLMNetModel.
- Change
MLControl argument na.rm default from FALSE to TRUE.
- Removed
na.rm argument from modelmetrics().
MachineShop 0.1