Aquí hay pocos recursos, donde puede obtener información más detallada sobre la normalización y la desnormalización utilizando el marco Encog.
Estos grandes libros electrónicos escritos por el propio Jeff Heaton, 1. Programación de redes neuronales con encog3 en C#, 2ª edición de Heaton, Jeff (2 de octubre de 2011)2. Introducción a redes neuronales para C#, 2ª edición de Jeff Heaton (2 de octubre de 2008) Estos deben tener libros electrónicos para usuarios de Encog.
También puede echar un vistazo al curso pluralsight en "Introducción al aprendizaje automático con encog", esto también incluye pocos ejemplos de normalización y desnormalización.
Ahora, con respecto a sus consultas: "No está claro aquí cómo tomar el AnalystNormalizeCSV y convertirlo en un MlDataSet para usarlo realmente".
Bueno, puede usar AnalystNormalizeCSV para normalizar su archivo de entrenamiento. Y luego puede usar LoadCSV2Memory de la clase Encogutilidad para cargar el archivo de entrenamiento normalizado para obtener el conjunto de datos ML. Aquí hay un código de muestra en C#,
var trainingSet = EncogUtility.LoadCSV2Memory(Config.NormalizedTrainingFile.ToString(),
network.InputCount, network.OutputCount,true, CSVFormat.English,false);
Se necesita el archivo de entrenamiento normalizado como primer parámetro, la neuronada de entrada de red cuenta como segundo, el recuento de neuronas de salida de red como tercero, el cuarto parámetro es booleano si tiene encabezado en su archivo CSV, entonces puede mencionar el formato como el quinto parámetro y el sexto lugar El parámetro es para importancia.
Entonces, una vez que tenga este conjunto de datos en la memoria, puede usarlo para capacitación. Se puede adoptar un enfoque similar en el paso de validación y evaluación cruzada también.
Con respecto a la denormalización, primero puede persistir el archivo de analistas, y luego puede usar el archivo de analistas para desnormalizar las columnas individuales también. Por ejemplo :
var denormlizedOutput = analyst.Script.Normalize.NormalizedFields[index].DeNormalize(item.Input[index]);
Se puede utilizar un enfoque similar en los campos de desnormalización para obtener etiquetas de clase también. Por ejemplo
var predictedClass = analyst.Script.Normalize.NormalizedFields[index].Classes[predictedClassInt].Name;