Skip to content

Result of OVA macro doesn't respect auto normalization. #300

Closed
@Ivanidzo4ka

Description

@Ivanidzo4ka
var dataPath = GetDataPath(@"iris.txt");
using (var env = new TlcEnvironment(42))
{
    var subGraph = env.CreateExperiment();
    var learnerInput = new ML.Trainers.StochasticDualCoordinateAscentBinaryClassifier
    {
        NumThreads = 1
    };
    var learnerOutput = subGraph.Add(learnerInput);

    var experiment = env.CreateExperiment();
    var importInput = new ML.Data.TextLoader(dataPath);
    importInput.Arguments.Column = new ML.Data.TextLoaderColumn[]
    {
        new ML.Data.TextLoaderColumn { Name = "Label", Source = new[] { new ML.Data.TextLoaderRange(0) } },
        new ML.Data.TextLoaderColumn { Name = "Features", Source = new[] { new ML.Data.TextLoaderRange(1,4) } }
    };

    var importOutput = experiment.Add(importInput);

    var oneVersusAll = new ML.Models.OneVersusAll
    {
        TrainingData = importOutput.Data,
        Nodes = subGraph,
        UseProbabilities = true,
    };
    var ovaOutput = experiment.Add(oneVersusAll);
    var scoreInput = new ML.Transforms.DatasetScorer
    {
        Data = importOutput.Data,
        PredictorModel = ovaOutput.PredictorModel
    };
    var scoreOutput = experiment.Add(scoreInput);

    var evalInput = new ML.Models.ClassificationEvaluator
    {
        Data = scoreOutput.ScoredData
    };
    var evalOutput = experiment.Add(evalInput);
    experiment.Compile();
    experiment.SetInput(importInput.InputFile, new SimpleFileHandle(env, dataPath, false, false));
    experiment.Run();
}

Predictor got trained on normalized features, but during prediction time it got non-normalized features.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions