Closed
Description
openedon May 4, 2018
Issue:
Currently we have to use the pipeline instance to append additional items to the pipeline. It looks something like this:
var pipeline = new LearningPipeline();
pipeline.Add(new TextLoader<SentimentData>(dataPath, separator: ","));
pipeline.Add(new TextFeaturizer("Features", "SentimentText"));
We can add the ability to add a pipeline item in a fluent fashion. The benefit would be reduction of typing and cleaner API.
This would require pipeline to add the following method:
public LearningPipeline Append(ILearningPipelineItem item);
The user code will look like this:
var pipeline = new LearningPipeline()
.Append(new TextLoader<SentimentData>(dataPath, separator: ","))
.Append(new TextFeaturizer("Features", "SentimentText"));
(optional) with extension methods, this can be simplified even further to:
var pipeline = new LearningPipeline()
.AddTextLoader<SentimentData>(dataPath, separator: ",")
.AddTextFeaturizer("Features", "SentimentText");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment