Changeset 17649 for branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/FeynmanBonus12.cs
- Timestamp:
- 07/07/20 10:47:27 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/FeynmanBonus12.cs
r17643 r17649 2 2 using System.Collections.Generic; 3 3 using System.Linq; 4 using HeuristicLab.Common; 4 5 using HeuristicLab.Random; 5 6 … … 9 10 private readonly int trainingSamples; 10 11 11 public FeynmanBonus12() : this((int) DateTime.Now.Ticks, 10000, 10000 ) { }12 public FeynmanBonus12() : this((int) DateTime.Now.Ticks, 10000, 10000, null) { } 12 13 13 14 public FeynmanBonus12(int seed) { … … 15 16 trainingSamples = 10000; 16 17 testSamples = 10000; 18 noiseRatio = null; 17 19 } 18 20 19 public FeynmanBonus12(int seed, int trainingSamples, int testSamples ) {21 public FeynmanBonus12(int seed, int trainingSamples, int testSamples, double? noiseRatio) { 20 22 Seed = seed; 21 23 this.trainingSamples = trainingSamples; 22 24 this.testSamples = testSamples; 25 this.noiseRatio = noiseRatio; 23 26 } 24 27 … … 26 29 get { 27 30 return string.Format( 28 "Feynman 2.11 Jackson q/(4*pi*epsilon*y**2)*(4*pi*epsilon*Volt*d-q*d*y**3/(y**2-d**2)**2) | {0} samples ",29 trainingSamples );31 "Feynman 2.11 Jackson q/(4*pi*epsilon*y**2)*(4*pi*epsilon*Volt*d-q*d*y**3/(y**2-d**2)**2) | {0} samples | noise ({1})", 32 trainingSamples, noiseRatio == null ? "no noise" : noiseRatio.ToString()); 30 33 } 31 34 } 32 35 33 protected override string TargetVariable { get { return "F"; } } 34 protected override string[] VariableNames { get { return new[] {"q", "y", "Volt", "d", "epsilon", "F"}; } } 36 protected override string TargetVariable { get { return noiseRatio == null ? "F" : "F_noise"; } } 37 38 protected override string[] VariableNames { 39 get { return new[] {"q", "y", "Volt", "d", "epsilon", noiseRatio == null ? "F" : "F_noise"}; } 40 } 41 35 42 protected override string[] AllowedInputVariables { get { return new[] {"q", "y", "Volt", "d", "epsilon"}; } } 36 43 … … 68 75 } 69 76 77 if (noiseRatio != null) { 78 var F_noise = new List<double>(); 79 var sigma_noise = (double) noiseRatio * F.StandardDeviationPop(); 80 F_noise.AddRange(F.Select(md => md + NormalDistributedRandom.NextDouble(rand, 0, sigma_noise))); 81 data.Remove(F); 82 data.Add(F_noise); 83 } 84 70 85 return data; 71 86 }
Note: See TracChangeset
for help on using the changeset viewer.