You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The following problem occurs quite often in pipelines: A PipeOp encapsulates some process (a filter to use for feature filtering, resampling and a learner to use for LearnerCV), which itself has some hyperparameters. Currently this is solved by taking the process as argument during construction (PipeOpFilter$initialize for example has an obligatory filter argument) which stays fixed for the lifetime of the PipeOp. The ParamSet of the PipeOp then consists of a ParamSetCollection with parameters of the PipeOp itself (number of features to filter) together with the parameters of the process (parameters of the feature filter method). It would be nice if the process (filter) could itself be a hyperparameter of the PipeOp. However, this would in the current state of paradox preclude the use fo the process's hyperparameters if the process is a hyperparameter itself.
Example, suppose the FilterJMIM filter had the threads parameter. Currently we can do
we could modify the PipeOpFilter to have a "filter" parameter that lets us change the filter of the pipeop. However, that would make changing filter parameters a bit tedious:
Then, if the user wants to tune over specific filter parameters (threads in this case) he can just tune with a ParamSet that contains the jmim.threads parameter. OTOH if he wants to tune over different filters he can use a ParamFct with a trafo that creates different filter objects depending on the filter to use.
The text was updated successfully, but these errors were encountered:
The following problem occurs quite often in pipelines: A PipeOp encapsulates some process (a filter to use for feature filtering, resampling and a learner to use for LearnerCV), which itself has some hyperparameters. Currently this is solved by taking the process as argument during construction (
PipeOpFilter$initialize
for example has an obligatoryfilter
argument) which stays fixed for the lifetime of the PipeOp. The ParamSet of the PipeOp then consists of a ParamSetCollection with parameters of the PipeOp itself (number of features to filter) together with the parameters of the process (parameters of the feature filter method). It would be nice if the process (filter) could itself be a hyperparameter of the PipeOp. However, this would in the current state of paradox preclude the use fo the process's hyperparameters if the process is a hyperparameter itself.Example, suppose the
FilterJMIM
filter had thethreads
parameter. Currently we can dowe could modify the PipeOpFilter to have a "filter" parameter that lets us change the filter of the pipeop. However, that would make changing filter parameters a bit tedious:
It would be useful if these two things could be combined:
Then, if the user wants to tune over specific filter parameters (
threads
in this case) he can just tune with a ParamSet that contains thejmim.threads
parameter. OTOH if he wants to tune over different filters he can use aParamFct
with a trafo that creates different filter objects depending on the filter to use.The text was updated successfully, but these errors were encountered: