mlr3pipelines 0.9.0
- Breaking change: Removed initialization of
PipeOpImputeConstant’sconstanthyperparameter
since it was incompatible with other defaults and would lead to not
recommended usage (creating an empty level).
- Removed compatibility for old paradoxversions
pre-1.0.0.
- Added empty_level_controlargument toPipeOpImputeallowing control over edge cases forfactor/orderedcolumns.
- Set new construction argument empty_level_controlto"param"forPipeOpImputeOORand to"always"forPipeOpImputeConstant.
- Untrained PipeOps that takeNULLas input
during training now automatically perform training during
prediction.
- PipeOpImputeConstant,- PipeOpImputeMode,- PipeOpImputeOOR, and- PipeOpImputeLearnercan
now handle- factoror- orderedfeatures with
zero levels.
- PipeOpImputeConstantnow gives a more informative error
message if- check_levelsis- TRUEand a new
level would be created through imputation.
- Fix: PipeOpImputeOORnow imputes".MISSING"forfactor/orderedfeatures with onlyNAs instead of sampling from the
feature’s levels.
- Fix: PipeOpImputeLearnerno longer adds"factor"or"ordered"levels for these feature
types arbitrarily and instead updates levels correctly in certain
edge-cases.
- Fixed the error message for unexpected Multiplicities in the input
and output type checking during PipeOps training and
prediction.
- Fixed a grammatical error in PipeOp’s error message
wrapper: now correctly says “This happened in …”.
mlr3pipelines 0.8.0
- Added missing error for predicting with untrained
PipeOps /Graphs.
- Fix: Corrected typo in the hyperparameter name
use_parallelofPipeOpVtreat.
- Fix: Do not overwrite initial hyperparameter settings of
bbotk::OptimizerBatchNLoptrinLearnerClassifAvg/LearnerRegrAvg’s internaloptimize_weights_learneravgfunction.
- Added new convenience function preproc()for easier
training of or prediction withPipeOps orGraphs.
- Fix: PipeOpVtreat,PipeOpEncodeImpact, andPipeOpEncodeLmernow accept the more preciseTaskSupervisedinstead ofTaskas input for
training and prediction.
- Docs: Added missing documentation for the task_typeof
the input and output channels ofPipeOps that inherit fromPipeOpTaskPreprocand set a non-defaulttask_type.
- Fix: PipeOpEncodeLmer,PipeOpADAS,PipeOpBLSmote,PipeOpSmote, andPipeOpSmoteNCno longer throw an error in case of empty
target levels during training.
- Fix: PipeOpClassBalancingnow handles unseen target
levels by ignoring them during upsampling instead of producingNAs.
mlr3pipelines 0.7.2
- New parameter no_collapse_above_absoluteforPipeOpCollapseFactors/po("collapse_factors").
- Fix: PipeOpCollapseFactorsnow correctly collapses
levels of ordered factors.
- Fix: LearnerClassifAvgandLearnerRegrAvghyperparameters get the"required"tag.
- New parameter use_groups(defaultTRUE)
forPipeOpSubsamplingto respect grouping (changed default
behaviour for grouped data)
- New parameter new_role_directforPipeOpColRoles/po("colroles")to change
column roles by role instead of by column.
- Dictionary sugar functions po()/pos()/ppl()/ppls()now make suggestions for
entries in bothmlr_pipeopsas well asmlr_graphswhen an object by the given name could not be
found in the respective dictionary.
- New PipeOp PipeOpDecode/po("decode")to
reverse one-hot or treatment encoding.
- Fix: Columns that are featureand something else no
longer lose the other column role during training or predicting ofPipeOps inheriting fromPipeOpTaskPreproc.
- Fix: Made tests for PipeOpBLSmotedeterministic.
- Fix: Corrected hash calculation for PipeOpFilter.
- New PipeOps PipeOpEncodePLQuantilesandPipeOpEncodePLTreethat implement piecewise linear encoding
with two different binning methods.
- Compatibility with new R6release.
- Docs: Performed cleanup and standardization.
- Docs: Performed cleanup of reference index page on website.
- Docs: Fixed parsing of examples on website for
PipeOpNMFandPipeOpLearnerPICVPlus.
- Fix: PipeOpTargetMutateandPipeOpTargetTrafoScaleRangeno longer drop unseen factor
levels of features or targets during train and predict.
- Simplified parameter checks and added internal type checking for
PipeOpTargetMutate.
mlr3pipelines 0.7.1
- Compatibility fix for upcoming mlr3
- New down-sampling PipeOps for inbalanced data:
PipeOpTomek/po("tomek")andPipeOpNearmiss/po("nearmiss")
- New PipeOp
PipeOpLearnerPICVPlus / po("learner_pi_cvplus")
- New PipeOp for Quantile Regression
PipeOpLearnerQuantiles/po(learner_quantiles)
- GraphLearnerhas new active bindings/methods as
shortcuts for active bindings/methods of the underlying- Graph:- $pipeops,- $edges,- $pipeops_param_set, and- $pipeops_param_set_valuesas well as- $ids()and- $plot().
mlr3pipelines 0.7.0
- New PipeOp PipeOpRowApply/po("rowapply")
- Empty PipeOpIDs now explicitly forbidden.
- Bugfix: Graph$tran()/Graph$predict()withsingle_input = FALSEnow correctly handlesPipeOps with multiple inputs.
- GraphLearner$base_learner()now works with- PipeOpBranch, and is generally more robust.
- GraphLearnernow supports- $importance,- $selected_features(),- $oob_error(), and- $loglik(). These are computed from the underlying- Learner.
- GraphLearner$impute_selected_featuresoption added:- $selected_features()is reported even if the underlying
base learner does not report it; in this case, the full feature set as
seen by that learner is returned.
- GraphLearner$predict_typehandling more robust
now.
- PipeOpThresholdand- PipeOpTuneThresholdnow have the- $predict_type- "prob". They can be
set to- "response", in which case the probability
predictions are discarded, potentially saving memory.
- Bugfix for handling multiplicities in PipeOps with vararg
channels.
- Bugfix: PipeOpImputeOORnow retains the.MISSINGlevel in factors during prediction that were
imputed during training, but had no missing values during
prediction.
- as_data_table(po())now works even when some- PipeOps can not be constructed. For these- PipeOps,- NAis reported in most columns.
- Compatibility with upcoming mlr3release.
- New PipeOps for handling inbalanced data: PipeOpADAS/po("adas"),PipeOpBLSmote/po("blsmote")andPipeOpSmoteNC/po("smotenc")
mlr3pipelines 0.6.0
- Compatibility with new bbotkrelease.
- Added marshaling support to GraphLearner
- Support internal tuning and validation
mlr3pipelines 0.5.2
- Added new ppl("convert_types").
- Minor documentation fixes.
- Test helpers are now available in inst/. These are
considered experimental and unstable.
mlr3pipelines 0.5.1
- Changed the ID of PipeOpFeatureUnionused inppl("robustify")andppl("stacking").
- pipeline_bagging()gets the- replaceargument (old behaviour- FALSEby default).
- Feature: The $add_pipeop()method got an argumentclone(old behaviourTRUEby default).
- Bugfix: PipeOpFeatureUnionin some rare cases dropped
variables called"x".
- Compatibility with upcoming paradox release.
mlr3pipelines 0.5.0-2
- Avoid unnecessarily large serializations of
ppl("robustify")pipelines.
- Made tests and examples compatible with mlr3 update.
mlr3pipelines 0.5.0-1
- Bugfix: PipeOpTuneThresholdwas not overloading the
correct.trainand.predictfunctions.
mlr3pipelines 0.5.0
- New way of computing $hashand$phashforGraphLearnerand allPipeOps. This could break
users that inherit fromPipeOpand make use of$hashin the future (but is ultimately in their
interest!).
- Neater plots.
- Bugfix: phashofGraphLearnernow
considers content of Graph, not only IDs.
- One vignette removed for version 0.1.3 added back here. Welcome
home!
- Bugfix: Make Graph work that have PipeOps with more than one output,
where one output was linked to multiple inputs.
mlr3pipelines 0.4.3
- po(),- pos()can now construct- PipeOps with ID postfix- _<number>to
avoid ID clashes.
- GraphLearnernow has method- $base_learner()that returns the underlying- Learner, if it can be found by a simple heuristic.
- Fix S3 function signatures
mlr3pipelines 0.4.2
- Documentation: Clarified PipeOpHistBinoperation.
- Documentation: Fixed PipeOpPCAdocumentation ofcenterdefault.
- Added $labelactive binding, setting it to thehelp()-page title by default.
- Made tests compatible with upcoming mlr3misc update.
mlr3pipelines 0.4.1
- $help()function for all PipeOps as well as- Graph,- GraphLearnerand all Learners.
- GraphLearnercan be created without cloning- Graph(for internal use).
- predict.Graphthrows helpful error when it cannot
create a fitting- Task.
- PipeOpLearner- packagesslot is set to the- Learner’s- packages.
- Bugfix: PipeOptrain()andpredict()report correct channel name when output has wrong
type.
- Bugfix: More accurate type inference when constructing Graphs.
- Stability fix for interaction with packages such as mlr3spatiotempcv
that extend existing Task types.
mlr3pipelines 0.4.0
- New operator %>>!%that modifies Graphs
in-place.
- New methods chain_graphs(),concat_graphs(),Graph$chain()as alternatives
for%>>%and%>>!%.
- New methods pos()andppls()which create
lists of PipeOps/Graphs and can be seen as “plural” forms ofpo()andppl().
- po()S3-method for- PipeOpclass that
clones a PipeOp object and optionally modifies its attributes.
- Graph$add_pipeop()now clones the PipeOp being
added.
- Documentation: Clarified documentation about cloning of input
arguments in several places.
- Performance enhancements for Graph concatenation.
- More informative error outputs.
- New attribute graph_modelinGraphLearnerclass, which gets the trained Graph.
- as_learner()S3-method for- PipeOpclass
that wraps a- PipeOpin a- Graphand turns that
into a- Learner.
- Changed PipeOps:
- PipeOpHistBin: renamed- binsParam to- breaks
- PipeOpImputeHist: fix handling of integer features
spanning the entire represented integer range
- PipeOpImputeOOR: fix handling of integer features
spanning the entire represented integer range
- PipeOpProxy: Avoid unnecessary clone
- PipeOpScale: Performance improvement
 
