Changeset 18027 for branches/3026_IntegrationIntoSymSpace/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman17.cs
- Timestamp:
- 07/20/21 18:13:55 (3 years ago)
- Location:
- branches/3026_IntegrationIntoSymSpace
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3026_IntegrationIntoSymSpace
-
branches/3026_IntegrationIntoSymSpace/HeuristicLab.Problems.Instances.DataAnalysis
- Property svn:mergeinfo changed
/trunk/HeuristicLab.Problems.Instances.DataAnalysis merged: 17931,17966-17967,17969,17973-17974
- Property svn:mergeinfo changed
-
branches/3026_IntegrationIntoSymSpace/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman17.cs
r17805 r18027 10 10 private readonly int trainingSamples; 11 11 12 public Feynman17() : this((int) 12 public Feynman17() : this((int)DateTime.Now.Ticks, 10000, 10000, null) { } 13 13 14 14 public Feynman17(int seed) { 15 Seed 15 Seed = seed; 16 16 trainingSamples = 10000; 17 testSamples 18 noiseRatio 17 testSamples = 10000; 18 noiseRatio = null; 19 19 } 20 20 21 21 public Feynman17(int seed, int trainingSamples, int testSamples, double? noiseRatio) { 22 Seed 22 Seed = seed; 23 23 this.trainingSamples = trainingSamples; 24 this.testSamples 25 this.noiseRatio 24 this.testSamples = testSamples; 25 this.noiseRatio = noiseRatio; 26 26 } 27 27 … … 29 29 get { 30 30 return string.Format("I.15.3x (x-u*t)/sqrt(1-u**2/c**2) | {0}", 31 noiseRatio == null ? "no noise" : string.Format(System.Globalization.CultureInfo.InvariantCulture, "noise={0:g}", noiseRatio));31 noiseRatio == null ? "no noise" : string.Format(System.Globalization.CultureInfo.InvariantCulture, "noise={0:g}", noiseRatio)); 32 32 } 33 33 } … … 36 36 37 37 protected override string[] VariableNames { 38 get { return n ew[] {"x", "u", "c", "t", noiseRatio == null ? "x1" : "x1_noise"}; }38 get { return noiseRatio == null ? new[] { "x", "u", "c", "t", "x1" } : new[] { "x", "u", "c", "t", "x1", "x1_noise" }; } 39 39 } 40 40 41 protected override string[] AllowedInputVariables { get { return new[] { "x", "u", "c", "t"}; } }41 protected override string[] AllowedInputVariables { get { return new[] { "x", "u", "c", "t" }; } } 42 42 43 43 public int Seed { get; private set; } … … 49 49 50 50 protected override List<List<double>> GenerateValues() { 51 var rand = new MersenneTwister((uint) 51 var rand = new MersenneTwister((uint)Seed); 52 52 53 53 var data = new List<List<double>>(); 54 var x 55 var u 56 var c 57 var t 54 var x = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 5, 10).ToList(); 55 var u = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 2).ToList(); 56 var c = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 3, 20).ToList(); 57 var t = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 2).ToList(); 58 58 59 59 var x1 = new List<double>(); … … 70 70 } 71 71 72 if (noiseRatio != null) { 73 var x1_noise = new List<double>(); 74 var sigma_noise = (double) Math.Sqrt(noiseRatio.Value) * x1.StandardDeviationPop(); 75 x1_noise.AddRange(x1.Select(md => md + NormalDistributedRandom.NextDouble(rand, 0, sigma_noise))); 76 data.Remove(x1); 77 data.Add(x1_noise); 78 } 72 var targetNoise = GetNoisyTarget(x1, rand); 73 if (targetNoise != null) data.Add(targetNoise); 79 74 80 75 return data;
Note: See TracChangeset
for help on using the changeset viewer.