Example #1
0
        public SonarDataTrainer(List <string[]> csvData)
        {
            Vector initWeights = new Vector(60);

            perceptron = new Perceptron(initWeights, 0, 1);

            sonarData           = new List <Vector>();
            sonarClassification = new List <bool>();

            csvData.ForEach(dataset =>
            {
                double[] data = new double[60];
                for (int i = 0; i < 60; i++)
                {
                    data[i] = double.Parse(dataset[i]);
                }

                sonarData.Add(new Vector(data));
                sonarClassification.Add(dataset[60] == "M");
            });
        }
Example #2
0
        public void Init(int seed, double[] initWeight, double initBias, double learningRate, List <Vector> positives, List <Vector> negatives)
        {
            this.Seed         = seed;
            this.Runs         = 0;
            this.InitWeight   = initWeight;
            this.InitBias     = initBias;
            this.LearningRate = learningRate;
            this.Perceptron   = new Perceptron(new Vector(initWeight), initBias, learningRate);

            this.Datapoints = new List <PerceptronTrainerDatapoint>();
            positives.ForEach(p => this.Datapoints.Add(new PerceptronTrainerDatapoint()
            {
                Datapoint = p, IsPositive = true
            }));
            negatives.ForEach(n => this.Datapoints.Add(new PerceptronTrainerDatapoint()
            {
                Datapoint = n, IsPositive = false
            }));
            Datapoints.Shuffle(seed);

            this.BiasedLearning = false;

            State = PerceptronTrainerState.Initialized;
        }