mlr3pipelines 0.3.6-1
- Fix numerics problem in tests
mlr3pipelines 0.3.6
- Bugfix: Make empty Multiplicities work (unless they are nested)
- Fixed: Compatibility with upcoming bbotkversion.
- New mlr_graphs:pipeline_stacking
- Added JMLR-Citation
mlr3pipelines 0.3.5-1
- Fixed: Compatibility with upcoming mlr3version.
mlr3pipelines 0.3.5
- Changed PipeOp: PipeOpFiltergets additionalfilter.permutedhyperparameter.
- Bugfix: Make add_edgeof Graphs work with
Multiplicities.
- Bugfix: Make GraphLearnerhash depend onid.
- Documentation: Clarify documentation of
LearnerAvg.
- Internals: Using more idiomatic internal helper functions.
- Compatibility with upcoming mlr3version.
mlr3pipelines 0.3.4
- Stability: PipeOps don’t crash when they have python/reticulate
hyperparameter values.
- Documentation: Titles of PipeOp documentation articles
reworked.
mlr3pipelines 0.3.3
- Bugfix: fix rare issue in randomized test
- Compatibility with bbotk0.3.0
mlr3pipelines 0.3.2
- Bugfix: Make as.data.table(mlr_pipeops)work withparadox0.6
- Changed PipeOps:
- PipeOpColApply: now allows for an applicator function
with multiple columns as a return value; also inherits from- PipeOpTaskPreprocSimplenow
 
