@@ -93,6 +93,42 @@ namespace MyNamespace
93
93
94
94
}
95
95
96
+ public static void PrintMulticlassClassificationFoldsAverageMetrics(
97
+ string algorithmName,
98
+ TrainCatalogBase.CrossValidationResult<MultiClassClassifierMetrics>[] crossValResults)
99
+ {
100
+ var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics);
101
+
102
+ var microAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMicro);
103
+ var microAccuracyAverage = microAccuracyValues.Average();
104
+ var microAccuraciesStdDeviation = CalculateStandardDeviation(microAccuracyValues);
105
+ var microAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(microAccuracyValues);
106
+
107
+ var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMacro);
108
+ var macroAccuracyAverage = macroAccuracyValues.Average();
109
+ var macroAccuraciesStdDeviation = CalculateStandardDeviation(macroAccuracyValues);
110
+ var macroAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(macroAccuracyValues);
111
+
112
+ var logLossValues = metricsInMultipleFolds.Select(m => m.LogLoss);
113
+ var logLossAverage = logLossValues.Average();
114
+ var logLossStdDeviation = CalculateStandardDeviation(logLossValues);
115
+ var logLossConfidenceInterval95 = CalculateConfidenceInterval95(logLossValues);
116
+
117
+ var logLossReductionValues = metricsInMultipleFolds.Select(m => m.LogLossReduction);
118
+ var logLossReductionAverage = logLossReductionValues.Average();
119
+ var logLossReductionStdDeviation = CalculateStandardDeviation(logLossReductionValues);
120
+ var logLossReductionConfidenceInterval95 = CalculateConfidenceInterval95(logLossReductionValues);
121
+
122
+ Console.WriteLine($"*************************************************************************************************************");
123
+ Console.WriteLine($"* Metrics for {algorithmName} Multi-class Classification model ");
124
+ Console.WriteLine($"*------------------------------------------------------------------------------------------------------------");
125
+ Console.WriteLine($"* Average MicroAccuracy: {microAccuracyAverage:0.###} - Standard deviation: ({microAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfidenceInterval95:#.###})");
126
+ Console.WriteLine($"* Average MacroAccuracy: {macroAccuracyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#.###})");
127
+ Console.WriteLine($"* Average LogLoss: {logLossAverage:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) - Confidence Interval 95%: ({logLossConfidenceInterval95:#.###})");
128
+ Console.WriteLine($"* Average LogLossReduction: {logLossReductionAverage:#.###} - Standard deviation: ({logLossReductionStdDeviation:#.###}) - Confidence Interval 95%: ({logLossReductionConfidenceInterval95:#.###})");
129
+ Console.WriteLine($"*************************************************************************************************************");
130
+
131
+ }
96
132
97
133
public static double CalculateStandardDeviation(IEnumerable<double> values)
98
134
{
@@ -108,6 +144,16 @@ namespace MyNamespace
108
144
return confidenceInterval95;
109
145
}
110
146
147
+ public static void PrintClusteringMetrics(string name, ClusteringMetrics metrics)
148
+ {
149
+ Console.WriteLine($"*************************************************");
150
+ Console.WriteLine($"* Metrics for {name} clustering model ");
151
+ Console.WriteLine($"*------------------------------------------------");
152
+ Console.WriteLine($"* AvgMinScore: {metrics.AvgMinScore}");
153
+ Console.WriteLine($"* DBI is: {metrics.Dbi}");
154
+ Console.WriteLine($"*************************************************");
155
+ }
156
+
111
157
public static void ConsoleWriteHeader(params string[] lines)
112
158
{
113
159
var defaultColor = Console.ForegroundColor;
0 commit comments