Encog One Of - декодиране

Използвам Encog в един от проектите и се заклещих, докато декодирам One-Of клас. Едно от действията за нормализиране на полето е NormalizationAction.OneOf, което има три изхода. Когато оценявам, искам да декодирам предвидената стойност. как да декодирам...?

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

Горният код е за Equilateral. Как мога да направя същото за One-Of.

Благодаря, Канс


person kans    schedule 24.10.2013    source източник


Отговори (1)


Ето примерен код (в C#) за декодиране на един от n кодирани класове.

var outputIndex = EngineArray.MaxIndex(изход);

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

Означава, че първо получавате изходния масив, като използвате Network.Compute(). След това се опитвате да разберете кой елемент в изходния масив има максималната стойност (The Winner). След това можете да използвате този индекс и информацията от анализатора, за да получите името на класа.

Така че можете да използвате вашия клас анализатор. Ако сте запазили своя анализатор файл, тогава можете да го заредите в паметта, като използвате

var analyst = нов EncogAnalyst();

analyst.Load(AnalystFilePath.ToString());

person Abhishek Kumar    schedule 04.12.2013