Example #1
0
        static void Main(string[] args)
        {
            var normalize       = new ValueNormalizer();
            var dataTransformer = new DataTransformer();
            var dataSupplier    = new DataSourceSupplier();


            var    data           = dataSupplier.GetTrainingSet().ToList();
            var    trainingSet    = GetNormalizedData();
            var    functions      = new FunctionsCalculator(trainingSet);
            var    newHouse       = new double[] { 1, 1203, 3 };
            double predictedPrice = 0.0;
            var    actualPrice    = 239500;
            var    theta          = new double[] { 89597.9027899082, 504777.895309395, -34952.0620218024 };

            for (int i = 1; i <= 2; i++)
            {
                var featureVector = dataTransformer.GetNthFeatureVector(data, i).ToArray();
                var min           = featureVector.Min();
                var max           = featureVector.Max();
                newHouse[i] = normalize.FeatureScaling(min, max, newHouse[i]);
            }


            predictedPrice = functions.Hypothesis(newHouse, theta);

            Console.WriteLine($"Actual price: {actualPrice}");
            Console.WriteLine($"Predicted price: {predictedPrice}");
            Console.Read();
        }