Обучение модели ML.net с исключением: Метаданные KeyValues ​​не существуют

avatar
Qiang Liu
9 августа 2021 в 02:40
57
0
0

Я создаю пример программы ML.NET, код:

private static void Main(string[] args)
{
    var mlContext = new MLContext();
    var samples = new List<ModelInput>()
    {
        new ModelInput(){ Column = "序号" },
        new ModelInput(){ Column = "编码" },
        new ModelInput(){ Column = "编号" },
        new ModelInput(){ Column = "项目编码" },
    };

    var data = mlContext.Data.LoadFromEnumerable(samples);
    var pipeline = mlContext.Transforms.Text.FeaturizeText("Features", "Column")
        .Append(mlContext.Transforms.Conversion.MapValueToKey(inputColumnName: "Label", outputColumnName: "Label"))
        .Append(mlContext.MulticlassClassification.Trainers.NaiveBayes())
        .Append(mlContext.Transforms.Conversion.MapKeyToValue("PredictedLabel"));

    var model = pipeline.Fit(data);

    ......
    Console.ReadLine();
}

public class ModelInput
{
    [LoadColumn(0)]
    public string Column { get; set; }

    [LoadColumn(1), ColumnName("Label")]
    public string Field { get; set; }
}

public class ModelOutput : ModelInput
{
    public string PredictedLabel { get; set; }

    [ColumnName("Score")]
    public float[] PredictedScores { get; set; }
}

Во время работы программы в строке var model = pipeline.Fit(data);

возникло следующее исключение.

System.InvalidOperationException: "Метаданные KeyValues ​​не существуют"

Как решить проблему, спасибо.

Источник

Ответы (0)