我在其中一个项目中使用Encog,并且在解雇One-Of Class时遇到困难.字段的Normalization Action之一是NormalizationAction.OneOf,它有三个输出.当我评估时,我想解码预测值.如何解码...?
var eq = new Encog.MathUtil.Equilateral(classCount, normalizationHigh, normalizationLow);
var predictedClassInt = eq.Decode(output);
Run Code Online (Sandbox Code Playgroud)
以上代码适用于Equilateral.我如何为One-Of做同样的事情.
谢谢,Kans
小智 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());