Changeset 12893 for branches/HeuristicLab.Problems.GrammaticalOptimization-gkr/HeuristicLab.Problems.GrammaticalOptimization.SymbReg
- Timestamp:
- 08/24/15 13:56:27 (9 years ago)
- Location:
- branches/HeuristicLab.Problems.GrammaticalOptimization-gkr/HeuristicLab.Problems.GrammaticalOptimization.SymbReg
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Problems.GrammaticalOptimization-gkr/HeuristicLab.Problems.GrammaticalOptimization.SymbReg/HeuristicLab.Problems.GrammaticalOptimization.SymbReg.csproj
r11981 r12893 29 29 <ErrorReport>prompt</ErrorReport> 30 30 <WarningLevel>4</WarningLevel> 31 <UseVSHostingProcess>true</UseVSHostingProcess> 31 32 </PropertyGroup> 32 33 <ItemGroup> -
branches/HeuristicLab.Problems.GrammaticalOptimization-gkr/HeuristicLab.Problems.GrammaticalOptimization.SymbReg/SymbolicRegressionProblem.cs
r12290 r12893 72 72 public string Name { get; private set; } 73 73 private Random random; 74 private double lambda;75 74 76 75 77 76 // lambda should be tuned using CV 78 public SymbolicRegressionProblem(Random random, string partOfName, double lambda = 1.0,bool useConstantOpt = true) {77 public SymbolicRegressionProblem(Random random, string partOfName, bool useConstantOpt = true) { 79 78 var instanceProviders = new RegressionInstanceProvider[] 80 79 {new RegressionRealWorldInstanceProvider(), … … 106 105 this.useConstantOpt = useConstantOpt; 107 106 108 this.Name = problemData.Name + string.Format("lambda={0:N2}", lambda);107 this.Name = problemData.Name; 109 108 110 109 this.N = problemData.TrainingIndices.Count(); … … 140 139 141 140 this.random = random; 142 this.lambda = lambda;143 141 144 142 // initialize ERC values … … 167 165 168 166 public double Evaluate(string sentence) { 169 var extender = new ExpressionExtender();170 sentence = extender.CanonicalRepresentation(sentence);167 //var extender = new ExpressionExtender(); 168 //sentence = extender.CanonicalRepresentation(sentence); 171 169 if (useConstantOpt) 172 170 return OptimizeConstantsAndEvaluate(sentence); 173 171 else { 174 Debug.Assert(SimpleEvaluate(sentence) == SimpleEvaluate(extender.CanonicalRepresentation(sentence)));172 //Debug.Assert(SimpleEvaluate(sentence) == SimpleEvaluate(extender.CanonicalRepresentation(sentence))); 175 173 return SimpleEvaluate(sentence); 176 174 } … … 199 197 } 200 198 199 public bool IsOptimalPhrase(string phrase) { 200 return false; 201 } 201 202 202 203 … … 229 230 alglib.ndimensional_pfunc function_cx_1_func = CreatePFunc(compiledFunc); 230 231 alglib.ndimensional_pgrad function_cx_1_grad = CreatePGrad(compiledFunc); 231 for (int t = 0; t < 1 0; t++) {232 for (int t = 0; t < 1; t++) { 232 233 double[] cStart = constants.Select(_ => Rand.RandNormal(random) * 10).ToArray(); 233 234 double[] cEnd; … … 278 279 { 279 280 var rowData = new double[d]; 280 return HeuristicLab.Common.Extensions.RSq(y, Enumerable.Range(0, N).Select(i => {281 return Math.Round(HeuristicLab.Common.Extensions.RSq(y, Enumerable.Range(0, N).Select(i => { 281 282 for (int j = 0; j < d; j++) rowData[j] = x[i, j]; 282 283 return compiledFunc.Evaluate(c, rowData); 283 })) ;284 })), 3); 284 285 } 285 286 }
Note: See TracChangeset
for help on using the changeset viewer.