5
5
using System ;
6
6
using System . Collections . Generic ;
7
7
using System . Linq ;
8
- using Microsoft . Data . DataView ;
9
8
using Microsoft . ML . Data ;
10
9
11
10
namespace Microsoft . ML . Auto
@@ -15,7 +14,7 @@ public sealed class MulticlassExperimentSettings : ExperimentSettings
15
14
public MulticlassClassificationMetric OptimizingMetric { get ; set ; } = MulticlassClassificationMetric . MicroAccuracy ;
16
15
public ICollection < MulticlassClassificationTrainer > Trainers { get ; } =
17
16
Enum . GetValues ( typeof ( MulticlassClassificationTrainer ) ) . OfType < MulticlassClassificationTrainer > ( ) . ToList ( ) ;
18
- public IProgress < RunResult < MultiClassClassifierMetrics > > ProgressHandler { get ; set ; }
17
+ public IProgress < RunResult < MulticlassClassificationMetrics > > ProgressHandler { get ; set ; }
19
18
}
20
19
21
20
public enum MulticlassClassificationMetric
@@ -34,11 +33,11 @@ public enum MulticlassClassificationTrainer
34
33
FastTreeOVA ,
35
34
LightGbm ,
36
35
LinearSupportVectorMachinesOVA ,
37
- LogisticRegression ,
38
- LogisticRegressionOVA ,
39
- StochasticDualCoordinateAscent ,
40
- StochasticGradientDescentOVA ,
41
- SymbolicStochasticGradientDescentOVA ,
36
+ LbfgsMaximumEntropy ,
37
+ LbfgsLogisticRegressionOVA ,
38
+ SdcaMaximumEntropy ,
39
+ SgdCalibratedOVA ,
40
+ SymbolicSgdLogisticRegressionOVA ,
42
41
}
43
42
44
43
public sealed class MulticlassClassificationExperiment
@@ -52,7 +51,7 @@ internal MulticlassClassificationExperiment(MLContext context, MulticlassExperim
52
51
_settings = settings ;
53
52
}
54
53
55
- public IEnumerable < RunResult < MultiClassClassifierMetrics > > Execute ( IDataView trainData , string labelColumn = DefaultColumnNames . Label ,
54
+ public IEnumerable < RunResult < MulticlassClassificationMetrics > > Execute ( IDataView trainData , string labelColumn = DefaultColumnNames . Label ,
56
55
string samplingKeyColumn = null , IEstimator < ITransformer > preFeaturizers = null )
57
56
{
58
57
var columnInformation = new ColumnInformation ( )
@@ -63,28 +62,28 @@ public IEnumerable<RunResult<MultiClassClassifierMetrics>> Execute(IDataView tra
63
62
return Execute ( _context , trainData , columnInformation , null , preFeaturizers ) ;
64
63
}
65
64
66
- public IEnumerable < RunResult < MultiClassClassifierMetrics > > Execute ( IDataView trainData , ColumnInformation columnInformation , IEstimator < ITransformer > preFeaturizers = null )
65
+ public IEnumerable < RunResult < MulticlassClassificationMetrics > > Execute ( IDataView trainData , ColumnInformation columnInformation , IEstimator < ITransformer > preFeaturizers = null )
67
66
{
68
67
return Execute ( _context , trainData , columnInformation , null , preFeaturizers ) ;
69
68
}
70
69
71
- public IEnumerable < RunResult < MultiClassClassifierMetrics > > Execute ( IDataView trainData , IDataView validationData , string labelColumn = DefaultColumnNames . Label , IEstimator < ITransformer > preFeaturizers = null )
70
+ public IEnumerable < RunResult < MulticlassClassificationMetrics > > Execute ( IDataView trainData , IDataView validationData , string labelColumn = DefaultColumnNames . Label , IEstimator < ITransformer > preFeaturizers = null )
72
71
{
73
72
var columnInformation = new ColumnInformation ( ) { LabelColumn = labelColumn } ;
74
73
return Execute ( _context , trainData , columnInformation , validationData , preFeaturizers ) ;
75
74
}
76
75
77
- public IEnumerable < RunResult < MultiClassClassifierMetrics > > Execute ( IDataView trainData , IDataView validationData , ColumnInformation columnInformation , IEstimator < ITransformer > preFeaturizers = null )
76
+ public IEnumerable < RunResult < MulticlassClassificationMetrics > > Execute ( IDataView trainData , IDataView validationData , ColumnInformation columnInformation , IEstimator < ITransformer > preFeaturizers = null )
78
77
{
79
78
return Execute ( _context , trainData , columnInformation , validationData , preFeaturizers ) ;
80
79
}
81
80
82
- internal IEnumerable < RunResult < MultiClassClassifierMetrics > > Execute ( IDataView trainData , uint numberOfCVFolds , ColumnInformation columnInformation = null , IEstimator < ITransformer > preFeaturizers = null )
81
+ internal IEnumerable < RunResult < MulticlassClassificationMetrics > > Execute ( IDataView trainData , uint numberOfCVFolds , ColumnInformation columnInformation = null , IEstimator < ITransformer > preFeaturizers = null )
83
82
{
84
83
throw new NotImplementedException ( ) ;
85
84
}
86
85
87
- internal IEnumerable < RunResult < MultiClassClassifierMetrics > > Execute ( MLContext context ,
86
+ internal IEnumerable < RunResult < MulticlassClassificationMetrics > > Execute ( MLContext context ,
88
87
IDataView trainData ,
89
88
ColumnInformation columnInfo ,
90
89
IDataView validationData = null ,
@@ -94,7 +93,7 @@ internal IEnumerable<RunResult<MultiClassClassifierMetrics>> Execute(MLContext c
94
93
UserInputValidationUtil . ValidateExperimentExecuteArgs ( trainData , columnInfo , validationData ) ;
95
94
96
95
// run autofit & get all pipelines run in that process
97
- var experiment = new Experiment < MultiClassClassifierMetrics > ( context , TaskKind . MulticlassClassification , trainData ,
96
+ var experiment = new Experiment < MulticlassClassificationMetrics > ( context , TaskKind . MulticlassClassification , trainData ,
98
97
columnInfo , validationData , preFeaturizers , new OptimizingMetricInfo ( _settings . OptimizingMetric ) ,
99
98
_settings . ProgressHandler , _settings , new MultiMetricsAgent ( _settings . OptimizingMetric ) ,
100
99
TrainerExtensionUtil . GetTrainerNames ( _settings . Trainers ) ) ;
@@ -105,7 +104,7 @@ internal IEnumerable<RunResult<MultiClassClassifierMetrics>> Execute(MLContext c
105
104
106
105
public static class MulticlassExperimentResultExtensions
107
106
{
108
- public static RunResult < MultiClassClassifierMetrics > Best ( this IEnumerable < RunResult < MultiClassClassifierMetrics > > results , MulticlassClassificationMetric metric = MulticlassClassificationMetric . MicroAccuracy )
107
+ public static RunResult < MulticlassClassificationMetrics > Best ( this IEnumerable < RunResult < MulticlassClassificationMetrics > > results , MulticlassClassificationMetric metric = MulticlassClassificationMetric . MicroAccuracy )
109
108
{
110
109
var metricsAgent = new MultiMetricsAgent ( metric ) ;
111
110
return RunResultUtil . GetBestRunResult ( results , metricsAgent ) ;
0 commit comments