Ecco poche risorse, in cui è possibile ottenere informazioni più dettagliate sulla normalizzazione e la denormalizzazione utilizzando il framework ENCOG.
Questi grandi e-book scritti dallo stesso Jeff Heaton, 1. Programmazione di reti neurali con ENCOG3 in C#, 2a edizione di Heaton, Jeff (2 ottobre 2011)2. Introduzione alle reti neurali per C#, 2a edizione di Jeff Heaton (2 ottobre 2008) Questi devono avere e -book per utenti ENCog.
Puoi anche dare un'occhiata al corso di Pluralsight su "Introduzione all'apprendimento automatico con Encog"Ciò include anche pochi esempi di normalizzazione e denormalizzazione.
Ora per quanto riguarda le tue domande: "Non è chiaro qui, anche se come prendere l'analistica e convertirlo in un mldataset per usarlo effettivamente".
Bene, puoi utilizzare AnalystNormalizeCSV per normalizzare il tuo file di allenamento. E quindi è possibile utilizzare loadcsv2memory della classe di encogutilità per caricare il file di allenamento normalizzato per ottenere il set di dati ML. Ecco un codice di esempio in C#,
var trainingSet = EncogUtility.LoadCSV2Memory(Config.NormalizedTrainingFile.ToString(),
network.InputCount, network.OutputCount,true, CSVFormat.English,false);
Prende il file di addestramento normalizzato come primo parametro, il conteggio dei neuroni di input di rete come secondo, il conteggio dei neuroni in uscita di rete come terzo, il quarto parametro è booleano se si dispone di intestazione nel tuo file CSV, allora puoi menzionare il formato come quinto parametro e sesto Il parametro è per significato.
Quindi, una volta che hai questo set di dati in memoria, puoi usarlo per l'allenamento. Approccio simile può essere adottato anche nella fase di convalida e valutazione incrociata.
Per quanto riguarda la denormalizzazione, puoi prima persistere al file degli analisti e successivamente è possibile utilizzare anche il file di analisti per denormalizzare le singole colonne. Per esempio :
var denormlizedOutput = analyst.Script.Normalize.NormalizedFields[index].DeNormalize(item.Input[index]);
Approccio simile può essere utilizzato anche nei campi denormalizzanti per ottenere etichette di classe. Per esempio
var predictedClass = analyst.Script.Normalize.NormalizedFields[index].Classes[predictedClassInt].Name;