mlr3pipelines 0.3.1
- Changed PipeOps:
- PipeOpMissIndnow also allows for setting type =
integer
- PipeOpNMF: now exposes all parameters previously in- .options
 
- Changed mlr_graphs:
- pipeline_baggingnow uses multiplicities
internally
- fix how pipeline_robustifydetermines the type of newly
created columns when usingPipeOpMissInd
- PipeOpFeatureUnion: Fixed a minor bug when checking for
duplicates
 
- added an autotest for ParamSets of PipeOps:
expect_valid_pipeop_param_set
- More informative error message when PipeOp input value has wrong
type
- Fix automatic detection of R6 type hierarchy
- Performance improvements for GraphLearner
- GraphLearnerallows custom- id
- Use parallel tests
- Removed bibtex dependency
mlr3pipelines 0.3.0
- compatibility with mlr30.6
- NULLinput channels accept any kind of input
- print()method of Graphs now also allows for printing a
DOT representation on the console
- stateof PipeOps is now reset to- NULLwhen
training fails
- implemented as_learner.PipeOp
- LearnerClassifAvg,- LearnerRegrAvguse- bbotknow
- Changed PPLs:
- fix how ppl_robustifydetects whether a learner can
handle factors
 
- Changed PipeOps:
- PipeOpTextVectorizercan now return an “integer
sequence representation”.
 
