Я использовал метод normalizeMinMax ML. NET, чтобы нормализовать входные данные для моей нейронной сети:
IEstimator<ITransformer> pipeline = mlContext.Transforms.NormalizeMinMax(outputColumnName: "Label", inputColumnName: "Co2")
.Append(mlContext.Transforms.Concatenate("Features", "Year", "Population"))
.Append(mlContext.Regression.Trainers.Sdca());
Это работает нормально, но когда я пытаюсь делать предсказания с NN, выходы вроде бы все еще нормализованы. Вот как я называю механизм прогнозирования:
TwoInputRegressionModel[] populationData = new TwoInputRegressionModel[Population.Count];
for (int i = 0; i < Population.Count; i++)
{
populationData[i] = new TwoInputRegressionModel()
{
Population = Population[i].Value.value, Year = Population[i].Year};
}
}
IDataView inputData = mlContext.Data.LoadFromEnumerable(populationData);
IDataView predictions = model.Transform(inputData);
float[] scoreColumn = predictions.GetColumn<float>("Score").ToArray();
Как получить «реальные» прогнозы? Есть ли способ рассчитать от нормализованного значения до исходного значения?