Skip to content

R4 label works with some but not all binary classification trainers #2750

Closed
@daholste

Description

@daholste

This code:

using System;
using Microsoft.ML.Data;

namespace Microsoft.ML.Samples
{
    internal static class Program
    {
        static void Main(string[] args)
        {
            var context = new MLContext();
            var options = new TextLoader.Options()
            {
                Columns = new TextLoader.Column[]
                {
                    new TextLoader.Column("Label", DataKind.Single, 0),
                    new TextLoader.Column("Sentiment", DataKind.String, 1)
                },
                HasHeader = true
            };
            var loader = context.Data.CreateTextLoader(options);
            var data = loader.Read(@"C:\AutoMLDotNet\src\Samples\Data\wikipedia-detox-250-line-data.tsv");
            var estimator = context.Transforms.Text.FeaturizeText("Features", "Sentiment")
                .Append(context.BinaryClassification.Trainers.AveragedPerceptron());
            var transformer = estimator.Fit(data);
            var scoredData = transformer.Transform(data);
            var metrics = context.BinaryClassification.EvaluateNonCalibrated(scoredData);
            Console.WriteLine(metrics.Accuracy);
            Console.WriteLine("Press any key...");
            Console.ReadLine();
        }
    }
}

works great!

If you replace AveragedPerceptron with LogisticRegression, it throws the exception:

 'Schema mismatch for label column: expected Bool, got R4'

This may indicate a bug in label schema validation with some binary learners

Activity

Ivanidzo4ka

Ivanidzo4ka commented on Feb 26, 2019

@Ivanidzo4ka
Contributor

related to #2628

self-assigned this
on Feb 28, 2019
eerhardt

eerhardt commented on Mar 1, 2019

@eerhardt
Member

I'm not sure this meets "Project 13". I don't see how this would be an API breaking. We can fix this after v1 without a breaking change.

@TomFinley @shauheen

added this to the 0319 milestone on Mar 5, 2019
ghost locked as resolved and limited conversation to collaborators on Mar 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Relationships

None yet

    Development

    Participants

    @Ivanidzo4ka@shauheen@eerhardt@daholste

    Issue actions

      R4 label works with some but not all binary classification trainers · Issue #2750 · dotnet/machinelearning