- New PipeOps:
- PipeOpNMF
- PipeOpColRoles
- PipeOpVtreat
 
- various bugfixes
mlr3pipelines 0.2.1
- New feature: Multiplicities: implicit repetition of operations
- new mlr_graphs:
- pipeline_bagging
- pipeline_branch
- pipeline_greplicate
- pipeline_robustify
- pipeline_targettrafo
- pipeline_ovr
 
- New PipeOps:
- PipeOpOVRSplit,- PipeOpOVRUnite
- PipeOpReplicate
- PipeOpMultiplicityExply,- PipeOpMultiplicityImply
- PipeOpTargetTrafo,- PipeOpTargetInvert
- PipeOpTargetMutate
- PipeOpTargetTrafoScaleRange
- PipeOpProxy
- PipeOpDateFeatures
- PipeOpImputeConstant
- PipeOpImputeLearner
- PipeOpMode
- PipeOpRandomResponse
- PipeOpRenameColumns
- PipeOpTextVectorizer
- PipeOpThreshold
 
- Renamed PipeOps:
- PipeOpImputeNewlvl–>- PipeOpImputeOOR(with additional functionality for continuous values)
 
- Changed PipeOps:
- PipeOpFeatureUnion: Bugfix: avoid silently overwriting
features when names clash
- PipeOpHistBin: Bugfix: handle test set data out of
training set range
- PipeOpLearnerCV: Allow returning trainingset prediction
during- train()
- PipeOpMutate: Allow referencing newly created
columns
- PipeOpScale: Allow robust scaling
- PipeOpLearner,- PipeOpLearnerCV:- learner_modelsfor access to learner with model slot
 
- New Selectors:
- selector_missing
- selector_cardinality_greater_than
 
- NULL is neutral element of %>>%
- PipeOpTaskPreprocnow has- feature_typesslot
- PipeOpTaskPreproc(Simple)internal API changed: use- .train_task(),- .predict_task(),- .train_dt(),- .predict_dt(),- .select_cols(),- .get_state(),- .transform(),- .get_state_dt(),- .transform_dt()instead of the old methods without dot
prefix
- PipeOp now has tags slot
- PipeOp internal API changed: use .train(),.predict()instead oftrain_internal(),predict_internal()
- Graphnew method- update_ids()
- Graphmethods- train(single_input = FALSE)and- predict(single_input = FALSE)now handle vararg
channels correctly.
- Obsoleted greplicate(); usepipeline_greplicate/ppl("greplicate")instead.
- po()now automatically converts- Selectorto- PipeOpSelect
- po()prints available- mlr_pipeopsdictionary content
- mlr_graphsdictionary of useful Graphs, with short form
accessor- ppl()
- Work with new mlr3version 0.4.0
mlr3pipelines 0.1.3
- small test fix for R 4.0 (necessary for
stringsAsFactorsoption default change in 3.6 ->
4.0)
- predict()generic for Graph
- Migrated last vignette to “mlr3 Book”
- Compact in-memory representation of R6 objects to save space when
saving objects via saveRDS(),serialize()etc.
mlr3pipelines 0.1.2
- Work with new mlr3version 0.1.5 (handling of character
columns changed)
mlr3pipelines 0.1.1
- Better html graphics for linear Graphs
- New PipeOps:
- Changed PipeOp Behaviour:
mlr3pipelines 0.1.0