diff --git a/src/Microsoft.ML.PipelineInference/AutoMlEngines/RocketEngine.cs b/src/Microsoft.ML.PipelineInference/AutoMlEngines/RocketEngine.cs index 27b7fa54b7..80388eb53e 100644 --- a/src/Microsoft.ML.PipelineInference/AutoMlEngines/RocketEngine.cs +++ b/src/Microsoft.ML.PipelineInference/AutoMlEngines/RocketEngine.cs @@ -196,21 +196,10 @@ private TransformInference.SuggestedTransform[] SampleTransforms(RecipeInference private RecipeInference.SuggestedRecipe.SuggestedLearner[] GetTopLearners(IEnumerable history) { var weights = LearnerHistoryToWeights(history.ToArray(), IsMaximizingMetric); - var topKTuples = new Tuple[_topK]; - - for (int i = 0; i < weights.Length; i++) - { - if (i < _topK) - topKTuples[i] = new Tuple(weights[i], i); - else - { - for (int j = 0; j < topKTuples.Length; j++) - if (weights[i] > topKTuples[j].Item1) - topKTuples[j] = new Tuple(weights[i], i); - } - } - - return topKTuples.Select(t => AvailableLearners[t.Item2]).ToArray(); + return weights.Select((w, i) => new { Weight = w, Index = i }) + .OrderByDescending(x => x.Weight) + .Take(_topK) + .Select(t=>AvailableLearners[t.Index]).ToArray(); } public override PipelinePattern[] GetNextCandidates(IEnumerable history, int numCandidates) diff --git a/src/Microsoft.ML.PipelineInference/DatasetFeaturesInference.cs b/src/Microsoft.ML.PipelineInference/DatasetFeaturesInference.cs index f0d173de13..e8d40fc6c8 100644 --- a/src/Microsoft.ML.PipelineInference/DatasetFeaturesInference.cs +++ b/src/Microsoft.ML.PipelineInference/DatasetFeaturesInference.cs @@ -507,7 +507,7 @@ public static string InferDatasetFeatures(IHostEnvironment env, Arguments args) } if (args.PrettyPrint) - jsonString = JsonConvert.SerializeObject(features, Formatting.Indented); + jsonString = JsonConvert.SerializeObject(features, Newtonsoft.Json.Formatting.Indented); else jsonString = JsonConvert.SerializeObject(features);