System.ArgumentOutOfRangeException:'输入列的架构不匹配预期Single或Single的已知大小向量,得到Vector <Single>

时间:2019-09-16 17:22:23

标签: c# ml.net

我正在使用ML.net Github问题分类教程来创建一个模型,该模型接受报纸文章的输入并预测新闻应属于的类别。目前,我正在以tsv格式使用datatset,将其转换为IDataview功能,然后使用它来适应预测管道。培训文件有两列“文本”和“类别”。我正在提供代码段。在拟合期间,我得到了上述异常。我的文件为tsv格式,并且正在使用功能文本转换。有人可以指出我做错了吗?我正在使用Kaggle的bbc文本数据集。

public class GitHubIssue
{        
    [LoadColumn(1)]
    public string category { get; set; }
    [LoadColumn(2)]
    public string text { get; set; }
}

public class IssuePrediction
{
    [ColumnName("PredictedLabel")]
    public string category { get; set; }
}

////////////Code Snippets///////////

 _trainingDataView = _mlContext.Data.LoadFromTextFile<GitHubIssue>(_trainDataPath); //, hasHeader: true);          

 var pipeline = _mlContext.Transforms.Conversion.MapValueToKey(inputColumnName: "category", outputColumnName: "Label")                           
                       .Append(_mlContext.Transforms.Text.FeaturizeText( inputColumnName: "text", outputColumnName: "TextFeaturized"))
                       .Append(_mlContext.Transforms.Concatenate("Features",  "TextFeaturized"))
                       .AppendCacheCheckpoint(_mlContext); 

 var trainingPipeline = pipeline.Append(_mlContext.MulticlassClassification.Trainers.SdcaMaximumEntropy("Label", "Features"))
                .Append(_mlContext.Transforms.Conversion.MapKeyToValue("PredictedLabel")); 

 _trainedModel = trainingPipeline.Fit(trainingDataView); //// This line throws the exception

0 个答案:

没有答案