Skip to content

Commit 83d1549

Browse files
kevmalCESARDELATORRE
authored andcommitted
MNIST Auto ML - Add prefeaturizer for predictable Score[] ordering (dotnet#459)
* add prefeaturizer for predictable Score[] ordering * remove prefeaturizer and use GetKeyValues on Number col * training time back to 60 seconds
1 parent 65eeab7 commit 83d1549

File tree

1 file changed

+26
-21
lines changed
  • samples/csharp/getting-started/MulticlassClassification_AutoML/MNIST

1 file changed

+26
-21
lines changed

samples/csharp/getting-started/MulticlassClassification_AutoML/MNIST/Program.cs

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -130,33 +130,38 @@ private static void TestSomePredictions(MLContext mlContext)
130130
// Create prediction engine related to the loaded trained model
131131
var predEngine = mlContext.Model.CreatePredictionEngine<InputData, OutputData>(trainedModel);
132132

133+
// Get the key value mapping for Number to Score index
134+
var keyValues = default(VBuffer<float>);
135+
trainedModel.GetOutputSchema(modelInputSchema)["Number"].GetKeyValues<float>(ref keyValues);
136+
var keys = keyValues.Items().ToDictionary(x => (int)x.Value, x => x.Key);
137+
133138
//InputData data1 = SampleMNISTData.MNIST1;
134139
var predictedResult1 = predEngine.Predict(SampleMNISTData.MNIST1);
135140

136-
Console.WriteLine($"Actual: 7 Predicted probability: zero: {predictedResult1.Score[0]:0.####}");
137-
Console.WriteLine($" One : {predictedResult1.Score[1]:0.####}");
138-
Console.WriteLine($" two: {predictedResult1.Score[2]:0.####}");
139-
Console.WriteLine($" three: {predictedResult1.Score[3]:0.####}");
140-
Console.WriteLine($" four: {predictedResult1.Score[4]:0.####}");
141-
Console.WriteLine($" five: {predictedResult1.Score[5]:0.####}");
142-
Console.WriteLine($" six: {predictedResult1.Score[6]:0.####}");
143-
Console.WriteLine($" seven: {predictedResult1.Score[7]:0.####}");
144-
Console.WriteLine($" eight: {predictedResult1.Score[8]:0.####}");
145-
Console.WriteLine($" nine: {predictedResult1.Score[9]:0.####}");
141+
Console.WriteLine($"Actual: 1 Predicted probability: zero: {predictedResult1.Score[keys[0]]:0.####}");
142+
Console.WriteLine($" One : {predictedResult1.Score[keys[1]]:0.####}");
143+
Console.WriteLine($" two: {predictedResult1.Score[keys[2]]:0.####}");
144+
Console.WriteLine($" three: {predictedResult1.Score[keys[3]]:0.####}");
145+
Console.WriteLine($" four: {predictedResult1.Score[keys[4]]:0.####}");
146+
Console.WriteLine($" five: {predictedResult1.Score[keys[5]]:0.####}");
147+
Console.WriteLine($" six: {predictedResult1.Score[keys[6]]:0.####}");
148+
Console.WriteLine($" seven: {predictedResult1.Score[keys[7]]:0.####}");
149+
Console.WriteLine($" eight: {predictedResult1.Score[keys[8]]:0.####}");
150+
Console.WriteLine($" nine: {predictedResult1.Score[keys[9]]:0.####}");
146151
Console.WriteLine();
147-
152+
148153
var predictedResult2 = predEngine.Predict(SampleMNISTData.MNIST2);
149154

150-
Console.WriteLine($"Actual: 1 Predicted probability: zero: {predictedResult2.Score[0]:0.####}");
151-
Console.WriteLine($" One : {predictedResult2.Score[1]:0.####}");
152-
Console.WriteLine($" two: {predictedResult2.Score[2]:0.####}");
153-
Console.WriteLine($" three: {predictedResult2.Score[3]:0.####}");
154-
Console.WriteLine($" four: {predictedResult2.Score[4]:0.####}");
155-
Console.WriteLine($" five: {predictedResult2.Score[5]:0.####}");
156-
Console.WriteLine($" six: {predictedResult2.Score[6]:0.####}");
157-
Console.WriteLine($" seven: {predictedResult2.Score[7]:0.####}");
158-
Console.WriteLine($" eight: {predictedResult2.Score[8]:0.####}");
159-
Console.WriteLine($" nine: {predictedResult2.Score[9]:0.####}");
155+
Console.WriteLine($"Actual: 7 Predicted probability: zero: {predictedResult2.Score[keys[0]]:0.####}");
156+
Console.WriteLine($" One : {predictedResult2.Score[keys[1]]:0.####}");
157+
Console.WriteLine($" two: {predictedResult2.Score[keys[2]]:0.####}");
158+
Console.WriteLine($" three: {predictedResult2.Score[keys[3]]:0.####}");
159+
Console.WriteLine($" four: {predictedResult2.Score[keys[4]]:0.####}");
160+
Console.WriteLine($" five: {predictedResult2.Score[keys[5]]:0.####}");
161+
Console.WriteLine($" six: {predictedResult2.Score[keys[6]]:0.####}");
162+
Console.WriteLine($" seven: {predictedResult2.Score[keys[7]]:0.####}");
163+
Console.WriteLine($" eight: {predictedResult2.Score[keys[8]]:0.####}");
164+
Console.WriteLine($" nine: {predictedResult2.Score[keys[9]]:0.####}");
160165
Console.WriteLine();
161166
}
162167
}

0 commit comments

Comments
 (0)