Exemple #1
0
        private static (decimal Swing, string Party) GenerateSwing(DateTime forecastDate, DateTime electionDay)
        {
            string  party = new Random().Next() % 2 == 0 ? "Republican" : "Democratic";
            decimal swing = Guassian.Next(0, ((decimal)(electionDay - forecastDate).Days / 90) + 1);

            return(swing, party);
        }
Exemple #2
0
        public override int Run(string[] remainingArguments)
        {
            InitializeArgumentsFromConfinIfItIsNecessary();

            var inputs = _dataLoader.LoadCoordinates(_fileName);

            var normalizedInputs = inputs.Select(_matrixHelpers.Normalize).ToList();

            var maxInputOne = normalizedInputs.Select(x => x.At(0, 0)).Max();

            var maxInputTwo = normalizedInputs.Select(x => x.At(0, 1)).Max();

            var network = new SOMNet(maxInputOne, maxInputTwo, inputs.Count);

            var rmax = 4;

            //var neighborhoodFunction = new Guassian();
            var neighborhoodFunction = new Guassian();

            var teacher = new Teacher(network, neighborhoodFunction, rmax);

            teacher.Learn(normalizedInputs);

            var order = new List <int>();

            foreach (var input in inputs)
            {
                order.Add(network.GetIndexOfTheMostMatchesNeuron(input));
            }

            var saver = new DataSaver();

            saver.SaveWeights(network);
            saver.SaveNormalizedInputs(normalizedInputs);
            saver.SaveOrder(order);

            if (shouldVisual)
            {
                var orderlinesses = inputs.Select((x, i) => new Orderliness(order[i], x)).ToList();

                var bm = _visualizer.Visualize(orderlinesses);

                bm.Save(ConfigurationManager.AppSettings["Visualization"]);
            }

            return(0);
        }
Exemple #3
0
        static int Main(string[] args)
        {
            var nf = new Guassian();

            for (var i = 0; i < 2; i++)
            {
                Console.WriteLine("Wartość guassaina przy i = {0} to {1}", i, nf.GiveValue(i, 1));
            }


            // locate any commands in the assembly (or use an IoC container, or whatever source)
            var commands = GetCommands();



            // then run them.
            return(ConsoleCommandDispatcher.DispatchCommand(commands, args, Console.Out));
        }
Exemple #4
0
    private float GenerateGuassianMatrix(uint oct, uint layer)
    {
        float sigma = (float)(1.6 * pow(2, oct + ((float)layer / (float)(layers - 3))));//layers-3 to make sure the continues of the Guassian pyrimid
        uint  n = 0; float normalizing = 0;

        for (int j = 0; j < guassMatrixSize.y; j++)
        {
            for (int i = 0; i < guassMatrixSize.x; i++)
            {
                Guassian[n] = GuassianFunction(sigma, j, i); normalizing += Guassian[n]; n++;
            }
        }
        for (int i = 0; i < Guassian.Length; i++)
        {
            Guassian[i] = Guassian[i] / normalizing;
        }                                                                                 //normalization
        Guassian.SetData(Guassian);
        return(sigma);
    }//Generate Guassian Matrix Method End
Exemple #5
0
        private static (decimal Result, decimal Weight) GetGuassian(Poll poll, string candidateName, DateTime date)
        {
            PollResult result = poll.Results.FirstOrDefault(c => c.Candidate == candidateName);

            if (result != null)
            {
                decimal mean        = result.Percent;
                decimal stdDev      = ((decimal)(date - poll.Date).Days / 60) + 1;
                decimal pct         = Guassian.Next(mean, stdDev);
                int     denominator = (date - poll.Date).Days;
                if (denominator == 0)
                {
                    denominator = 1;
                }

                var weight = (decimal)System.Math.Sqrt(1.0 / denominator);
                return(pct * weight, weight);
            }

            return(0.0M, 0.0M);
        }