Encog One Of - 解码

kan*_*ans 2 encog

我在其中一个项目中使用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());