diff --git a/ZBaselines/Common/EntryPoints/core_ep-list.tsv b/ZBaselines/Common/EntryPoints/core_ep-list.tsv
index 568a6066f9..eeeee5fe6f 100644
--- a/ZBaselines/Common/EntryPoints/core_ep-list.tsv
+++ b/ZBaselines/Common/EntryPoints/core_ep-list.tsv
@@ -23,7 +23,6 @@ Models.Summarizer Summarize a linear regression predictor. Microsoft.ML.Runtime.
Models.TrainTestBinaryEvaluator Train test for binary classification Microsoft.ML.Runtime.EntryPoints.TrainTestBinaryMacro TrainTestBinary Microsoft.ML.Runtime.EntryPoints.TrainTestBinaryMacro+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+MacroOutput`1[Microsoft.ML.Runtime.EntryPoints.TrainTestBinaryMacro+Output]
Models.TrainTestEvaluator General train test for any supported evaluator Microsoft.ML.Runtime.EntryPoints.TrainTestMacro TrainTest Microsoft.ML.Runtime.EntryPoints.TrainTestMacro+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+MacroOutput`1[Microsoft.ML.Runtime.EntryPoints.TrainTestMacro+Output]
Trainers.AveragedPerceptronBinaryClassifier Train a Average perceptron. Microsoft.ML.Runtime.Learners.AveragedPerceptronTrainer TrainBinary Microsoft.ML.Runtime.Learners.AveragedPerceptronTrainer+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+BinaryClassificationOutput
-Trainers.BinaryLogisticRegressor Train a logistic regression binary model Microsoft.ML.Runtime.Learners.LogisticRegression TrainBinary Microsoft.ML.Runtime.Learners.LogisticRegression+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+BinaryClassificationOutput
Trainers.FastForestBinaryClassifier Uses a random forest learner to perform binary classification. Microsoft.ML.Runtime.FastTree.FastForest TrainBinary Microsoft.ML.Runtime.FastTree.FastForestClassification+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+BinaryClassificationOutput
Trainers.FastForestRegressor Trains a random forest to fit target values using least-squares. Microsoft.ML.Runtime.FastTree.FastForest TrainRegression Microsoft.ML.Runtime.FastTree.FastForestRegression+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+RegressionOutput
Trainers.FastTreeBinaryClassifier Uses a logit-boost boosted tree learner to perform binary classification. Microsoft.ML.Runtime.FastTree.FastTree TrainBinary Microsoft.ML.Runtime.FastTree.FastTreeBinaryClassificationTrainer+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+BinaryClassificationOutput
@@ -34,7 +33,8 @@ Trainers.GeneralizedAdditiveModelBinaryClassifier Trains a gradient boosted stum
Trainers.GeneralizedAdditiveModelRegressor Trains a gradient boosted stump per feature, on all features simultaneously, to fit target values using least-squares. It mantains no interactions between features. Microsoft.ML.Runtime.FastTree.Gam TrainRegression Microsoft.ML.Runtime.FastTree.RegressionGamTrainer+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+RegressionOutput
Trainers.KMeansPlusPlusClusterer K-means is a popular clustering algorithm. With K-means, the data is clustered into a specified number of clusters in order to minimize the within-cluster sum of squares. K-means++ improves upon K-means by using a better method for choosing the initial cluster centers. Microsoft.ML.Runtime.KMeans.KMeansPlusPlusTrainer TrainKMeans Microsoft.ML.Runtime.KMeans.KMeansPlusPlusTrainer+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+ClusteringOutput
Trainers.LinearSvmBinaryClassifier Train a linear SVM. Microsoft.ML.Runtime.Learners.LinearSvm TrainLinearSvm Microsoft.ML.Runtime.Learners.LinearSvm+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+BinaryClassificationOutput
-Trainers.LogisticRegressor Train a logistic regression multi class model Microsoft.ML.Runtime.Learners.LogisticRegression TrainMultiClass Microsoft.ML.Runtime.Learners.MulticlassLogisticRegression+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+MulticlassClassificationOutput
+Trainers.LogisticRegressionBinaryClassifier Train a logistic regression binary model Microsoft.ML.Runtime.Learners.LogisticRegression TrainBinary Microsoft.ML.Runtime.Learners.LogisticRegression+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+BinaryClassificationOutput
+Trainers.LogisticRegressionClassifier Train a logistic regression multi class model Microsoft.ML.Runtime.Learners.LogisticRegression TrainMultiClass Microsoft.ML.Runtime.Learners.MulticlassLogisticRegression+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+MulticlassClassificationOutput
Trainers.NaiveBayesClassifier Train a MultiClassNaiveBayesTrainer. Microsoft.ML.Runtime.Learners.MultiClassNaiveBayesTrainer TrainMultiClassNaiveBayesTrainer Microsoft.ML.Runtime.Learners.MultiClassNaiveBayesTrainer+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+MulticlassClassificationOutput
Trainers.OnlineGradientDescentRegressor Train a Online gradient descent perceptron. Microsoft.ML.Runtime.Learners.OnlineGradientDescentTrainer TrainRegression Microsoft.ML.Runtime.Learners.OnlineGradientDescentTrainer+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+RegressionOutput
Trainers.OrdinaryLeastSquaresRegressor Train an OLS regression model. Microsoft.ML.Runtime.Learners.OlsLinearRegressionTrainer TrainRegression Microsoft.ML.Runtime.Learners.OlsLinearRegressionTrainer+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+RegressionOutput
diff --git a/ZBaselines/Common/EntryPoints/core_manifest.json b/ZBaselines/Common/EntryPoints/core_manifest.json
index a3778a7f7f..114022c32d 100644
--- a/ZBaselines/Common/EntryPoints/core_manifest.json
+++ b/ZBaselines/Common/EntryPoints/core_manifest.json
@@ -2839,318 +2839,6 @@
"ITrainerOutput"
]
},
- {
- "Name": "Trainers.BinaryLogisticRegressor",
- "Desc": "Train a logistic regression binary model",
- "FriendlyName": "Logistic Regression",
- "ShortName": "lr",
- "Inputs": [
- {
- "Name": "TrainingData",
- "Type": "DataView",
- "Desc": "The data to be used for training",
- "Aliases": [
- "data"
- ],
- "Required": true,
- "SortOrder": 1.0,
- "IsNullable": false
- },
- {
- "Name": "FeatureColumn",
- "Type": "String",
- "Desc": "Column to use for features",
- "Aliases": [
- "feat"
- ],
- "Required": false,
- "SortOrder": 2.0,
- "IsNullable": false,
- "Default": "Features"
- },
- {
- "Name": "LabelColumn",
- "Type": "String",
- "Desc": "Column to use for labels",
- "Aliases": [
- "lab"
- ],
- "Required": false,
- "SortOrder": 3.0,
- "IsNullable": false,
- "Default": "Label"
- },
- {
- "Name": "WeightColumn",
- "Type": "String",
- "Desc": "Column to use for example weight",
- "Aliases": [
- "weight"
- ],
- "Required": false,
- "SortOrder": 4.0,
- "IsNullable": false,
- "Default": "Weight"
- },
- {
- "Name": "NormalizeFeatures",
- "Type": {
- "Kind": "Enum",
- "Values": [
- "No",
- "Warn",
- "Auto",
- "Yes"
- ]
- },
- "Desc": "Normalize option for the feature column",
- "Aliases": [
- "norm"
- ],
- "Required": false,
- "SortOrder": 5.0,
- "IsNullable": false,
- "Default": "Auto"
- },
- {
- "Name": "Caching",
- "Type": {
- "Kind": "Enum",
- "Values": [
- "Auto",
- "Memory",
- "Disk",
- "None"
- ]
- },
- "Desc": "Whether learner should cache input training data",
- "Aliases": [
- "cache"
- ],
- "Required": false,
- "SortOrder": 6.0,
- "IsNullable": false,
- "Default": "Auto"
- },
- {
- "Name": "ShowTrainingStats",
- "Type": "Bool",
- "Desc": "Show statistics of training examples.",
- "Aliases": [
- "stat"
- ],
- "Required": false,
- "SortOrder": 50.0,
- "IsNullable": false,
- "Default": false
- },
- {
- "Name": "L2Weight",
- "Type": "Float",
- "Desc": "L2 regularization weight",
- "Aliases": [
- "l2"
- ],
- "Required": false,
- "SortOrder": 50.0,
- "IsNullable": false,
- "Default": 1.0,
- "SweepRange": {
- "RangeType": "Float",
- "Min": 0.0,
- "Max": 1.0,
- "NumSteps": 4
- }
- },
- {
- "Name": "L1Weight",
- "Type": "Float",
- "Desc": "L1 regularization weight",
- "Aliases": [
- "l1"
- ],
- "Required": false,
- "SortOrder": 50.0,
- "IsNullable": false,
- "Default": 1.0,
- "SweepRange": {
- "RangeType": "Float",
- "Min": 0.0,
- "Max": 1.0,
- "NumSteps": 4
- }
- },
- {
- "Name": "OptTol",
- "Type": "Float",
- "Desc": "Tolerance parameter for optimization convergence. Lower = slower, more accurate",
- "Aliases": [
- "ot"
- ],
- "Required": false,
- "SortOrder": 50.0,
- "IsNullable": false,
- "Default": 1E-07,
- "SweepRange": {
- "RangeType": "Discrete",
- "Values": [
- 0.0001,
- 1E-07
- ]
- }
- },
- {
- "Name": "MemorySize",
- "Type": "Int",
- "Desc": "Memory size for L-BFGS. Lower=faster, less accurate",
- "Aliases": [
- "m"
- ],
- "Required": false,
- "SortOrder": 50.0,
- "IsNullable": false,
- "Default": 20,
- "SweepRange": {
- "RangeType": "Discrete",
- "Values": [
- 5,
- 20,
- 50
- ]
- }
- },
- {
- "Name": "EnforceNonNegativity",
- "Type": "Bool",
- "Desc": "Enforce non-negative weights",
- "Aliases": [
- "nn"
- ],
- "Required": false,
- "SortOrder": 90.0,
- "IsNullable": false,
- "Default": false
- },
- {
- "Name": "InitWtsDiameter",
- "Type": "Float",
- "Desc": "Init weights diameter",
- "Aliases": [
- "initwts"
- ],
- "Required": false,
- "SortOrder": 140.0,
- "IsNullable": false,
- "Default": 0.0,
- "SweepRange": {
- "RangeType": "Float",
- "Min": 0.0,
- "Max": 1.0,
- "NumSteps": 5
- }
- },
- {
- "Name": "MaxIterations",
- "Type": "Int",
- "Desc": "Maximum iterations.",
- "Aliases": [
- "maxiter"
- ],
- "Required": false,
- "SortOrder": 150.0,
- "IsNullable": false,
- "Default": 2147483647,
- "SweepRange": {
- "RangeType": "Long",
- "Min": 1,
- "Max": 2147483647
- }
- },
- {
- "Name": "SgdInitializationTolerance",
- "Type": "Float",
- "Desc": "Run SGD to initialize LR weights, converging to this tolerance",
- "Aliases": [
- "sgd"
- ],
- "Required": false,
- "SortOrder": 150.0,
- "IsNullable": false,
- "Default": 0.0
- },
- {
- "Name": "Quiet",
- "Type": "Bool",
- "Desc": "If set to true, produce no output during training.",
- "Aliases": [
- "q"
- ],
- "Required": false,
- "SortOrder": 150.0,
- "IsNullable": false,
- "Default": false
- },
- {
- "Name": "UseThreads",
- "Type": "Bool",
- "Desc": "Whether or not to use threads. Default is true",
- "Aliases": [
- "t"
- ],
- "Required": false,
- "SortOrder": 150.0,
- "IsNullable": false,
- "Default": true
- },
- {
- "Name": "NumThreads",
- "Type": "Int",
- "Desc": "Number of threads",
- "Aliases": [
- "nt"
- ],
- "Required": false,
- "SortOrder": 150.0,
- "IsNullable": true,
- "Default": null
- },
- {
- "Name": "DenseOptimizer",
- "Type": "Bool",
- "Desc": "Force densification of the internal optimization vectors",
- "Aliases": [
- "do"
- ],
- "Required": false,
- "SortOrder": 150.0,
- "IsNullable": false,
- "Default": false,
- "SweepRange": {
- "RangeType": "Discrete",
- "Values": [
- false,
- true
- ]
- }
- }
- ],
- "Outputs": [
- {
- "Name": "PredictorModel",
- "Type": "PredictorModel",
- "Desc": "The trained model"
- }
- ],
- "InputKind": [
- "ITrainerInputWithWeight",
- "ITrainerInputWithLabel",
- "ITrainerInput"
- ],
- "OutputKind": [
- "IBinaryClassificationOutput",
- "ITrainerOutput"
- ]
- },
{
"Name": "Trainers.FastForestBinaryClassifier",
"Desc": "Uses a random forest learner to perform binary classification.",
@@ -8843,48 +8531,314 @@
},
"Desc": "Cluster initialization algorithm",
"Aliases": [
- "init"
+ "init"
+ ],
+ "Required": false,
+ "SortOrder": 150.0,
+ "IsNullable": false,
+ "Default": "KMeansParallel"
+ },
+ {
+ "Name": "OptTol",
+ "Type": "Float",
+ "Desc": "Tolerance parameter for trainer convergence. Lower = slower, more accurate",
+ "Aliases": [
+ "ot"
+ ],
+ "Required": false,
+ "SortOrder": 150.0,
+ "IsNullable": false,
+ "Default": 1E-07
+ },
+ {
+ "Name": "MaxIterations",
+ "Type": "Int",
+ "Desc": "Maximum number of iterations.",
+ "Aliases": [
+ "maxiter"
+ ],
+ "Required": false,
+ "SortOrder": 150.0,
+ "IsNullable": false,
+ "Default": 1000
+ },
+ {
+ "Name": "AccelMemBudgetMb",
+ "Type": "Int",
+ "Desc": "Memory budget (in MBs) to use for KMeans acceleration",
+ "Aliases": [
+ "accelMemBudgetMb"
+ ],
+ "Required": false,
+ "SortOrder": 150.0,
+ "IsNullable": false,
+ "Default": 4096
+ }
+ ],
+ "Outputs": [
+ {
+ "Name": "PredictorModel",
+ "Type": "PredictorModel",
+ "Desc": "The trained model"
+ }
+ ],
+ "InputKind": [
+ "ITrainerInput"
+ ],
+ "OutputKind": [
+ "IClusteringOutput",
+ "ITrainerOutput"
+ ]
+ },
+ {
+ "Name": "Trainers.LinearSvmBinaryClassifier",
+ "Desc": "Train a linear SVM.",
+ "FriendlyName": "SVM (Pegasos-Linear)",
+ "ShortName": "svm",
+ "Inputs": [
+ {
+ "Name": "TrainingData",
+ "Type": "DataView",
+ "Desc": "The data to be used for training",
+ "Aliases": [
+ "data"
+ ],
+ "Required": true,
+ "SortOrder": 1.0,
+ "IsNullable": false
+ },
+ {
+ "Name": "FeatureColumn",
+ "Type": "String",
+ "Desc": "Column to use for features",
+ "Aliases": [
+ "feat"
+ ],
+ "Required": false,
+ "SortOrder": 2.0,
+ "IsNullable": false,
+ "Default": "Features"
+ },
+ {
+ "Name": "LabelColumn",
+ "Type": "String",
+ "Desc": "Column to use for labels",
+ "Aliases": [
+ "lab"
+ ],
+ "Required": false,
+ "SortOrder": 3.0,
+ "IsNullable": false,
+ "Default": "Label"
+ },
+ {
+ "Name": "NormalizeFeatures",
+ "Type": {
+ "Kind": "Enum",
+ "Values": [
+ "No",
+ "Warn",
+ "Auto",
+ "Yes"
+ ]
+ },
+ "Desc": "Normalize option for the feature column",
+ "Aliases": [
+ "norm"
+ ],
+ "Required": false,
+ "SortOrder": 5.0,
+ "IsNullable": false,
+ "Default": "Auto"
+ },
+ {
+ "Name": "Caching",
+ "Type": {
+ "Kind": "Enum",
+ "Values": [
+ "Auto",
+ "Memory",
+ "Disk",
+ "None"
+ ]
+ },
+ "Desc": "Whether learner should cache input training data",
+ "Aliases": [
+ "cache"
+ ],
+ "Required": false,
+ "SortOrder": 6.0,
+ "IsNullable": false,
+ "Default": "Auto"
+ },
+ {
+ "Name": "Lambda",
+ "Type": "Float",
+ "Desc": "Regularizer constant",
+ "Aliases": [
+ "lambda"
+ ],
+ "Required": false,
+ "SortOrder": 50.0,
+ "IsNullable": false,
+ "Default": 0.001,
+ "SweepRange": {
+ "RangeType": "Float",
+ "Min": 1E-05,
+ "Max": 0.1,
+ "StepSize": 10.0,
+ "IsLogScale": true
+ }
+ },
+ {
+ "Name": "PerformProjection",
+ "Type": "Bool",
+ "Desc": "Perform projection to unit-ball? Typically used with batch size > 1.",
+ "Aliases": [
+ "project"
+ ],
+ "Required": false,
+ "SortOrder": 50.0,
+ "IsNullable": false,
+ "Default": false,
+ "SweepRange": {
+ "RangeType": "Discrete",
+ "Values": [
+ false,
+ true
+ ]
+ }
+ },
+ {
+ "Name": "NumIterations",
+ "Type": "Int",
+ "Desc": "Number of iterations",
+ "Aliases": [
+ "iter"
+ ],
+ "Required": false,
+ "SortOrder": 50.0,
+ "IsNullable": false,
+ "Default": 1,
+ "SweepRange": {
+ "RangeType": "Long",
+ "Min": 1,
+ "Max": 100,
+ "StepSize": 10.0,
+ "IsLogScale": true
+ }
+ },
+ {
+ "Name": "InitWtsDiameter",
+ "Type": "Float",
+ "Desc": "Init weights diameter",
+ "Aliases": [
+ "initwts"
+ ],
+ "Required": false,
+ "SortOrder": 140.0,
+ "IsNullable": false,
+ "Default": 0.0,
+ "SweepRange": {
+ "RangeType": "Float",
+ "Min": 0.0,
+ "Max": 1.0,
+ "NumSteps": 5
+ }
+ },
+ {
+ "Name": "NoBias",
+ "Type": "Bool",
+ "Desc": "No bias",
+ "Required": false,
+ "SortOrder": 150.0,
+ "IsNullable": false,
+ "Default": false,
+ "SweepRange": {
+ "RangeType": "Discrete",
+ "Values": [
+ false,
+ true
+ ]
+ }
+ },
+ {
+ "Name": "Calibrator",
+ "Type": {
+ "Kind": "Component",
+ "ComponentKind": "CalibratorTrainer"
+ },
+ "Desc": "The calibrator kind to apply to the predictor. Specify null for no calibration",
+ "Required": false,
+ "SortOrder": 150.0,
+ "IsNullable": false,
+ "Default": {
+ "Name": "PlattCalibrator"
+ }
+ },
+ {
+ "Name": "MaxCalibrationExamples",
+ "Type": "Int",
+ "Desc": "The maximum number of examples to use when training the calibrator",
+ "Required": false,
+ "SortOrder": 150.0,
+ "IsNullable": false,
+ "Default": 1000000
+ },
+ {
+ "Name": "InitialWeights",
+ "Type": "String",
+ "Desc": "Initial Weights and bias, comma-separated",
+ "Aliases": [
+ "initweights"
],
"Required": false,
"SortOrder": 150.0,
"IsNullable": false,
- "Default": "KMeansParallel"
+ "Default": null
},
{
- "Name": "OptTol",
- "Type": "Float",
- "Desc": "Tolerance parameter for trainer convergence. Lower = slower, more accurate",
+ "Name": "Shuffle",
+ "Type": "Bool",
+ "Desc": "Whether to shuffle for each training iteration",
"Aliases": [
- "ot"
+ "shuf"
],
"Required": false,
"SortOrder": 150.0,
"IsNullable": false,
- "Default": 1E-07
+ "Default": true,
+ "SweepRange": {
+ "RangeType": "Discrete",
+ "Values": [
+ false,
+ true
+ ]
+ }
},
{
- "Name": "MaxIterations",
+ "Name": "StreamingCacheSize",
"Type": "Int",
- "Desc": "Maximum number of iterations.",
+ "Desc": "Size of cache when trained in Scope",
"Aliases": [
- "maxiter"
+ "cache"
],
"Required": false,
"SortOrder": 150.0,
"IsNullable": false,
- "Default": 1000
+ "Default": 1000000
},
{
- "Name": "AccelMemBudgetMb",
+ "Name": "BatchSize",
"Type": "Int",
- "Desc": "Memory budget (in MBs) to use for KMeans acceleration",
+ "Desc": "Batch size",
"Aliases": [
- "accelMemBudgetMb"
+ "batch"
],
"Required": false,
- "SortOrder": 150.0,
+ "SortOrder": 190.0,
"IsNullable": false,
- "Default": 4096
+ "Default": 1
}
],
"Outputs": [
@@ -8895,18 +8849,19 @@
}
],
"InputKind": [
+ "ITrainerInputWithLabel",
"ITrainerInput"
],
"OutputKind": [
- "IClusteringOutput",
+ "IBinaryClassificationOutput",
"ITrainerOutput"
]
},
{
- "Name": "Trainers.LinearSvmBinaryClassifier",
- "Desc": "Train a linear SVM.",
- "FriendlyName": "SVM (Pegasos-Linear)",
- "ShortName": "svm",
+ "Name": "Trainers.LogisticRegressionBinaryClassifier",
+ "Desc": "Train a logistic regression binary model",
+ "FriendlyName": "Logistic Regression",
+ "ShortName": "lr",
"Inputs": [
{
"Name": "TrainingData",
@@ -8943,6 +8898,18 @@
"IsNullable": false,
"Default": "Label"
},
+ {
+ "Name": "WeightColumn",
+ "Type": "String",
+ "Desc": "Column to use for example weight",
+ "Aliases": [
+ "weight"
+ ],
+ "Required": false,
+ "SortOrder": 4.0,
+ "IsNullable": false,
+ "Default": "Weight"
+ },
{
"Name": "NormalizeFeatures",
"Type": {
@@ -8984,62 +8951,104 @@
"Default": "Auto"
},
{
- "Name": "Lambda",
+ "Name": "ShowTrainingStats",
+ "Type": "Bool",
+ "Desc": "Show statistics of training examples.",
+ "Aliases": [
+ "stat"
+ ],
+ "Required": false,
+ "SortOrder": 50.0,
+ "IsNullable": false,
+ "Default": false
+ },
+ {
+ "Name": "L2Weight",
"Type": "Float",
- "Desc": "Regularizer constant",
+ "Desc": "L2 regularization weight",
"Aliases": [
- "lambda"
+ "l2"
],
"Required": false,
"SortOrder": 50.0,
"IsNullable": false,
- "Default": 0.001,
+ "Default": 1.0,
"SweepRange": {
"RangeType": "Float",
- "Min": 1E-05,
- "Max": 0.1,
- "StepSize": 10.0,
- "IsLogScale": true
+ "Min": 0.0,
+ "Max": 1.0,
+ "NumSteps": 4
}
},
{
- "Name": "PerformProjection",
- "Type": "Bool",
- "Desc": "Perform projection to unit-ball? Typically used with batch size > 1.",
+ "Name": "L1Weight",
+ "Type": "Float",
+ "Desc": "L1 regularization weight",
"Aliases": [
- "project"
+ "l1"
],
"Required": false,
"SortOrder": 50.0,
"IsNullable": false,
- "Default": false,
+ "Default": 1.0,
+ "SweepRange": {
+ "RangeType": "Float",
+ "Min": 0.0,
+ "Max": 1.0,
+ "NumSteps": 4
+ }
+ },
+ {
+ "Name": "OptTol",
+ "Type": "Float",
+ "Desc": "Tolerance parameter for optimization convergence. Lower = slower, more accurate",
+ "Aliases": [
+ "ot"
+ ],
+ "Required": false,
+ "SortOrder": 50.0,
+ "IsNullable": false,
+ "Default": 1E-07,
"SweepRange": {
"RangeType": "Discrete",
"Values": [
- false,
- true
+ 0.0001,
+ 1E-07
]
}
},
{
- "Name": "NumIterations",
+ "Name": "MemorySize",
"Type": "Int",
- "Desc": "Number of iterations",
+ "Desc": "Memory size for L-BFGS. Lower=faster, less accurate",
"Aliases": [
- "iter"
+ "m"
],
"Required": false,
"SortOrder": 50.0,
"IsNullable": false,
- "Default": 1,
+ "Default": 20,
"SweepRange": {
- "RangeType": "Long",
- "Min": 1,
- "Max": 100,
- "StepSize": 10.0,
- "IsLogScale": true
+ "RangeType": "Discrete",
+ "Values": [
+ 5,
+ 20,
+ 50
+ ]
}
},
+ {
+ "Name": "EnforceNonNegativity",
+ "Type": "Bool",
+ "Desc": "Enforce non-negative weights",
+ "Aliases": [
+ "nn"
+ ],
+ "Required": false,
+ "SortOrder": 90.0,
+ "IsNullable": false,
+ "Default": false
+ },
{
"Name": "InitWtsDiameter",
"Type": "Float",
@@ -9059,98 +9068,88 @@
}
},
{
- "Name": "NoBias",
- "Type": "Bool",
- "Desc": "No bias",
+ "Name": "MaxIterations",
+ "Type": "Int",
+ "Desc": "Maximum iterations.",
+ "Aliases": [
+ "maxiter"
+ ],
"Required": false,
"SortOrder": 150.0,
"IsNullable": false,
- "Default": false,
+ "Default": 2147483647,
"SweepRange": {
- "RangeType": "Discrete",
- "Values": [
- false,
- true
- ]
- }
- },
- {
- "Name": "Calibrator",
- "Type": {
- "Kind": "Component",
- "ComponentKind": "CalibratorTrainer"
- },
- "Desc": "The calibrator kind to apply to the predictor. Specify null for no calibration",
- "Required": false,
- "SortOrder": 150.0,
- "IsNullable": false,
- "Default": {
- "Name": "PlattCalibrator"
+ "RangeType": "Long",
+ "Min": 1,
+ "Max": 2147483647
}
},
{
- "Name": "MaxCalibrationExamples",
- "Type": "Int",
- "Desc": "The maximum number of examples to use when training the calibrator",
+ "Name": "SgdInitializationTolerance",
+ "Type": "Float",
+ "Desc": "Run SGD to initialize LR weights, converging to this tolerance",
+ "Aliases": [
+ "sgd"
+ ],
"Required": false,
"SortOrder": 150.0,
"IsNullable": false,
- "Default": 1000000
+ "Default": 0.0
},
{
- "Name": "InitialWeights",
- "Type": "String",
- "Desc": "Initial Weights and bias, comma-separated",
+ "Name": "Quiet",
+ "Type": "Bool",
+ "Desc": "If set to true, produce no output during training.",
"Aliases": [
- "initweights"
+ "q"
],
"Required": false,
"SortOrder": 150.0,
"IsNullable": false,
- "Default": null
+ "Default": false
},
{
- "Name": "Shuffle",
+ "Name": "UseThreads",
"Type": "Bool",
- "Desc": "Whether to shuffle for each training iteration",
+ "Desc": "Whether or not to use threads. Default is true",
"Aliases": [
- "shuf"
+ "t"
],
"Required": false,
"SortOrder": 150.0,
"IsNullable": false,
- "Default": true,
- "SweepRange": {
- "RangeType": "Discrete",
- "Values": [
- false,
- true
- ]
- }
+ "Default": true
},
{
- "Name": "StreamingCacheSize",
+ "Name": "NumThreads",
"Type": "Int",
- "Desc": "Size of cache when trained in Scope",
+ "Desc": "Number of threads",
"Aliases": [
- "cache"
+ "nt"
],
"Required": false,
"SortOrder": 150.0,
- "IsNullable": false,
- "Default": 1000000
+ "IsNullable": true,
+ "Default": null
},
{
- "Name": "BatchSize",
- "Type": "Int",
- "Desc": "Batch size",
+ "Name": "DenseOptimizer",
+ "Type": "Bool",
+ "Desc": "Force densification of the internal optimization vectors",
"Aliases": [
- "batch"
+ "do"
],
"Required": false,
- "SortOrder": 190.0,
+ "SortOrder": 150.0,
"IsNullable": false,
- "Default": 1
+ "Default": false,
+ "SweepRange": {
+ "RangeType": "Discrete",
+ "Values": [
+ false,
+ true
+ ]
+ }
}
],
"Outputs": [
@@ -9161,6 +9160,7 @@
}
],
"InputKind": [
+ "ITrainerInputWithWeight",
"ITrainerInputWithLabel",
"ITrainerInput"
],
@@ -9170,7 +9170,7 @@
]
},
{
- "Name": "Trainers.LogisticRegressor",
+ "Name": "Trainers.LogisticRegressionClassifier",
"Desc": "Train a logistic regression multi class model",
"FriendlyName": "Multi-class Logistic Regression",
"ShortName": "mlr",
diff --git a/src/Microsoft.ML.StandardLearners/Standard/LogisticRegression/LogisticRegression.cs b/src/Microsoft.ML.StandardLearners/Standard/LogisticRegression/LogisticRegression.cs
index f1ea7c4a4b..5abc062bf7 100644
--- a/src/Microsoft.ML.StandardLearners/Standard/LogisticRegression/LogisticRegression.cs
+++ b/src/Microsoft.ML.StandardLearners/Standard/LogisticRegression/LogisticRegression.cs
@@ -386,7 +386,7 @@ public override ParameterMixingCalibratedPredictor CreatePredictor()
new PlattCalibrator(Host, -1, 0));
}
- [TlcModule.EntryPoint(Name = "Trainers.BinaryLogisticRegressor", Desc = "Train a logistic regression binary model", UserName = UserNameValue, ShortName = ShortName)]
+ [TlcModule.EntryPoint(Name = "Trainers.LogisticRegressionBinaryClassifier", Desc = "Train a logistic regression binary model", UserName = UserNameValue, ShortName = ShortName)]
public static CommonOutputs.BinaryClassificationOutput TrainBinary(IHostEnvironment env, Arguments input)
{
Contracts.CheckValue(env, nameof(env));
diff --git a/src/Microsoft.ML.StandardLearners/Standard/LogisticRegression/MulticlassLogisticRegression.cs b/src/Microsoft.ML.StandardLearners/Standard/LogisticRegression/MulticlassLogisticRegression.cs
index 4783aeb0d3..51decafea5 100644
--- a/src/Microsoft.ML.StandardLearners/Standard/LogisticRegression/MulticlassLogisticRegression.cs
+++ b/src/Microsoft.ML.StandardLearners/Standard/LogisticRegression/MulticlassLogisticRegression.cs
@@ -961,7 +961,7 @@ public IRow GetStatsIRowOrNull(RoleMappedSchema schema)
///
public partial class LogisticRegression
{
- [TlcModule.EntryPoint(Name = "Trainers.LogisticRegressor", Desc = "Train a logistic regression multi class model", UserName = MulticlassLogisticRegression.UserNameValue, ShortName = MulticlassLogisticRegression.ShortName)]
+ [TlcModule.EntryPoint(Name = "Trainers.LogisticRegressionClassifier", Desc = "Train a logistic regression multi class model", UserName = MulticlassLogisticRegression.UserNameValue, ShortName = MulticlassLogisticRegression.ShortName)]
public static CommonOutputs.MulticlassClassificationOutput TrainMultiClass(IHostEnvironment env, MulticlassLogisticRegression.Arguments input)
{
Contracts.CheckValue(env, nameof(env));
diff --git a/src/Microsoft.ML/CSharpApi.cs b/src/Microsoft.ML/CSharpApi.cs
index ecea73a495..7a54cc73da 100644
--- a/src/Microsoft.ML/CSharpApi.cs
+++ b/src/Microsoft.ML/CSharpApi.cs
@@ -322,18 +322,6 @@ public void Add(Microsoft.ML.Trainers.AveragedPerceptronBinaryClassifier input,
_jsonNodes.Add(Serialize("Trainers.AveragedPerceptronBinaryClassifier", input, output));
}
- public Microsoft.ML.Trainers.BinaryLogisticRegressor.Output Add(Microsoft.ML.Trainers.BinaryLogisticRegressor input)
- {
- var output = new Microsoft.ML.Trainers.BinaryLogisticRegressor.Output();
- Add(input, output);
- return output;
- }
-
- public void Add(Microsoft.ML.Trainers.BinaryLogisticRegressor input, Microsoft.ML.Trainers.BinaryLogisticRegressor.Output output)
- {
- _jsonNodes.Add(Serialize("Trainers.BinaryLogisticRegressor", input, output));
- }
-
public Microsoft.ML.Trainers.FastForestBinaryClassifier.Output Add(Microsoft.ML.Trainers.FastForestBinaryClassifier input)
{
var output = new Microsoft.ML.Trainers.FastForestBinaryClassifier.Output();
@@ -442,16 +430,28 @@ public void Add(Microsoft.ML.Trainers.LinearSvmBinaryClassifier input, Microsoft
_jsonNodes.Add(Serialize("Trainers.LinearSvmBinaryClassifier", input, output));
}
- public Microsoft.ML.Trainers.LogisticRegressor.Output Add(Microsoft.ML.Trainers.LogisticRegressor input)
+ public Microsoft.ML.Trainers.LogisticRegressionBinaryClassifier.Output Add(Microsoft.ML.Trainers.LogisticRegressionBinaryClassifier input)
{
- var output = new Microsoft.ML.Trainers.LogisticRegressor.Output();
+ var output = new Microsoft.ML.Trainers.LogisticRegressionBinaryClassifier.Output();
Add(input, output);
return output;
}
- public void Add(Microsoft.ML.Trainers.LogisticRegressor input, Microsoft.ML.Trainers.LogisticRegressor.Output output)
+ public void Add(Microsoft.ML.Trainers.LogisticRegressionBinaryClassifier input, Microsoft.ML.Trainers.LogisticRegressionBinaryClassifier.Output output)
{
- _jsonNodes.Add(Serialize("Trainers.LogisticRegressor", input, output));
+ _jsonNodes.Add(Serialize("Trainers.LogisticRegressionBinaryClassifier", input, output));
+ }
+
+ public Microsoft.ML.Trainers.LogisticRegressionClassifier.Output Add(Microsoft.ML.Trainers.LogisticRegressionClassifier input)
+ {
+ var output = new Microsoft.ML.Trainers.LogisticRegressionClassifier.Output();
+ Add(input, output);
+ return output;
+ }
+
+ public void Add(Microsoft.ML.Trainers.LogisticRegressionClassifier input, Microsoft.ML.Trainers.LogisticRegressionClassifier.Output output)
+ {
+ _jsonNodes.Add(Serialize("Trainers.LogisticRegressionClassifier", input, output));
}
public Microsoft.ML.Trainers.NaiveBayesClassifier.Output Add(Microsoft.ML.Trainers.NaiveBayesClassifier input)
@@ -3103,151 +3103,6 @@ public AveragedPerceptronBinaryClassifierPipelineStep(Output output)
}
}
- namespace Trainers
- {
-
- ///
- /// Train a logistic regression binary model
- ///
- public sealed partial class BinaryLogisticRegressor : Microsoft.ML.Runtime.EntryPoints.CommonInputs.ITrainerInputWithWeight, Microsoft.ML.Runtime.EntryPoints.CommonInputs.ITrainerInputWithLabel, Microsoft.ML.Runtime.EntryPoints.CommonInputs.ITrainerInput, Microsoft.ML.ILearningPipelineItem
- {
-
-
- ///
- /// Show statistics of training examples.
- ///
- public bool ShowTrainingStats { get; set; } = false;
-
- ///
- /// L2 regularization weight
- ///
- [TlcModule.SweepableFloatParamAttribute("L2Weight", 0f, 1f, numSteps:4)]
- public float L2Weight { get; set; } = 1f;
-
- ///
- /// L1 regularization weight
- ///
- [TlcModule.SweepableFloatParamAttribute("L1Weight", 0f, 1f, numSteps:4)]
- public float L1Weight { get; set; } = 1f;
-
- ///
- /// Tolerance parameter for optimization convergence. Lower = slower, more accurate
- ///
- [TlcModule.SweepableDiscreteParamAttribute("OptTol", new object[]{0.0001f, 1E-07f})]
- public float OptTol { get; set; } = 1E-07f;
-
- ///
- /// Memory size for L-BFGS. Lower=faster, less accurate
- ///
- [TlcModule.SweepableDiscreteParamAttribute("MemorySize", new object[]{5, 20, 50})]
- public int MemorySize { get; set; } = 20;
-
- ///
- /// Maximum iterations.
- ///
- [TlcModule.SweepableLongParamAttribute("MaxIterations", 1, 2147483647)]
- public int MaxIterations { get; set; } = 2147483647;
-
- ///
- /// Run SGD to initialize LR weights, converging to this tolerance
- ///
- public float SgdInitializationTolerance { get; set; }
-
- ///
- /// If set to true, produce no output during training.
- ///
- public bool Quiet { get; set; } = false;
-
- ///
- /// Init weights diameter
- ///
- [TlcModule.SweepableFloatParamAttribute("InitWtsDiameter", 0f, 1f, numSteps:5)]
- public float InitWtsDiameter { get; set; }
-
- ///
- /// Whether or not to use threads. Default is true
- ///
- public bool UseThreads { get; set; } = true;
-
- ///
- /// Number of threads
- ///
- public int? NumThreads { get; set; }
-
- ///
- /// Force densification of the internal optimization vectors
- ///
- [TlcModule.SweepableDiscreteParamAttribute("DenseOptimizer", new object[]{false, true})]
- public bool DenseOptimizer { get; set; } = false;
-
- ///
- /// Enforce non-negative weights
- ///
- public bool EnforceNonNegativity { get; set; } = false;
-
- ///
- /// Column to use for example weight
- ///
- public Microsoft.ML.Runtime.EntryPoints.Optional WeightColumn { get; set; }
-
- ///
- /// Column to use for labels
- ///
- public string LabelColumn { get; set; } = "Label";
-
- ///
- /// The data to be used for training
- ///
- public Var TrainingData { get; set; } = new Var();
-
- ///
- /// Column to use for features
- ///
- public string FeatureColumn { get; set; } = "Features";
-
- ///
- /// Normalize option for the feature column
- ///
- public Models.NormalizeOption NormalizeFeatures { get; set; } = Models.NormalizeOption.Auto;
-
- ///
- /// Whether learner should cache input training data
- ///
- public Models.CachingOptions Caching { get; set; } = Models.CachingOptions.Auto;
-
-
- public sealed class Output : Microsoft.ML.Runtime.EntryPoints.CommonOutputs.IBinaryClassificationOutput, Microsoft.ML.Runtime.EntryPoints.CommonOutputs.ITrainerOutput
- {
- ///
- /// The trained model
- ///
- public Var PredictorModel { get; set; } = new Var();
-
- }
- public ILearningPipelineStep ApplyStep(ILearningPipelineStep previousStep, Experiment experiment)
- {
- if (!(previousStep is ILearningPipelineDataStep dataStep))
- {
- throw new InvalidOperationException($"{ nameof(BinaryLogisticRegressor)} only supports an { nameof(ILearningPipelineDataStep)} as an input.");
- }
-
- TrainingData = dataStep.Data;
- Output output = experiment.Add(this);
- return new BinaryLogisticRegressorPipelineStep(output);
- }
-
- private class BinaryLogisticRegressorPipelineStep : ILearningPipelinePredictorStep
- {
- public BinaryLogisticRegressorPipelineStep(Output output)
- {
- Model = output.PredictorModel;
- }
-
- public Var Model { get; }
- }
- }
- }
-
namespace Trainers
{
public enum Bundle : byte
@@ -5819,13 +5674,158 @@ public LinearSvmBinaryClassifierPipelineStep(Output output)
}
}
+ namespace Trainers
+ {
+
+ ///
+ /// Train a logistic regression binary model
+ ///
+ public sealed partial class LogisticRegressionBinaryClassifier : Microsoft.ML.Runtime.EntryPoints.CommonInputs.ITrainerInputWithWeight, Microsoft.ML.Runtime.EntryPoints.CommonInputs.ITrainerInputWithLabel, Microsoft.ML.Runtime.EntryPoints.CommonInputs.ITrainerInput, Microsoft.ML.ILearningPipelineItem
+ {
+
+
+ ///
+ /// Show statistics of training examples.
+ ///
+ public bool ShowTrainingStats { get; set; } = false;
+
+ ///
+ /// L2 regularization weight
+ ///
+ [TlcModule.SweepableFloatParamAttribute("L2Weight", 0f, 1f, numSteps:4)]
+ public float L2Weight { get; set; } = 1f;
+
+ ///
+ /// L1 regularization weight
+ ///
+ [TlcModule.SweepableFloatParamAttribute("L1Weight", 0f, 1f, numSteps:4)]
+ public float L1Weight { get; set; } = 1f;
+
+ ///
+ /// Tolerance parameter for optimization convergence. Lower = slower, more accurate
+ ///
+ [TlcModule.SweepableDiscreteParamAttribute("OptTol", new object[]{0.0001f, 1E-07f})]
+ public float OptTol { get; set; } = 1E-07f;
+
+ ///
+ /// Memory size for L-BFGS. Lower=faster, less accurate
+ ///
+ [TlcModule.SweepableDiscreteParamAttribute("MemorySize", new object[]{5, 20, 50})]
+ public int MemorySize { get; set; } = 20;
+
+ ///
+ /// Maximum iterations.
+ ///
+ [TlcModule.SweepableLongParamAttribute("MaxIterations", 1, 2147483647)]
+ public int MaxIterations { get; set; } = 2147483647;
+
+ ///
+ /// Run SGD to initialize LR weights, converging to this tolerance
+ ///
+ public float SgdInitializationTolerance { get; set; }
+
+ ///
+ /// If set to true, produce no output during training.
+ ///
+ public bool Quiet { get; set; } = false;
+
+ ///
+ /// Init weights diameter
+ ///
+ [TlcModule.SweepableFloatParamAttribute("InitWtsDiameter", 0f, 1f, numSteps:5)]
+ public float InitWtsDiameter { get; set; }
+
+ ///
+ /// Whether or not to use threads. Default is true
+ ///
+ public bool UseThreads { get; set; } = true;
+
+ ///
+ /// Number of threads
+ ///
+ public int? NumThreads { get; set; }
+
+ ///
+ /// Force densification of the internal optimization vectors
+ ///
+ [TlcModule.SweepableDiscreteParamAttribute("DenseOptimizer", new object[]{false, true})]
+ public bool DenseOptimizer { get; set; } = false;
+
+ ///
+ /// Enforce non-negative weights
+ ///
+ public bool EnforceNonNegativity { get; set; } = false;
+
+ ///
+ /// Column to use for example weight
+ ///
+ public Microsoft.ML.Runtime.EntryPoints.Optional WeightColumn { get; set; }
+
+ ///
+ /// Column to use for labels
+ ///
+ public string LabelColumn { get; set; } = "Label";
+
+ ///
+ /// The data to be used for training
+ ///
+ public Var TrainingData { get; set; } = new Var();
+
+ ///
+ /// Column to use for features
+ ///
+ public string FeatureColumn { get; set; } = "Features";
+
+ ///
+ /// Normalize option for the feature column
+ ///
+ public Models.NormalizeOption NormalizeFeatures { get; set; } = Models.NormalizeOption.Auto;
+
+ ///
+ /// Whether learner should cache input training data
+ ///
+ public Models.CachingOptions Caching { get; set; } = Models.CachingOptions.Auto;
+
+
+ public sealed class Output : Microsoft.ML.Runtime.EntryPoints.CommonOutputs.IBinaryClassificationOutput, Microsoft.ML.Runtime.EntryPoints.CommonOutputs.ITrainerOutput
+ {
+ ///
+ /// The trained model
+ ///
+ public Var PredictorModel { get; set; } = new Var();
+
+ }
+ public ILearningPipelineStep ApplyStep(ILearningPipelineStep previousStep, Experiment experiment)
+ {
+ if (!(previousStep is ILearningPipelineDataStep dataStep))
+ {
+ throw new InvalidOperationException($"{ nameof(LogisticRegressionBinaryClassifier)} only supports an { nameof(ILearningPipelineDataStep)} as an input.");
+ }
+
+ TrainingData = dataStep.Data;
+ Output output = experiment.Add(this);
+ return new LogisticRegressionBinaryClassifierPipelineStep(output);
+ }
+
+ private class LogisticRegressionBinaryClassifierPipelineStep : ILearningPipelinePredictorStep
+ {
+ public LogisticRegressionBinaryClassifierPipelineStep(Output output)
+ {
+ Model = output.PredictorModel;
+ }
+
+ public Var Model { get; }
+ }
+ }
+ }
+
namespace Trainers
{
///
/// Train a logistic regression multi class model
///
- public sealed partial class LogisticRegressor : Microsoft.ML.Runtime.EntryPoints.CommonInputs.ITrainerInputWithWeight, Microsoft.ML.Runtime.EntryPoints.CommonInputs.ITrainerInputWithLabel, Microsoft.ML.Runtime.EntryPoints.CommonInputs.ITrainerInput, Microsoft.ML.ILearningPipelineItem
+ public sealed partial class LogisticRegressionClassifier : Microsoft.ML.Runtime.EntryPoints.CommonInputs.ITrainerInputWithWeight, Microsoft.ML.Runtime.EntryPoints.CommonInputs.ITrainerInputWithLabel, Microsoft.ML.Runtime.EntryPoints.CommonInputs.ITrainerInput, Microsoft.ML.ILearningPipelineItem
{
@@ -5944,17 +5944,17 @@ public ILearningPipelineStep ApplyStep(ILearningPipelineStep previousStep, Exper
{
if (!(previousStep is ILearningPipelineDataStep dataStep))
{
- throw new InvalidOperationException($"{ nameof(LogisticRegressor)} only supports an { nameof(ILearningPipelineDataStep)} as an input.");
+ throw new InvalidOperationException($"{ nameof(LogisticRegressionClassifier)} only supports an { nameof(ILearningPipelineDataStep)} as an input.");
}
TrainingData = dataStep.Data;
Output output = experiment.Add(this);
- return new LogisticRegressorPipelineStep(output);
+ return new LogisticRegressionClassifierPipelineStep(output);
}
- private class LogisticRegressorPipelineStep : ILearningPipelinePredictorStep
+ private class LogisticRegressionClassifierPipelineStep : ILearningPipelinePredictorStep
{
- public LogisticRegressorPipelineStep(Output output)
+ public LogisticRegressionClassifierPipelineStep(Output output)
{
Model = output.PredictorModel;
}
diff --git a/src/Microsoft.ML/LearningPipeline.cs b/src/Microsoft.ML/LearningPipeline.cs
index 8056d03418..630084a588 100644
--- a/src/Microsoft.ML/LearningPipeline.cs
+++ b/src/Microsoft.ML/LearningPipeline.cs
@@ -84,7 +84,7 @@ public LearningPipeline()
///
/// Trainers:
/// ,
- /// ,
+ /// ,
/// ,
/// ,
/// etc.
diff --git a/test/Microsoft.ML.Core.Tests/UnitTests/TestCSharpApi.cs b/test/Microsoft.ML.Core.Tests/UnitTests/TestCSharpApi.cs
index b66d61ae69..ee4f56c260 100644
--- a/test/Microsoft.ML.Core.Tests/UnitTests/TestCSharpApi.cs
+++ b/test/Microsoft.ML.Core.Tests/UnitTests/TestCSharpApi.cs
@@ -219,7 +219,7 @@ public void TestCrossValidationBinaryMacro()
concatInput.AddColumn("Features", "Categories", "NumericFeatures");
var concatOutput = subGraph.Add(concatInput);
- var lrInput = new ML.Trainers.BinaryLogisticRegressor
+ var lrInput = new ML.Trainers.LogisticRegressionBinaryClassifier
{
TrainingData = concatOutput.OutputData,
NumThreads = 1
diff --git a/test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs b/test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs
index 4fe503b9b7..b52ee90f17 100644
--- a/test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs
+++ b/test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs
@@ -314,7 +314,7 @@ public void EntryPointOptionalParams()
}
},
{
- 'Name': 'Trainers.BinaryLogisticRegressor',
+ 'Name': 'Trainers.LogisticRegressionBinaryClassifier',
'Inputs': {
'TrainingData': '$data1',
'NumThreads': 1
@@ -364,7 +364,7 @@ public void EntryPointExecGraphCommand()
}}
}},
{{
- 'Name': 'Trainers.BinaryLogisticRegressor',
+ 'Name': 'Trainers.LogisticRegressionBinaryClassifier',
'Inputs': {{
'TrainingData': '$data1',
'NumThreads': 1
@@ -816,7 +816,7 @@ public void EntryPointEvaluateBinary()
var instanceMetricsPath = DeleteOutputPath("instance.idv");
var confusionMatrixPath = DeleteOutputPath("confusion.idv");
- RunTrainScoreEvaluate("Trainers.BinaryLogisticRegressor", "Models.BinaryClassificationEvaluator", dataPath, warningsPath, overallMetricsPath, instanceMetricsPath, confusionMatrixPath);
+ RunTrainScoreEvaluate("Trainers.LogisticRegressionBinaryClassifier", "Models.BinaryClassificationEvaluator", dataPath, warningsPath, overallMetricsPath, instanceMetricsPath, confusionMatrixPath);
using (var loader = new BinaryLoader(Env, new BinaryLoader.Arguments(), warningsPath))
Assert.Equal(1, CountRows(loader));
@@ -840,7 +840,7 @@ public void EntryPointEvaluateMultiClass()
var instanceMetricsPath = DeleteOutputPath("instance.idv");
var confusionMatrixPath = DeleteOutputPath("confusion.idv");
- RunTrainScoreEvaluate("Trainers.LogisticRegressor", "Models.ClassificationEvaluator", dataPath, warningsPath, overallMetricsPath, instanceMetricsPath, confusionMatrixPath);
+ RunTrainScoreEvaluate("Trainers.LogisticRegressionClassifier", "Models.ClassificationEvaluator", dataPath, warningsPath, overallMetricsPath, instanceMetricsPath, confusionMatrixPath);
using (var loader = new BinaryLoader(Env, new BinaryLoader.Arguments(), warningsPath))
Assert.Equal(0, CountRows(loader));
@@ -896,7 +896,7 @@ public void EntryPointSDCARegression()
[Fact]
public void EntryPointLogisticRegressionMultiClass()
{
- TestEntryPointRoutine("iris.txt", "Trainers.LogisticRegressor");
+ TestEntryPointRoutine("iris.txt", "Trainers.LogisticRegressionClassifier");
}
[Fact]
@@ -1479,7 +1479,7 @@ public void EntryPointNormalizeIfNeeded()
}
},
{
- 'Name': 'Trainers.BinaryLogisticRegressor',
+ 'Name': 'Trainers.LogisticRegressionBinaryClassifier',
'Inputs': {
'TrainingData': '$data2',
'NumThreads': 1
@@ -1559,7 +1559,7 @@ public void EntryPointTrainTestBinaryMacro()
}
},
{
- 'Name': 'Trainers.BinaryLogisticRegressor',
+ 'Name': 'Trainers.LogisticRegressionBinaryClassifier',
'Inputs': {
'TrainingData': '$data2',
'NumThreads': 1
@@ -1667,7 +1667,7 @@ public void EntryPointTrainTestMacroNoTransformInput()
}
},
{
- 'Name': 'Trainers.BinaryLogisticRegressor',
+ 'Name': 'Trainers.LogisticRegressionBinaryClassifier',
'Inputs': {
'TrainingData': '$data2',
'NumThreads': 1
@@ -1782,7 +1782,7 @@ public void EntryPointTrainTestMacro()
'TransformModel': '$transform',
'Nodes': [
{
- 'Name': 'Trainers.BinaryLogisticRegressor',
+ 'Name': 'Trainers.LogisticRegressionBinaryClassifier',
'Inputs': {
'TrainingData': '$data1',
'NumThreads': 1
@@ -1910,7 +1910,7 @@ public void EntryPointChainedTrainTestMacros()
'TransformModel': '$CombinedModel',
'Nodes': [
{
- 'Name': 'Trainers.BinaryLogisticRegressor',
+ 'Name': 'Trainers.LogisticRegressionBinaryClassifier',
'Inputs': {
'TrainingData': '$data1',
'NumThreads': 1
@@ -2076,7 +2076,7 @@ public void EntryPointChainedCrossValMacros()
'NumFolds': 3,
'Nodes': [
{
- 'Name': 'Trainers.BinaryLogisticRegressor',
+ 'Name': 'Trainers.LogisticRegressionBinaryClassifier',
'Inputs': {
'TrainingData': '$data6',
'NumThreads': 1
@@ -2251,7 +2251,7 @@ public void EntryPointMacroEarlyExpansion()
}
},
{
- 'Name': 'Trainers.BinaryLogisticRegressor',
+ 'Name': 'Trainers.LogisticRegressionBinaryClassifier',
'Inputs': {
'TrainingData': '$data2',
'NumThreads': 1
@@ -2322,7 +2322,7 @@ public void EntryPointSerialization()
}
},
{
- 'Name': 'Trainers.BinaryLogisticRegressor',
+ 'Name': 'Trainers.LogisticRegressionBinaryClassifier',
'Inputs': {
'TrainingData': '$data2',
'NumThreads': 1
@@ -2391,7 +2391,7 @@ public void EntryPointNodeSchedulingFields()
}
},
{
- 'Name': 'Trainers.BinaryLogisticRegressor',
+ 'Name': 'Trainers.LogisticRegressionBinaryClassifier',
'Checkpoint': true,
'Cost': 3.14159,
'Inputs': {
@@ -2457,7 +2457,7 @@ public void EntryPointPrepareLabelConvertPredictedLabel()
}}
}},
{{
- 'Name': 'Trainers.LogisticRegressor',
+ 'Name': 'Trainers.LogisticRegressionClassifier',
'Inputs': {{
'Data': '$data2'
}},