2

プロジェクトの 1 つで Encog を使用していますが、One-Of クラスのデコード中に行き詰まりました。フィールドの正規化アクションの 1 つは NormalizationAction.OneOf で、3 つの出力があります。評価するとき、予測値をデコードしたい。デコードする方法...?

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

上記のコードはエクイラテラル用です。One-Of で同じことを行うにはどうすればよいですか。

ありがとう、カンズ

4

1 に答える 1

5

one-of-n エンコードされたクラスをデコードするためのサンプル コード (C#) を次に示します。

var outputIndex = EngineArray.MaxIndex(出力);

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

つまり、最初に使用して出力配列を取得します。Network.Compute()次に、出力配列のどの要素に最大値があるかを調べようとします(The Winner)。次に、そのインデックスとアナリスト情報を使用して、クラス名を取得できます。

したがって、アナリストクラスを使用できます。アナリスト ファイルを保持している場合は、次を使用してメモリにロードできます。

var アナリスト = 新しい EncogAnalyst();

Analyst.Load(AnalystFilePath.ToString());

于 2013-12-04T07:12:31.417 に答える