我在其中一个项目中使用了Encog,并且在解雇One-Of Class时遇到了困难。 字段规范化操作之一是NormalizationAction.OneOf,它有三个输出。当我评估时,我想解码预测值。如何解码......?
var eq = new Encog.MathUtil.Equilateral(classCount, normalizationHigh, normalizationLow);
var predictedClassInt = eq.Decode(output);
以上代码适用于Equilateral。我怎样才能为One-Of做同样的事。
谢谢, 各Kans
答案 0 :(得分:5)
以下是用于解码n个编码类的示例代码(在C#中)。
var outputIndex = EngineArray.MaxIndex(output);
var classOutput = analyst.Script.Normalize.NormalizedFields [index] .Classes [outputIndex] .Name;
意思是,首先使用Network.Compute()
获取输出数组。然后尝试找出输出数组中的哪个元素具有最大值(The Winner)
。然后,您可以使用该索引和分析师信息来获取类名。
所以你可以使用你的分析师课程。如果您持有分析师文件,则可以使用
将其加载到内存中var analyst = new EncogAnalyst();
analyst.Load(AnalystFilePath.ToString());