EpistasisLab / EpistasisLab/tpot
FeatureSetSelector does not work when not set as the first item in a template.
- Dominant language
- Jupyter Notebook
- Stars
- 10.1k
- Forks
- 1.6k
- PR merge metrics
- No merged PRs in 30d
Description
FeatureSetSelector only works when set as the first step of a template. When no template is used, or when it is set to be in the middle of a template, the behavior is not well defined. It would be helpful if the FSS could be used without a template. For example, TPOT can set the FSS to be the first step of the pipeline, but then have the rest of the pipeline be unrestricted.
for example the following works normally.
template='FeatureSetSelector-Transformer-Classifier')
However "Transformer-FeatureSetSelector-Classifier" does not work, nor will the base model without a template. There are two issues with that:
When using string column names: those are not preserved in the other transformations so when FSS is not first, it cannot use the feature names and crashes.
2. When using indexes of columns, the ordering is not guaranteed to be preserved with transformations in the other steps. This leads to FSS picking out a different subset than indented while also discarding the rest of the data up to that point.
for example lets say subset 1 is indexes 0 and 1. and our pipeline is Some Transformer-FSS-Classifier
out data is [0,1,8,9]
the first transformation adds two columns
data is now [7, 7, 0, 1, 8, 9]
FSS will now select [7,7], and discard the rest (including the added transformation in the last step).
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.