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"); }); }
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; }