The prototype of the API will look like that PipelineMdl mdl = new Pipeline<Integer, Object[]> () .addFeatureExtractor(featureExtractor) .addLabelExtractor(lbExtractor) .addStage(new EncoderTrainer<Integer, Object[]>() .withEncoderType(EncoderType.STRING_ENCODER) .withEncodedFeature(1) .withEncodedFeature(6)) .addStage(new ImputerTrainer<Integer, Object[]>()) .addStage(new MinMaxScalerTrainer<Integer, Object[]>()) .addStage(new NormalizationTrainer<Integer, Object[]>() .withP(1)) .addFinalStage(new DecisionTreeClassificationTrainer(5, 0)) .fit(ignite, dataCache);
Also, I've added separate ticket for the update of ParamGrid/CrossValidation API to support tune hyperparameters not only in final trainers but in intermideate preprocessing stages too. https://issues.apache.org/jira/browse/IGNITE-9497 I suggest to add this feature in 2.8 because it doesn't change the current API of algorithms and has no serialized issues -- Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/