private static void PrintClassificationMetrics(string name, MultiClassClassifierEvaluator.Result metrics) { Console.WriteLine($"*************************************************"); Console.WriteLine($"* Metrics for {name} "); Console.WriteLine($"*------------------------------------------------"); Console.WriteLine($"* Accuracy Macro: {metrics.AccuracyMacro}"); Console.WriteLine($"* Accuracy Micro: {metrics.AccuracyMicro}"); Console.WriteLine($"* Log Loss: {metrics.LogLoss}"); Console.WriteLine($"* Log Loss Reduction: {metrics.LogLossReduction}"); Console.WriteLine($"* Per Class Log Loss: {metrics.PerClassLogLoss}"); Console.WriteLine($"*************************************************"); }
private void CompareMatrics(MultiClassClassifierEvaluator.Result metrics) { Assert.Equal(.98, metrics.AccuracyMacro); Assert.Equal(.98, metrics.AccuracyMicro, 2); Assert.InRange(metrics.LogLoss, .05, .06); Assert.InRange(metrics.LogLossReduction, 94, 96); Assert.Equal(3, metrics.PerClassLogLoss.Length); Assert.Equal(0, metrics.PerClassLogLoss[0], 1); Assert.Equal(.1, metrics.PerClassLogLoss[1], 1); Assert.Equal(.1, metrics.PerClassLogLoss[2], 1); }
public static void PrintMultiClassClassificationMetrics(string name, MultiClassClassifierEvaluator.Result metrics) { Console.WriteLine($"************************************************************"); Console.WriteLine($"* Metrics for {name} multi-class classification model "); Console.WriteLine($"*-----------------------------------------------------------"); Console.WriteLine($" AccuracyMacro = {metrics.AccuracyMacro:0.####}, a value between 0 and 1, the closer to 1, the better"); Console.WriteLine($" AccuracyMicro = {metrics.AccuracyMicro:0.####}, a value between 0 and 1, the closer to 1, the better"); Console.WriteLine($" LogLoss = {metrics.LogLoss:0.####}, the closer to 0, the better"); Console.WriteLine($" LogLoss for class 1 = {metrics.PerClassLogLoss[0]:0.####}, the closer to 0, the better"); Console.WriteLine($" LogLoss for class 2 = {metrics.PerClassLogLoss[1]:0.####}, the closer to 0, the better"); Console.WriteLine($" LogLoss for class 3 = {metrics.PerClassLogLoss[2]:0.####}, the closer to 0, the better"); Console.WriteLine($"************************************************************"); }
public static void ToConsole(this MultiClassClassifierEvaluator.Result result) { Console.WriteLine($"Acuracy macro: {result.AccuracyMacro}"); Console.WriteLine($"Acuracy micro: {result.AccuracyMicro}"); Console.WriteLine($"Log loss: {result.LogLoss}"); Console.WriteLine($"Log loss reduction: {result.LogLossReduction}"); Console.WriteLine($"Per class log loss: "); int count = 0; foreach (var logLossClass in result.PerClassLogLoss) { Console.WriteLine($"\t [{count++}]: {logLossClass}"); } Console.WriteLine($"Top K: {result.TopK}"); Console.WriteLine($"Top K accuracy: {result.TopKAccuracy}"); }