ここでは、ENCOG フレームワークを使用した正規化と非正規化に関する詳細情報を入手できるリソースをいくつか紹介します。
ジェフ・ヒートン自身が書いたこれらの素晴らしい電子書籍、1。 C# での Encog3 を使用したニューラル ネットワークのプログラミング、第 2 版、Heaton、Jeff 著 (2011 年 10 月 2 日)2. C#のニューラルネットワークへの導入、ジェフヒートンによる第2版(2008年10月2日)これらは、ENCOGユーザー向けの電子書籍が必要です。
「」のマルチサイトコースもご覧ください。ENCOG を使用した機械学習の概要」、これには正規化と非正規化の例もいくつか含まれています。
さて、あなたのクエリについて:「ここでは、AnalystNormalizeCSVを取得し、それを実際に使用するためにMLDataSetに変換する方法が明確ではありません。」
AnalystNormalizeCSV を使用してトレーニング ファイルを正規化できます。次に、EncogutilityクラスのLoadCSV2Memoryを使用して、正規化されたトレーニングファイルをロードしてMLデータセットを取得できます。以下は C# のサンプルコードです。
var trainingSet = EncogUtility.LoadCSV2Memory(Config.NormalizedTrainingFile.ToString(),
network.InputCount, network.OutputCount,true, CSVFormat.English,false);
最初のパラメータとして正規化されたトレーニング ファイル、2 番目にネットワーク入力ニューロン数、3 番目にネットワーク出力ニューロン数を受け取ります。csv ファイルにヘッダーがある場合、4 番目のパラメータはブール値です。5 番目のパラメータとして形式を指定でき、6 番目のパラメータとして指定できます。パラメータは意味を持ちます。
したがって、このデータセットをメモリに保存したら、トレーニングに使用できます。同様のアプローチは、相互検証および評価ステップでも採用できます。
非正規化に関しては、最初にアナリスト ファイルを永続化し、後でアナリスト ファイルを使用して個々の列も非正規化することができます。例えば :
var denormlizedOutput = analyst.Script.Normalize.NormalizedFields[index].DeNormalize(item.Input[index]);
同様のアプローチを非正規化フィールドに使用して、クラス ラベルを取得することもできます。例えば
var predictedClass = analyst.Script.Normalize.NormalizedFields[index].Classes[predictedClassInt].Name;