- Timestamp:
- 11/21/11 16:23:48 (13 years ago)
- Location:
- branches/RegressionBenchmarks/HeuristicLab.Problems.DataAnalysis.Benchmarks/3.4
- Files:
-
- 47 added
- 8 deleted
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/RegressionBenchmarks/HeuristicLab.Problems.DataAnalysis.Benchmarks/3.4/Benchmark.cs
r6968 r7025 29 29 : base(original, cloner) { 30 30 } 31 32 public override IDeepCloneable Clone(Cloner cloner) { 33 throw new System.NotImplementedException(); 34 } 31 35 } 32 36 } -
branches/RegressionBenchmarks/HeuristicLab.Problems.DataAnalysis.Benchmarks/3.4/Generator/RegressionBenchmark.cs
r6991 r7025 20 20 #endregion 21 21 22 using System.Collections;23 22 using System.Collections.Generic; 24 23 using System.Linq; … … 31 30 32 31 #region properties 33 public abstract List<string> InputVariable { get; } 34 public abstract string TargetVariable { get; } 35 public abstract IntRange TrainingPartition { get; } 36 public abstract IntRange TestPartition { get; } 32 protected string targetVariable; 33 protected List<string> inputVariables; 34 protected IntRange trainingPartition; 35 protected IntRange testPartition; 36 37 public List<string> InputVariable { 38 get { return inputVariables; } 39 } 40 41 public string TargetVariable { 42 get { return targetVariable; } 43 } 44 45 public IntRange TrainingPartition { 46 get { return trainingPartition; } 47 } 48 49 public IntRange TestPartition { 50 get { return testPartition; } 51 } 37 52 #endregion 38 53 … … 42 57 } 43 58 44 protected abstract List<double> CalculateFunction( Dictionary<string, IList<double>> data);59 protected abstract List<double> CalculateFunction(List<List<double>> data); 45 60 46 protected abstract Dictionary<string, IList<double>> GenerateInput(Dictionary<string, IList<double>> data);61 protected abstract List<List<double>> GenerateInput(List<List<double>> dataList); 47 62 48 63 public IDataAnalysisProblemData GenerateProblemData() { 49 Dictionary<string, IList<double>> data = new Dictionary<string, IList<double>>(); 50 data.Add(this.TargetVariable, new List<double>()); 51 foreach (var variable in this.InputVariable) { 52 data.Add(variable, new List<double>()); 53 } 64 List<string> varNames = new List<string>(); 65 varNames.Add(this.TargetVariable); 66 varNames.AddRange(InputVariable); 54 67 55 data = GenerateInput(data);68 List<List<double>> dataList = GenerateInput(new List<List<double>>()); 56 69 57 List<IList> values = new List<IList>(); 58 foreach (var valueList in data.Values) { 59 values.Add((IList)valueList); 60 } 70 dataList.Insert(0, CalculateFunction(dataList)); 61 71 62 Dataset dataset = new Dataset(data.Keys, values); 63 dataset.Name = this.Name; 72 Dataset dataset = new Dataset(varNames, dataList); 64 73 65 74 RegressionProblemData problemData = new RegressionProblemData(dataset, dataset.DoubleVariables.Skip(1), dataset.DoubleVariables.First()); 66 75 67 76 problemData.Name = "Data generated for benchmark problem \"" + this.Name + "\""; 68 77 problemData.Description = this.Description; 69 78 70 79 problemData.TestPartition.Start = this.TestPartition.Start; … … 77 86 } 78 87 79 //private Dictionary<string, IList<double>> CalculateValues(Dictionary<string, IList<double>> data, DatasetDefinition dataDef) { 80 // Random rand = new Random(); 81 // var combinationDataSet = AllCombinationsOf(dataDef.RangeVariables.Values.Select(range => range.Values).ToList()); 82 // int index = 0; 83 // var help = dataDef.RangeVariables.Keys; 84 // foreach (var dataSet in combinationDataSet) { 85 // data[help.ElementAt(index)] = dataSet; 86 // index++; 87 // } 88 // List<string> vars = new List<string>(dataDef.RandomVariables.Keys); 89 // for (int i = 0; i < dataDef.AmountOfPoints; i++) { 90 // foreach (var variable in vars) { 91 // data[variable].Add(dataDef.RandomVariables[variable].Next()); 92 // } 93 // // data[TargetVariable].Add(CalculateFunction(data, vars)); 94 // } 95 // int bla = 0; 96 // var test = data.Values.Select((ind) => (ind.ElementAt(bla))); 97 98 // return data; 99 //} 100 101 public static List<double> generateSteps(DoubleRange range, double stepWidth) { 88 public static List<double> GenerateSteps(DoubleRange range, double stepWidth) { 102 89 return Enumerable.Range(0, (int)((range.End - range.Start) / stepWidth) + 1) 103 90 .Select(i => (range.Start + i * stepWidth)) … … 105 92 } 106 93 107 public static List<double> generateUniformDistributedValues(int amount, DoubleRange range) {94 public static List<double> GenerateUniformDistributedValues(int amount, DoubleRange range) { 108 95 List<double> values = new List<double>(); 109 96 System.Random rand = new System.Random(); … … 114 101 } 115 102 116 public static List<double> generateNormalDistributedValues(int amount, double mu, double sigma) {103 public static List<double> GenerateNormalDistributedValues(int amount, double mu, double sigma) { 117 104 List<double> values = new List<double>(); 118 105 FastRandom rand = new FastRandom(); … … 133 120 combinations = AddExtraSet(combinations, set); 134 121 122 combinations = (from i in Enumerable.Range(0, sets.Count) 123 select (from list in combinations 124 select list.ElementAt(i)).ToList<double>()).ToList<List<double>>(); 125 135 126 return combinations; 136 127 } -
branches/RegressionBenchmarks/HeuristicLab.Problems.DataAnalysis.Benchmarks/3.4/HeuristicLab.Problems.DataAnalysis.Benchmarks-3.4.csproj
r6991 r7025 51 51 <Compile Include="Plugin.cs" /> 52 52 <Compile Include="Properties\AssemblyInfo.cs" /> 53 <Compile Include="RegressionBenchmarks\KotanchekFunction.cs" /> 53 <Compile Include="RegressionBenchmarks\Keijzer\KeijzerFunctionSixteen.cs" /> 54 <Compile Include="RegressionBenchmarks\Keijzer\KeijzerFunctionFifteen.cs" /> 55 <Compile Include="RegressionBenchmarks\Keijzer\KeijzerFunctionThirteen.cs" /> 56 <Compile Include="RegressionBenchmarks\Keijzer\KeijzerFunctionTwelve.cs" /> 57 <Compile Include="RegressionBenchmarks\Keijzer\KeijzerFunctionEight.cs" /> 58 <Compile Include="RegressionBenchmarks\Keijzer\KeijzerFunctionSeven.cs" /> 59 <Compile Include="RegressionBenchmarks\Keijzer\KeijzerFunctionSix.cs" /> 60 <Compile Include="RegressionBenchmarks\Korns\KornFunctionFiveteen.cs" /> 61 <Compile Include="RegressionBenchmarks\Korns\KornFunctionFourteen.cs" /> 62 <Compile Include="RegressionBenchmarks\Korns\KornFunctionThirteen.cs" /> 63 <Compile Include="RegressionBenchmarks\Korns\KornFunctionTwelve.cs" /> 64 <Compile Include="RegressionBenchmarks\Korns\KornFunctionEleven.cs" /> 65 <Compile Include="RegressionBenchmarks\Korns\KornFunctionTen.cs" /> 66 <Compile Include="RegressionBenchmarks\Korns\KornFunctionNine.cs" /> 67 <Compile Include="RegressionBenchmarks\Korns\KornFunctionEight.cs" /> 68 <Compile Include="RegressionBenchmarks\Korns\KornFunctionSeven.cs" /> 69 <Compile Include="RegressionBenchmarks\Korns\KornFunctionSix.cs" /> 70 <Compile Include="RegressionBenchmarks\Korns\KornFunctionFive.cs" /> 71 <Compile Include="RegressionBenchmarks\Korns\KornFunctionFour.cs" /> 72 <Compile Include="RegressionBenchmarks\Korns\KornFunctionThree.cs" /> 73 <Compile Include="RegressionBenchmarks\Korns\KornFunctionTwo.cs" /> 74 <Compile Include="RegressionBenchmarks\Korns\KornFunctionOne.cs" /> 75 <Compile Include="RegressionBenchmarks\Keijzer\KeijzerFunctionFour.cs" /> 76 <Compile Include="RegressionBenchmarks\Nguyen et al\NguyenFunctionTwelve.cs" /> 77 <Compile Include="RegressionBenchmarks\Nguyen et al\NguyenFunctionEleven.cs" /> 78 <Compile Include="RegressionBenchmarks\Nguyen et al\NguyenFunctionTen.cs" /> 79 <Compile Include="RegressionBenchmarks\Nguyen et al\NguyenFunctionNine.cs" /> 80 <Compile Include="RegressionBenchmarks\Nguyen et al\NguyenFunctionEight.cs" /> 81 <Compile Include="RegressionBenchmarks\Nguyen et al\NguyenFunctionSeven.cs" /> 82 <Compile Include="RegressionBenchmarks\Nguyen et al\NguyenFunctionSix.cs" /> 83 <Compile Include="RegressionBenchmarks\Nguyen et al\NguyenFunctionFive.cs" /> 84 <Compile Include="RegressionBenchmarks\Nguyen et al\NguyenFunctionFour.cs" /> 85 <Compile Include="RegressionBenchmarks\Nguyen et al\NguyenFunctionThree.cs" /> 86 <Compile Include="RegressionBenchmarks\Nguyen et al\NguyenFunctionTwo.cs" /> 87 <Compile Include="RegressionBenchmarks\Nguyen et al\NguyenFunctionOne.cs" /> 88 <Compile Include="RegressionBenchmarks\Vladislavleva et al\KotanchekFunction.cs" /> 54 89 <Compile Include="Generator\RegressionBenchmark.cs" /> 90 <Compile Include="RegressionBenchmarks\Vladislavleva et al\RationalPolynomialThreeDimensional.cs" /> 91 <Compile Include="RegressionBenchmarks\Vladislavleva et al\RationalPolynomialTwoDimensional.cs" /> 92 <Compile Include="RegressionBenchmarks\Vladislavleva et al\RippleFunction.cs" /> 93 <Compile Include="RegressionBenchmarks\Vladislavleva et al\SalustowiczFunctionOneDimensional.cs" /> 94 <Compile Include="RegressionBenchmarks\Vladislavleva et al\SalustowiczFunctionTwoDimensional.cs" /> 95 <Compile Include="RegressionBenchmarks\Vladislavleva et al\SineCosineFunction.cs" /> 96 <Compile Include="RegressionBenchmarks\Vladislavleva et al\UnwrappedBallFunctionFiveDimensional.cs" /> 55 97 </ItemGroup> 56 98 <ItemGroup>
Note: See TracChangeset
for help on using the changeset viewer.