Как исправить вывод NaN (не число) в C # / ML.net - PullRequest
0 голосов
/ 25 апреля 2019

Программа успешно обучает (с набором данных 1600 примеров) модель, но при прогнозировании возвращает NaN (не число). Любая помощь очень ценится, но, пожалуйста, имейте ввиду, что я не опытный программист и не занимаюсь машинным обучением.

Я уже пытался изменить значения для прогноза на что-то похожее на мой набор данных;

//Column Declaration    
public class WineQualityPrediction
    {
        [ColumnName("Label")]
        public float Label;
    }

    class Program
    {
        static void Main(string[] args)
        {
            var pipeline = new LearningPipeline();
            string dataPath = "WineMl.txt";
            pipeline.Add(new TextLoader(dataPath).CreateFrom<WineData>(separator: ','));

            pipeline.Add(new Dictionarizer("Label"));
            pipeline.Add(new ColumnConcatenator("Features", "FixedAcidity", "VolatileAcidity", "CitricAcid", "ResidualSugar", "Chlorides", "FreeSulfurDioxide", "TotalSulfurDioxide", "Density", "pH", "Sulphates", "Alcohol"));

            pipeline.Add(new StochasticDualCoordinateAscentClassifier());
            pipeline.Add(new PredictedLabelColumnOriginalValueConverter() { PredictedLabelColumn = "Label" });

            var model = pipeline.Train<WineData, WineQualityPrediction>();

            var prediction = model.Predict(new WineData { FixedAcidity = 7.4f, VolatileAcidity = 0.7f, CitricAcid = 0.0f, ResidualSugar = 1.9f, Chlorides = 0.076f, FreeSulfurDioxide =11.0f, TotalSulfurDioxide = 34.0f, Density = 0.9978f, pH = 3.51f, Sulphates = 0.56f});

            Console.WriteLine($"Predicted wine quality is: {prediction.Label}");
            Console.ReadLine();
        }
    }
}
...