NEWS
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