2013-10-24 42 views
2

我在項目中使用了Encog,並且在取消一個類的時候卡住了。 該領域的標準化行動之一是NormalizationAction.OneOf其中有三個輸出。當我評估時,我想解碼預測值。如何解碼...?Encog One Of - decode

var eq = new Encog.MathUtil.Equilateral(classCount, normalizationHigh, normalizationLow); 
var predictedClassInt = eq.Decode(output); 

上面的代碼是用於等邊的。我怎麼能爲One-Of做同樣的事情。

謝謝, 各Kans

回答

5

這裏是用於解碼一的正編碼的類的示例代碼(在C#)。

var outputIndex = EngineArray.MaxIndex(output);

var classOutput = analyst.Script.Normalize.NormalizedFields [index] .Classes [outputIndex] .Name;

意味着,你得使用Network.Compute() first.Then你嘗試找出輸出數組,該元件的輸出數組中具有最大值(The Winner)。然後,您可以使用該索引和分析師信息來獲取類名稱。

所以你可以使用你的分析師班。如果你一直堅持你的分析文件,那麼你可以加載它到內存使用

var analyst = new EncogAnalyst();

analyst.Load(AnalystFilePath.ToString());