@@ -32,9 +32,9 @@ public void CompareTrainerEvaluations()
32
32
// Get the dataset.
33
33
var data = mlContext . Data . LoadFromTextFile < TweetSentiment > ( GetDataPath ( TestDatasets . Sentiment . trainFilename ) ,
34
34
separatorChar : TestDatasets . Sentiment . fileSeparator ,
35
- hasHeader : TestDatasets . Sentiment . fileHasHeader ,
35
+ hasHeader : TestDatasets . Sentiment . fileHasHeader ,
36
36
allowQuoting : TestDatasets . Sentiment . allowQuoting ) ;
37
- var trainTestSplit = mlContext . BinaryClassification . TrainTestSplit ( data ) ;
37
+ var trainTestSplit = mlContext . Data . TrainTestSplit ( data ) ;
38
38
var trainData = trainTestSplit . TrainSet ;
39
39
var testData = trainTestSplit . TestSet ;
40
40
@@ -266,6 +266,7 @@ public void ContinueTrainingLogisticRegressionMulticlass()
266
266
267
267
// Create a training pipeline.
268
268
var featurizationPipeline = mlContext . Transforms . Concatenate ( "Features" , Iris . Features )
269
+ . Append ( mlContext . Transforms . Conversion . MapValueToKey ( "Label" ) )
269
270
. AppendCacheCheckpoint ( mlContext ) ;
270
271
271
272
var trainer = mlContext . MulticlassClassification . Trainers . LogisticRegression (
@@ -467,8 +468,7 @@ public void MetacomponentsFunctionAsExpectedOva()
467
468
var binaryClassificationPipeline = mlContext . Transforms . Concatenate ( "Features" , Iris . Features )
468
469
. AppendCacheCheckpoint ( mlContext )
469
470
. Append ( mlContext . Transforms . Conversion . MapValueToKey ( "Label" ) )
470
- . Append ( mlContext . MulticlassClassification . Trainers . OneVersusAll ( binaryclassificationTrainer ) )
471
- . Append ( mlContext . Transforms . Conversion . MapKeyToValue ( "PredictedLabel" ) ) ;
471
+ . Append ( mlContext . MulticlassClassification . Trainers . OneVersusAll ( binaryclassificationTrainer ) ) ;
472
472
473
473
// Fit the binary classification pipeline.
474
474
var binaryClassificationModel = binaryClassificationPipeline . Fit ( data ) ;
@@ -503,40 +503,28 @@ public void MetacomponentsFunctionAsExpectedOva()
503
503
// Create a model training an OVA trainer with a ranking trainer.
504
504
var rankingTrainer = mlContext . Ranking . Trainers . FastTree (
505
505
new FastTreeRankingTrainer . Options { NumberOfTrees = 2 , NumberOfThreads = 1 , } ) ;
506
+ // Todo #2920: Make this fail somehow.
506
507
var rankingPipeline = mlContext . Transforms . Concatenate ( "Features" , Iris . Features )
507
508
. AppendCacheCheckpoint ( mlContext )
508
509
. Append ( mlContext . Transforms . Conversion . MapValueToKey ( "Label" ) )
509
510
. Append ( mlContext . MulticlassClassification . Trainers . OneVersusAll ( rankingTrainer ) )
510
511
. Append ( mlContext . Transforms . Conversion . MapKeyToValue ( "PredictedLabel" ) ) ;
511
512
512
513
// Fit the invalid pipeline.
513
- // Todo #2920: Make this fail somehow.
514
- var rankingModel = rankingPipeline . Fit ( data ) ;
515
-
516
- // Transform the data
517
- var rankingPredictions = rankingModel . Transform ( data ) ;
518
-
519
- // Evaluate the model.
520
- var rankingMetrics = mlContext . MulticlassClassification . Evaluate ( rankingPredictions ) ;
514
+ Assert . Throws < ArgumentOutOfRangeException > ( ( ) => rankingPipeline . Fit ( data ) ) ;
521
515
522
516
// Create a model training an OVA trainer with a regressor.
523
517
var regressionTrainer = mlContext . Regression . Trainers . PoissonRegression (
524
518
new PoissonRegression . Options { NumberOfIterations = 10 , NumberOfThreads = 1 , } ) ;
519
+ // Todo #2920: Make this fail somehow.
525
520
var regressionPipeline = mlContext . Transforms . Concatenate ( "Features" , Iris . Features )
526
521
. AppendCacheCheckpoint ( mlContext )
527
522
. Append ( mlContext . Transforms . Conversion . MapValueToKey ( "Label" ) )
528
523
. Append ( mlContext . MulticlassClassification . Trainers . OneVersusAll ( regressionTrainer ) )
529
524
. Append ( mlContext . Transforms . Conversion . MapKeyToValue ( "PredictedLabel" ) ) ;
530
525
531
526
// Fit the invalid pipeline.
532
- // Todo #2920: Make this fail somehow.
533
- var regressionModel = regressionPipeline . Fit ( data ) ;
534
-
535
- // Transform the data
536
- var regressionPredictions = regressionModel . Transform ( data ) ;
537
-
538
- // Evaluate the model.
539
- var regressionMetrics = mlContext . MulticlassClassification . Evaluate ( regressionPredictions ) ;
527
+ Assert . Throws < ArgumentOutOfRangeException > ( ( ) => regressionPipeline . Fit ( data ) ) ;
540
528
}
541
529
}
542
530
}
0 commit comments