MLBazaar / MLBazaar/MLPrimitives
Add MLPipeline as a primitive
Open
@csala is already working on this.
Since Dec 18, 2019.
approved
new primitives
- Dominant language
- Python
- Stars
- 70
- Forks
- 37
- PR merge metrics
- No merged PRs in 30d
Description
Create the mlblocks.MLPipeline primitive to allow setting a whole pipeline as a single primitive.
The primitive arguments will be the mlblocks.MLPipeline arguments, which means that the pipeline will be specified as either:
- A pipeline name
- A json path
- A pipeline dictionary
- Individual arguments
Some usage examples:
Python pipeline specification - specify the sub-pipeline by its name
from mlblocks import MLPipeline
primitives = [
'mlblocks.MLPipeline',
'xgboost.XGBClassifier'
]
init_params = {
'mlblocks.MLPipeline#1': {
'pipeline': 'my-preprocessing-pipeline'
},
}
pipeline = MLPipeline(primitives, init_params=init_params)
Pipeline dictionary - specify the subpipelines by name, dict and json path
pipeline_dict = {
'primitives': [
'mlblocks.MLPipeline',
'mlblocks.MLPipeline',
'mlblocks.MLPipeline',
],
'init_params': {
'mlblocks.MLPipeline#1': {
'pipeline': 'a-preprocessing-pipeline',
},
'mlblocks.MLPipeline#2': {
'primitives': [
'mlprimitives.feature_extraction.CategoricalEncoder',
'sklearn.preprocessing.StandardScaler',
],
},
'mlblocks.MLPipeline#3': {
'primitives': [
'path/to/my/postprocessing/pipeline.json',
],
},
},
}
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.