C# ML.net代码程序找不到输入列,训练算法时超出范围异常

C# ML.net代码程序找不到输入列,训练算法时超出范围异常,c#,.net,ml.net,C#,.net,Ml.net,当我训练算法时,模型中出现异常: System.ArgumentOutOfRangeException:'找不到输入列'Features'' 我非常确定我正在将正确的变量传递到我的管道属性中,但是我知道ML有一个新版本,所以不推荐使用。虽然在这里看不到任何东西: var model = pipeLine.Fit(dataView); 什么是错误 var pipeLine = mlContext.Transforms .Text.FeaturizeText("FeedBack", "F

当我训练算法时,模型中出现异常:

System.ArgumentOutOfRangeException:'找不到输入列'Features''

我非常确定我正在将正确的变量传递到我的管道属性中,但是我知道ML有一个新版本,所以不推荐使用。虽然在这里看不到任何东西:

var model = pipeLine.Fit(dataView);
什么是错误

var pipeLine = mlContext.Transforms
     .Text.FeaturizeText("FeedBack", "Features")
    .Append(mlContext.BinaryClassification.Trainers.FastTree(numberOfLeaves: 50, numberOfTrees: 50, minimumExampleCountPerLeaf: 1));
我的模特是从哪里来的

是我的数据视图的来源

这是我的培训资料

静态无效载荷训练数据(){
添加(新的反馈trainingData(){
FeedBackText=“这很好”,
IsGood=true
});
添加(新的反馈trainingData(){
FeedBackText=“这太可怕了”,
IsGood=true
});
添加(新的反馈trainingData(){
FeedBackText=“这太可怕了”,
IsGood=false
});
添加(新的反馈trainingData(){
FeedBackText=“这是平均值,可以”,
IsGood=true
});
添加(新的反馈trainingData(){
FeedBackText=“糟糕透了”,
IsGood=false
});
添加(新的反馈trainingData(){
FeedBackText=“坏”,
IsGood=false
});
添加(新的反馈trainingData(){
FeedBackText=“更好”,
IsGood=true
});
添加(新的反馈trainingData(){
FeedBackText=“好多了”,
IsGood=true
});
添加(新的反馈trainingData(){
FeedBackText=“糟糕透了”,
IsGood=false
});
添加(新的反馈trainingData(){
FeedBackText=“更糟”,
IsGood=false
});
添加(新的反馈trainingData(){
FeedBackText=“不错”,
IsGood=true
});
添加(新的反馈trainingData(){
FeedBackText=“非常糟糕”,
IsGood=false
});
}

我的模型阅读文档

FeatureizeText似乎需要参数(outputColumnName、inputColumnName)

您的数据模型如下所示

{
    FeedBackText = "this is good",
    IsGood = true
}
但你正在寻找一个名为“功能”的专栏,以挤进“反馈”专栏

试试像这样的东西

 .Text.FeaturizeText("Features", "FeedBackText")

我也遇到了同样的问题,我通过使用“SDCalogisticRetression”找到了解决方案


我们需要看看你的data@ZakkDiaz请参见编辑:)FeatureizeText参数可能是反向的。如果我记得的话,输出列是第一个参数。您在这里提到了一些不推荐使用的标签属性。你能详细说明一下吗?我也面临着同样的问题。嗯,也不起作用,我把它们换过来,现在它说‘找不到输入列’反馈文本‘当时的答案似乎是错误的。该文档中有一个关于如何使用它的非常清晰的示例,因此可能需要花费一些时间来实现它们的版本,并将其与您的版本进行比较。您对我的FeedBackTrainingData类有何看法?也许属性是错误的?这确实有效!我的数据类的标签属性已被弃用。。。所以有两个问题,这个问题已经解决了!非常感谢!
{
    FeedBackText = "this is good",
    IsGood = true
}
 .Text.FeaturizeText("FeedBack", "Features")
 .Text.FeaturizeText("Features", "FeedBackText")
var pipeLine = mlContext.Transforms.Text.FeaturizeText(outputColumnName: "Features", inputColumnName: "FeedBackText") .Append(mlContext.BinaryClassification.Trainers.SdcaLogisticRegression(labelColumnName: "label", featureColumnName: "Features"));