Changelog
Source:NEWS.md
mlr3pipelines 0.7.0
CRAN release: 2024-09-24
- New PipeOp
PipeOpRowApply
/po("rowapply")
- Empty
PipeOp
IDs now explicitly forbidden. - Bugfix:
Graph$tran()
/Graph$predict()
withsingle_input = FALSE
now correctly handlesPipeOp
s with multiple inputs. -
GraphLearner$base_learner()
now works withPipeOpBranch
, and is generally more robust. -
GraphLearner
now supports$importance
,$selected_features()
,$oob_error()
, and$loglik()
. These are computed from the underlyingLearner
. -
GraphLearner$impute_selected_features
option 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_type
handling more robust now. -
PipeOpThreshold
andPipeOpTuneThreshold
now 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:
PipeOpImputeOOR
now retains the.MISSING
level in factors during prediction that were imputed during training, but had no missing values during prediction. -
as_data_table(po())
now works even when somePipeOp
s can not be constructed. For thesePipeOp
s,NA
is reported in most columns. - Compatibility with upcoming
mlr3
release. - New PipeOp:
PipeOpRowApply
/po("rowapply")
- New PipeOps for handling inbalanced data:
PipeOpADAS
/po("adas")
andPipeOpBLSmote
/po("blsmote")
- New PipeOp for handling inbalanced data:
PipeOpSmoteNC
/po("smotenc")
mlr3pipelines 0.6.0
CRAN release: 2024-07-01
- Compatibility with new
bbotk
release. - Added marshaling support to
GraphLearner
- Support internal tuning and validation
mlr3pipelines 0.5.2
CRAN release: 2024-04-23
- 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
CRAN release: 2024-03-26
- Changed the ID of
PipeOpFeatureUnion
used inppl("robustify")
andppl("stacking")
. -
pipeline_bagging()
gets thereplace
argument (old behaviourFALSE
by default). - Feature: The
$add_pipeop()
method got an argumentclone
(old behaviourTRUE
by default). - Bugfix:
PipeOpFeatureUnion
in some rare cases dropped variables called"x"
. - Compatibility with upcoming paradox release.
mlr3pipelines 0.5.0-2
CRAN release: 2023-12-08
- Avoid unnecessarily large serializations of
ppl("robustify")
pipelines. - Made tests and examples compatible with mlr3 update.
mlr3pipelines 0.5.0-1
CRAN release: 2023-05-22
- Bugfix:
PipeOpTuneThreshold
was not overloading the correct.train
and.predict
functions.
mlr3pipelines 0.5.0
CRAN release: 2023-05-22
- New way of computing
$hash
and$phash
forGraphLearner
and allPipeOp
s. This could break users that inherit fromPipeOp
and make use of$hash
in the future (but is ultimately in their interest!). - Neater plots.
- Bugfix:
phash
ofGraphLearner
now 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.2
CRAN release: 2022-09-20
- Documentation: Clarified
PipeOpHistBin
operation. - Documentation: Fixed
PipeOpPCA
documentation ofcenter
default. - Added
$label
active binding, setting it to thehelp()
-page title by default. - Made tests compatible with upcoming mlr3misc update.
mlr3pipelines 0.4.1
CRAN release: 2022-05-15
-
$help()
function for all PipeOps as well asGraph
,GraphLearner
and all Learners. -
GraphLearner
can be created without cloningGraph
(for internal use). -
predict.Graph
throws helpful error when it cannot create a fittingTask
. -
PipeOpLearner
packages
slot is set to theLearner
’spackages
. - Bugfix:
PipeOp
train()
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
CRAN release: 2021-11-15
- 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 forPipeOp
class 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_model
inGraphLearner
class, which gets the trained Graph. -
as_learner()
S3-method forPipeOp
class that wraps aPipeOp
in aGraph
and turns that into aLearner
. - Changed PipeOps:
-
PipeOpHistBin
: renamedbins
Param tobreaks
-
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
CRAN release: 2021-09-07
- Bugfix: Make empty Multiplicities work (unless they are nested)
- Fixed: Compatibility with upcoming
bbotk
version. - New
mlr_graphs
:pipeline_stacking
- Added JMLR-Citation
mlr3pipelines 0.3.5
CRAN release: 2021-07-06
- Changed PipeOp:
PipeOpFilter
gets additionalfilter.permuted
hyperparameter. - Bugfix: Make
add_edge
of Graphs work with Multiplicities. - Bugfix: Make
GraphLearner
hash depend onid
. - Documentation: Clarify documentation of
LearnerAvg
. - Internals: Using more idiomatic internal helper functions.
- Compatibility with upcoming
mlr3
version.
mlr3pipelines 0.3.4
CRAN release: 2021-03-05
- Stability: PipeOps don’t crash when they have python/reticulate hyperparameter values.
- Documentation: Titles of PipeOp documentation articles reworked.
mlr3pipelines 0.3.3
CRAN release: 2021-02-09
- Bugfix: fix rare issue in randomized test
- Compatibility with
bbotk
0.3.0
mlr3pipelines 0.3.2
CRAN release: 2020-12-17
- Bugfix: Make
as.data.table(mlr_pipeops)
work withparadox
0.6 - Changed PipeOps:
-
PipeOpColApply
: now allows for an applicator function with multiple columns as a return value; also inherits fromPipeOpTaskPreprocSimple
now
-
mlr3pipelines 0.3.1
CRAN release: 2020-11-16
- Changed PipeOps:
-
PipeOpMissInd
now also allows for setting type = integer -
PipeOpNMF
: now exposes all parameters previously in.options
-
- Changed
mlr_graphs
:-
pipeline_bagging
now uses multiplicities internally - fix how
pipeline_robustify
determines 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
-
GraphLearner
allows customid
- Use parallel tests
- Removed bibtex dependency
mlr3pipelines 0.3.0
CRAN release: 2020-09-13
- compatibility with
mlr3
0.6 -
NULL
input channels accept any kind of input -
print()
method of Graphs now also allows for printing a DOT representation on the console -
state
of PipeOps is now reset toNULL
when training fails - implemented
as_learner.PipeOp
-
LearnerClassifAvg
,LearnerRegrAvg
usebbotk
now - Changed PPLs:
- fix how
ppl_robustify
detects whether a learner can handle factors
- fix how
- Changed PipeOps:
-
PipeOpTextVectorizer
can now return an “integer sequence representation”.
-
- New PipeOps:
PipeOpNMF
PipeOpColRoles
PipeOpVtreat
- various bugfixes
mlr3pipelines 0.2.1
CRAN release: 2020-08-18
- 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 duringtrain()
-
PipeOpMutate
: Allow referencing newly created columns -
PipeOpScale
: Allow robust scaling -
PipeOpLearner
,PipeOpLearnerCV
:learner_models
for access to learner with model slot
-
- New Selectors:
selector_missing
selector_cardinality_greater_than
- NULL is neutral element of
%>>%
-
PipeOpTaskPreproc
now hasfeature_types
slot -
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()
-
Graph
new methodupdate_ids()
-
Graph
methodstrain(single_input = FALSE)
andpredict(single_input = FALSE)
now handle vararg channels correctly. - Obsoleted
greplicate()
; usepipeline_greplicate
/ppl("greplicate")
instead. -
po()
now automatically convertsSelector
toPipeOpSelect
-
po()
prints availablemlr_pipeops
dictionary content -
mlr_graphs
dictionary of useful Graphs, with short form accessorppl()
- Work with new
mlr3
version 0.4.0
mlr3pipelines 0.1.3
CRAN release: 2020-04-06
- small test fix for R 4.0 (necessary for
stringsAsFactors
option 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
CRAN release: 2019-12-10
- Work with new
mlr3
version 0.1.5 (handling of character columns changed)