From 4d4e65ba47f2b13b6f917800f20592c0f734d352 Mon Sep 17 00:00:00 2001 From: Rogan Carr Date: Tue, 12 Mar 2019 11:28:43 -0700 Subject: [PATCH] Rebasing and fixing to reflect changes in master. --- .../Microsoft.ML.Functional.Tests/Training.cs | 28 ++++++------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/test/Microsoft.ML.Functional.Tests/Training.cs b/test/Microsoft.ML.Functional.Tests/Training.cs index 9022f5f6d9f..22b2bdb0c1b 100644 --- a/test/Microsoft.ML.Functional.Tests/Training.cs +++ b/test/Microsoft.ML.Functional.Tests/Training.cs @@ -32,9 +32,9 @@ public void CompareTrainerEvaluations() // Get the dataset. var data = mlContext.Data.LoadFromTextFile(GetDataPath(TestDatasets.Sentiment.trainFilename), separatorChar: TestDatasets.Sentiment.fileSeparator, - hasHeader: TestDatasets.Sentiment.fileHasHeader, + hasHeader: TestDatasets.Sentiment.fileHasHeader, allowQuoting: TestDatasets.Sentiment.allowQuoting); - var trainTestSplit = mlContext.BinaryClassification.TrainTestSplit(data); + var trainTestSplit = mlContext.Data.TrainTestSplit(data); var trainData = trainTestSplit.TrainSet; var testData = trainTestSplit.TestSet; @@ -266,6 +266,7 @@ public void ContinueTrainingLogisticRegressionMulticlass() // Create a training pipeline. var featurizationPipeline = mlContext.Transforms.Concatenate("Features", Iris.Features) + .Append(mlContext.Transforms.Conversion.MapValueToKey("Label")) .AppendCacheCheckpoint(mlContext); var trainer = mlContext.MulticlassClassification.Trainers.LogisticRegression( @@ -467,8 +468,7 @@ public void MetacomponentsFunctionAsExpectedOva() var binaryClassificationPipeline = mlContext.Transforms.Concatenate("Features", Iris.Features) .AppendCacheCheckpoint(mlContext) .Append(mlContext.Transforms.Conversion.MapValueToKey("Label")) - .Append(mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryclassificationTrainer)) - .Append(mlContext.Transforms.Conversion.MapKeyToValue("PredictedLabel")); + .Append(mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryclassificationTrainer)); // Fit the binary classification pipeline. var binaryClassificationModel = binaryClassificationPipeline.Fit(data); @@ -503,6 +503,7 @@ public void MetacomponentsFunctionAsExpectedOva() // Create a model training an OVA trainer with a ranking trainer. var rankingTrainer = mlContext.Ranking.Trainers.FastTree( new FastTreeRankingTrainer.Options { NumberOfTrees = 2, NumberOfThreads = 1, }); + // Todo #2920: Make this fail somehow. var rankingPipeline = mlContext.Transforms.Concatenate("Features", Iris.Features) .AppendCacheCheckpoint(mlContext) .Append(mlContext.Transforms.Conversion.MapValueToKey("Label")) @@ -510,18 +511,12 @@ public void MetacomponentsFunctionAsExpectedOva() .Append(mlContext.Transforms.Conversion.MapKeyToValue("PredictedLabel")); // Fit the invalid pipeline. - // Todo #2920: Make this fail somehow. - var rankingModel = rankingPipeline.Fit(data); - - // Transform the data - var rankingPredictions = rankingModel.Transform(data); - - // Evaluate the model. - var rankingMetrics = mlContext.MulticlassClassification.Evaluate(rankingPredictions); + Assert.Throws(() => rankingPipeline.Fit(data)); // Create a model training an OVA trainer with a regressor. var regressionTrainer = mlContext.Regression.Trainers.PoissonRegression( new PoissonRegression.Options { NumberOfIterations = 10, NumberOfThreads = 1, }); + // Todo #2920: Make this fail somehow. var regressionPipeline = mlContext.Transforms.Concatenate("Features", Iris.Features) .AppendCacheCheckpoint(mlContext) .Append(mlContext.Transforms.Conversion.MapValueToKey("Label")) @@ -529,14 +524,7 @@ public void MetacomponentsFunctionAsExpectedOva() .Append(mlContext.Transforms.Conversion.MapKeyToValue("PredictedLabel")); // Fit the invalid pipeline. - // Todo #2920: Make this fail somehow. - var regressionModel = regressionPipeline.Fit(data); - - // Transform the data - var regressionPredictions = regressionModel.Transform(data); - - // Evaluate the model. - var regressionMetrics = mlContext.MulticlassClassification.Evaluate(regressionPredictions); + Assert.Throws(() => regressionPipeline.Fit(data)); } } } \ No newline at end of file