public void KeepSelectedLearners(IEnumerable <string> learnersToKeep)
            {
                var allLearners = RecipeInference.AllowedLearners(_env, TrainerKind);

                _env.AssertNonEmpty(allLearners);
                _availableLearners = allLearners.Where(l => learnersToKeep.Contains(l.LearnerName)).ToArray();
                AutoMlEngine.UpdateLearners(_availableLearners);
            }
            public void InferSearchSpace(int numTransformLevels)
            {
                var learners = RecipeInference.AllowedLearners(_env, TrainerKind).ToArray();

                if (_requestedLearners != null && _requestedLearners.Length > 0)
                {
                    learners = learners.Where(l => _requestedLearners.Contains(l.LearnerName)).ToArray();
                }
                ComputeSearchSpace(numTransformLevels, learners, (b, c) => InferAndFilter(b, c));
            }
            private bool IsValidLearnerSet(RecipeInference.SuggestedRecipe.SuggestedLearner[] learners)
            {
                var inferredLearners = RecipeInference.AllowedLearners(_env, TrainerKind);

                return(learners.All(l => inferredLearners.Any(i => i.LearnerName == l.LearnerName)));
            }