问题描述
我目前正在使用ML.NET进行二进制分类(我认为这是正确的术语……我基本上是在要求它预测对/错)。
我正在使用mlnet命令行通过以下命令进行训练:mlnet classification --dataset data.csv --test-dataset test-data.csv --label-col Moves --has-header true --cache on --train-time 1800
训练似乎总是从“ FastTreeOva”算法中获得最佳结果。然后,我使用培训创建的文件通过以下方法进行预测(这几乎是Microsoft提供的即用型示例。
public static ModelOutput Predict(ModelInput input,string modelFile)
{
// Create new MLContext
MLContext mlContext = new MLContext();
// Load model & create prediction engine
var modelPath = Path.Combine(Environment.CurrentDirectory,modelFile);
ITransformer mlModel = mlContext.Model.Load(modelPath,out var modelInputSchema);
var predEngine = mlContext.Model.CreatePredictionEngine<ModelInput,ModelOutput>(mlModel);
// Predict the outcome
ModelOutput result = predEngine.Predict(input);
return result;
}
我的问题是这个。我从中得到一个名为“ score”的“ ModelOutput”属性,该属性是一个浮点数组,在其中我总是得到两个值。我不知道这两个值是什么意思。有人知道如何解释它们吗?
例如,假设我得到的预测是“ True”……我一直假设两个值中的较高者是“信心”,即“ True”实际上是正确的预测...但现实生活中的使用似乎已崩溃。我会让它以90%的置信度返回“ True”(根据我对分数的含义的解释),并且大多数时候都是错误的。
这让我觉得我不知道那些分数的实际含义。
任何见识都会受到赞赏。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)