Changeset 2356 for trunk/sources/HeuristicLab.Modeling/3.2
- Timestamp:
- 09/15/09 14:01:47 (15 years ago)
- Location:
- trunk/sources/HeuristicLab.Modeling/3.2
- Files:
-
- 1 edited
- 1 copied
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Modeling/3.2/DefaultClassificationOperators.cs
r2354 r2356 22 22 using HeuristicLab.Core; 23 23 using HeuristicLab.DataAnalysis; 24 using HeuristicLab.GP.Interfaces;25 24 using HeuristicLab.Operators; 26 25 using HeuristicLab.Modeling; 27 26 using HeuristicLab.Data; 28 27 29 namespace HeuristicLab. GP.StructureIdentification.Classification{30 public static class DefaultClassification AlgorithmOperators {28 namespace HeuristicLab.Modeling { 29 public static class DefaultClassificationOperators { 31 30 public static IOperator CreatePostProcessingOperator() { 31 CombinedOperator op = new CombinedOperator(); 32 op.Name = "Classification model analyzer"; 33 32 34 SequentialProcessor seq = new SequentialProcessor(); 33 seq.AddSubOperator(Default StructureIdentificationAlgorithmOperators.CreatePostProcessingOperator());35 seq.AddSubOperator(DefaultRegressionOperators.CreatePostProcessingOperator()); 34 36 35 UniformSequentialSubScopesProcessor subScopesProc = new UniformSequentialSubScopesProcessor();36 SequentialProcessor individualProc = new SequentialProcessor();37 subScopesProc.AddSubOperator(individualProc);38 seq.AddSubOperator(subScopesProc);39 37 SimpleAccuracyEvaluator trainingAccuracy = new SimpleAccuracyEvaluator(); 40 38 trainingAccuracy.Name = "TrainingAccuracyEvaluator"; … … 52 50 testAccuracy.GetVariableInfo("Values").ActualName = "TestValues"; 53 51 54 individualProc.AddSubOperator(trainingAccuracy); 55 individualProc.AddSubOperator(validationAccuracy); 56 individualProc.AddSubOperator(testAccuracy); 57 return seq; 52 SimpleConfusionMatrixEvaluator trainingConfusionMatrixEvaluator = new SimpleConfusionMatrixEvaluator(); 53 trainingConfusionMatrixEvaluator.Name = "TrainingConfusionMatrixEvaluator"; 54 trainingConfusionMatrixEvaluator.GetVariableInfo("Values").ActualName = "TrainingValues"; 55 trainingConfusionMatrixEvaluator.GetVariableInfo("ConfusionMatrix").ActualName = "TrainingConfusionMatrix"; 56 SimpleConfusionMatrixEvaluator validationConfusionMatrixEvaluator = new SimpleConfusionMatrixEvaluator(); 57 validationConfusionMatrixEvaluator.Name = "ValidationConfusionMatrixEvaluator"; 58 validationConfusionMatrixEvaluator.GetVariableInfo("Values").ActualName = "ValidationValues"; 59 validationConfusionMatrixEvaluator.GetVariableInfo("ConfusionMatrix").ActualName = "ValidationConfusionMatrix"; 60 SimpleConfusionMatrixEvaluator testConfusionMatrixEvaluator = new SimpleConfusionMatrixEvaluator(); 61 testConfusionMatrixEvaluator.Name = "TestConfusionMatrixEvaluator"; 62 testConfusionMatrixEvaluator.GetVariableInfo("Values").ActualName = "TestValues"; 63 testConfusionMatrixEvaluator.GetVariableInfo("ConfusionMatrix").ActualName = "TestConfusionMatrix"; 64 65 seq.AddSubOperator(trainingAccuracy); 66 seq.AddSubOperator(validationAccuracy); 67 seq.AddSubOperator(testAccuracy); 68 seq.AddSubOperator(trainingConfusionMatrixEvaluator); 69 seq.AddSubOperator(validationConfusionMatrixEvaluator); 70 seq.AddSubOperator(testConfusionMatrixEvaluator); 71 72 op.OperatorGraph.AddOperator(seq); 73 op.OperatorGraph.InitialOperator = seq; 74 75 return op; 58 76 } 59 77 60 78 public static IOperator CreateProblemInjector() { 61 CombinedOperator op = new CombinedOperator(); 62 op.Name = "ProblemInjector"; 63 SequentialProcessor seq = new SequentialProcessor(); 64 seq.AddSubOperator(new ProblemInjector()); 65 seq.AddSubOperator(new TargetClassesCalculator()); 66 op.OperatorGraph.AddOperator(seq); 67 op.OperatorGraph.InitialOperator = seq; 68 return op; 79 return DefaultRegressionOperators.CreateProblemInjector(); 69 80 } 70 81 71 public static void SetModelData(IAnalyzerModel model, IScope scope) { 72 model.SetResult("TrainingAccuracy", scope.GetVariableValue<DoubleData>("TrainingAccuracy", true).Data); 73 model.SetResult("ValidationAccuracy", scope.GetVariableValue<DoubleData>("ValidationAccuracy", true).Data); 74 model.SetResult("TestAccuracy", scope.GetVariableValue<DoubleData>("TestAccuracy", true).Data); 82 public static IAnalyzerModel PopulateAnalyzerModel(IScope modelScope, IAnalyzerModel model) { 83 DefaultRegressionOperators.PopulateAnalyzerModel(modelScope, model); 84 model.SetResult("TrainingAccuracy", modelScope.GetVariableValue<DoubleData>("TrainingAccuracy", false).Data); 85 model.SetResult("ValidationAccuracy", modelScope.GetVariableValue<DoubleData>("ValidationAccuracy", false).Data); 86 model.SetResult("TestAccuracy", modelScope.GetVariableValue<DoubleData>("TestAccuracy", false).Data); 87 return model; 75 88 } 76 89 } -
trunk/sources/HeuristicLab.Modeling/3.2/DefaultRegressionOperators.cs
r2354 r2356 22 22 using HeuristicLab.Core; 23 23 using HeuristicLab.DataAnalysis; 24 using HeuristicLab.GP.Interfaces;25 24 using HeuristicLab.Operators; 26 25 using HeuristicLab.Modeling; 27 using HeuristicLab.Logging;28 using HeuristicLab.Selection;29 26 using HeuristicLab.Data; 30 27 31 namespace HeuristicLab.GP.StructureIdentification { 32 public static class DefaultStructureIdentificationAlgorithmOperators { 33 public static IOperator CreateFunctionLibraryInjector() { 34 CombinedOperator op = new CombinedOperator(); 35 op.Name = "FunctionLibraryInjector"; 36 SequentialProcessor seq = new SequentialProcessor(); 37 seq.AddSubOperator(new FunctionLibraryInjector()); 38 seq.AddSubOperator(new HL3TreeEvaluatorInjector()); 39 op.OperatorGraph.AddOperator(seq); 40 op.OperatorGraph.InitialOperator = seq; 41 return op; 42 } 43 28 namespace HeuristicLab.Modeling { 29 public static class DefaultRegressionOperators { 44 30 public static IOperator CreateProblemInjector() { 45 31 CombinedOperator op = new CombinedOperator(); … … 57 43 } 58 44 59 public static IOperator CreateInitialPopulationEvaluator() {60 MeanSquaredErrorEvaluator eval = new MeanSquaredErrorEvaluator();61 eval.Name = "Evaluator";62 eval.GetVariableInfo("MSE").ActualName = "Quality";63 eval.GetVariableInfo("SamplesStart").ActualName = "ActualTrainingSamplesStart";64 eval.GetVariableInfo("SamplesEnd").ActualName = "ActualTrainingSamplesEnd";65 return eval;66 }67 68 public static IOperator CreateEvaluator() {69 return CreateInitialPopulationEvaluator();70 }71 72 public static IOperator CreateGenerationStepHook() {73 CombinedOperator op = new CombinedOperator();74 SequentialProcessor seq = new SequentialProcessor();75 UniformSequentialSubScopesProcessor subScopesProc = new UniformSequentialSubScopesProcessor();76 SequentialProcessor individualProc = new SequentialProcessor();77 MeanSquaredErrorEvaluator validationEvaluator = new MeanSquaredErrorEvaluator();78 validationEvaluator.Name = "ValidationEvaluator";79 validationEvaluator.GetVariableInfo("MSE").ActualName = "ValidationQuality";80 validationEvaluator.GetVariableInfo("SamplesStart").ActualName = "ValidationSamplesStart";81 validationEvaluator.GetVariableInfo("SamplesEnd").ActualName = "ValidationSamplesEnd";82 83 individualProc.AddSubOperator(validationEvaluator);84 85 BestSolutionStorer solutionStorer = new BestSolutionStorer();86 solutionStorer.GetVariableInfo("BestSolution").ActualName = "BestValidationSolution";87 solutionStorer.GetVariableInfo("Quality").ActualName = "ValidationQuality";88 89 BestAverageWorstQualityCalculator validationQualityCalculator = new BestAverageWorstQualityCalculator();90 validationQualityCalculator.Name = "BestAverageWorstValidationQualityCalculator";91 validationQualityCalculator.GetVariableInfo("Quality").ActualName = "ValidationQuality";92 validationQualityCalculator.GetVariableInfo("BestQuality").ActualName = "BestValidationQuality";93 validationQualityCalculator.GetVariableInfo("AverageQuality").ActualName = "AverageValidationQuality";94 validationQualityCalculator.GetVariableInfo("WorstQuality").ActualName = "WorstValidationQuality";95 96 subScopesProc.AddSubOperator(individualProc);97 98 seq.AddSubOperator(subScopesProc);99 seq.AddSubOperator(solutionStorer);100 seq.AddSubOperator(validationQualityCalculator);101 102 op.OperatorGraph.AddOperator(seq);103 op.OperatorGraph.InitialOperator = seq;104 return op;105 }106 107 45 public static IOperator CreatePostProcessingOperator() { 108 46 CombinedOperator op = new CombinedOperator(); 109 op.Name = " ModelAnalyser";47 op.Name = "Regression model analyser"; 110 48 SequentialProcessor seq = new SequentialProcessor(); 111 LeftReducer cleanUp = new LeftReducer();112 cleanUp.Name = "Reset Population";113 seq.AddSubOperator(cleanUp);114 115 SolutionExtractor extractor = new SolutionExtractor();116 extractor.GetVariableInfo("Scope").ActualName = "BestValidationSolution";117 SequentialSubScopesProcessor seqSubScopeProc = new SequentialSubScopesProcessor();118 SequentialProcessor solutionProc = new SequentialProcessor();119 120 seq.AddSubOperator(extractor);121 seq.AddSubOperator(seqSubScopeProc);122 seqSubScopeProc.AddSubOperator(solutionProc);123 124 HL3TreeEvaluatorInjector evaluatorInjector = new HL3TreeEvaluatorInjector();125 evaluatorInjector.AddVariable(new HeuristicLab.Core.Variable("PunishmentFactor", new DoubleData(1000.0)));126 evaluatorInjector.GetVariableInfo("TreeEvaluator").ActualName = "ModelAnalysisTreeEvaluator";127 128 #region simple evaluators129 SimpleEvaluator trainingEvaluator = new SimpleEvaluator();130 trainingEvaluator.Name = "TrainingEvaluator";131 trainingEvaluator.GetVariableInfo("SamplesStart").ActualName = "TrainingSamplesStart";132 trainingEvaluator.GetVariableInfo("SamplesEnd").ActualName = "TrainingSamplesEnd";133 trainingEvaluator.GetVariableInfo("Values").ActualName = "TrainingValues";134 trainingEvaluator.GetVariableInfo("TreeEvaluator").ActualName = "ModelAnalysisTreeEvaluator";135 SimpleEvaluator validationEvaluator = new SimpleEvaluator();136 validationEvaluator.Name = "ValidationEvaluator";137 validationEvaluator.GetVariableInfo("SamplesStart").ActualName = "ValidationSamplesStart";138 validationEvaluator.GetVariableInfo("SamplesEnd").ActualName = "ValidationSamplesEnd";139 validationEvaluator.GetVariableInfo("Values").ActualName = "ValidationValues";140 validationEvaluator.GetVariableInfo("TreeEvaluator").ActualName = "ModelAnalysisTreeEvaluator";141 SimpleEvaluator testEvaluator = new SimpleEvaluator();142 testEvaluator.Name = "TestEvaluator";143 testEvaluator.GetVariableInfo("SamplesStart").ActualName = "TestSamplesStart";144 testEvaluator.GetVariableInfo("SamplesEnd").ActualName = "TestSamplesEnd";145 testEvaluator.GetVariableInfo("Values").ActualName = "TestValues";146 testEvaluator.GetVariableInfo("TreeEvaluator").ActualName = "ModelAnalysisTreeEvaluator";147 #endregion148 49 #region MSE 149 50 SimpleMSEEvaluator trainingMseEvaluator = new SimpleMSEEvaluator(); … … 217 118 #endregion 218 119 219 solutionProc.AddSubOperator(evaluatorInjector); 220 solutionProc.AddSubOperator(trainingEvaluator); 221 solutionProc.AddSubOperator(validationEvaluator); 222 solutionProc.AddSubOperator(testEvaluator); 223 solutionProc.AddSubOperator(trainingMseEvaluator); 224 solutionProc.AddSubOperator(validationMseEvaluator); 225 solutionProc.AddSubOperator(testMseEvaluator); 226 solutionProc.AddSubOperator(trainingMapeEvaluator); 227 solutionProc.AddSubOperator(validationMapeEvaluator); 228 solutionProc.AddSubOperator(testMapeEvaluator); 229 solutionProc.AddSubOperator(trainingMapreEvaluator); 230 solutionProc.AddSubOperator(validationMapreEvaluator); 231 solutionProc.AddSubOperator(testMapreEvaluator); 232 solutionProc.AddSubOperator(trainingR2Evaluator); 233 solutionProc.AddSubOperator(validationR2Evaluator); 234 solutionProc.AddSubOperator(testR2Evaluator); 235 solutionProc.AddSubOperator(trainingVAFEvaluator); 236 solutionProc.AddSubOperator(validationVAFEvaluator); 237 solutionProc.AddSubOperator(testVAFEvaluator); 120 seq.AddSubOperator(trainingMseEvaluator); 121 seq.AddSubOperator(validationMseEvaluator); 122 seq.AddSubOperator(testMseEvaluator); 123 seq.AddSubOperator(trainingMapeEvaluator); 124 seq.AddSubOperator(validationMapeEvaluator); 125 seq.AddSubOperator(testMapeEvaluator); 126 seq.AddSubOperator(trainingMapreEvaluator); 127 seq.AddSubOperator(validationMapreEvaluator); 128 seq.AddSubOperator(testMapreEvaluator); 129 seq.AddSubOperator(trainingR2Evaluator); 130 seq.AddSubOperator(validationR2Evaluator); 131 seq.AddSubOperator(testR2Evaluator); 132 seq.AddSubOperator(trainingVAFEvaluator); 133 seq.AddSubOperator(validationVAFEvaluator); 134 seq.AddSubOperator(testVAFEvaluator); 238 135 239 136 #region variable impacts 240 // calculate and set variable impacts241 VariableNamesExtractor namesExtractor = new VariableNamesExtractor();242 namesExtractor.GetVariableInfo("VariableNames").ActualName = "InputVariableNames";243 PredictorBuilder predictorBuilder = new PredictorBuilder();244 predictorBuilder.GetVariableInfo("TreeEvaluator").ActualName = "ModelAnalysisTreeEvaluator";245 246 137 VariableEvaluationImpactCalculator evaluationImpactCalculator = new VariableEvaluationImpactCalculator(); 247 138 evaluationImpactCalculator.GetVariableInfo("SamplesStart").ActualName = "TrainingSamplesStart"; … … 251 142 qualityImpactCalculator.GetVariableInfo("SamplesEnd").ActualName = "TrainingSamplesEnd"; 252 143 253 solutionProc.AddSubOperator(namesExtractor); 254 solutionProc.AddSubOperator(predictorBuilder); 255 solutionProc.AddSubOperator(evaluationImpactCalculator); 256 solutionProc.AddSubOperator(qualityImpactCalculator); 144 seq.AddSubOperator(evaluationImpactCalculator); 145 seq.AddSubOperator(qualityImpactCalculator); 257 146 #endregion 258 147 … … 262 151 } 263 152 264 public static IAnalyzerModel CreateGPModel(IScope bestModelScope) { 265 IAnalyzerModel model = new AnalyzerModel(); 266 model.Predictor = bestModelScope.GetVariableValue<IPredictor>("Predictor", true); 267 Dataset ds = bestModelScope.GetVariableValue<Dataset>("Dataset", true); 153 public static IAnalyzerModel PopulateAnalyzerModel(IScope modelScope, IAnalyzerModel model) { 154 model.Predictor = modelScope.GetVariableValue<IPredictor>("Predictor", false); 155 Dataset ds = modelScope.GetVariableValue<Dataset>("Dataset", true); 268 156 model.Dataset = ds; 269 model.TargetVariable = ds.GetVariableName( bestModelScope.GetVariableValue<IntData>("TargetVariable", true).Data);270 model.TrainingSamplesStart = bestModelScope.GetVariableValue<IntData>("TrainingSamplesStart", true).Data;271 model.TrainingSamplesEnd = bestModelScope.GetVariableValue<IntData>("TrainingSamplesEnd", true).Data;272 model.ValidationSamplesStart = bestModelScope.GetVariableValue<IntData>("ValidationSamplesStart", true).Data;273 model.ValidationSamplesEnd = bestModelScope.GetVariableValue<IntData>("ValidationSamplesEnd", true).Data;274 model.TestSamplesStart = bestModelScope.GetVariableValue<IntData>("TestSamplesStart", true).Data;275 model.TestSamplesEnd = bestModelScope.GetVariableValue<IntData>("TestSamplesEnd", true).Data;157 model.TargetVariable = ds.GetVariableName(modelScope.GetVariableValue<IntData>("TargetVariable", true).Data); 158 model.TrainingSamplesStart = modelScope.GetVariableValue<IntData>("TrainingSamplesStart", true).Data; 159 model.TrainingSamplesEnd = modelScope.GetVariableValue<IntData>("TrainingSamplesEnd", true).Data; 160 model.ValidationSamplesStart = modelScope.GetVariableValue<IntData>("ValidationSamplesStart", true).Data; 161 model.ValidationSamplesEnd = modelScope.GetVariableValue<IntData>("ValidationSamplesEnd", true).Data; 162 model.TestSamplesStart = modelScope.GetVariableValue<IntData>("TestSamplesStart", true).Data; 163 model.TestSamplesEnd = modelScope.GetVariableValue<IntData>("TestSamplesEnd", true).Data; 276 164 277 model.SetResult("TrainingMeanSquaredError", bestModelScope.GetVariableValue<DoubleData>("TrainingMSE", false).Data);278 model.SetResult("ValidationMeanSquaredError", bestModelScope.GetVariableValue<DoubleData>("ValidationMSE", false).Data);279 model.SetResult("TestMeanSquaredError", bestModelScope.GetVariableValue<DoubleData>("TestMSE", false).Data);280 model.SetResult("TrainingCoefficientOfDetermination", bestModelScope.GetVariableValue<DoubleData>("TrainingR2", false).Data);281 model.SetResult("ValidationCoefficientOfDetermination", bestModelScope.GetVariableValue<DoubleData>("ValidationR2", false).Data);282 model.SetResult("TestCoefficientOfDetermination", bestModelScope.GetVariableValue<DoubleData>("TestR2", false).Data);283 model.SetResult("TrainingMeanAbsolutePercentageError", bestModelScope.GetVariableValue<DoubleData>("TrainingMAPE", false).Data);284 model.SetResult("ValidationMeanAbsolutePercentageError", bestModelScope.GetVariableValue<DoubleData>("ValidationMAPE", false).Data);285 model.SetResult("TestMeanAbsolutePercentageError", bestModelScope.GetVariableValue<DoubleData>("TestMAPE", false).Data);286 model.SetResult("TrainingMeanAbsolutePercentageOfRangeError", bestModelScope.GetVariableValue<DoubleData>("TrainingMAPRE", false).Data);287 model.SetResult("ValidationMeanAbsolutePercentageOfRangeError", bestModelScope.GetVariableValue<DoubleData>("ValidationMAPRE", false).Data);288 model.SetResult("TestMeanAbsolutePercentageOfRangeError", bestModelScope.GetVariableValue<DoubleData>("TestMAPRE", false).Data);289 model.SetResult("TrainingVarianceAccountedFor", bestModelScope.GetVariableValue<DoubleData>("TrainingVAF", false).Data);290 model.SetResult("ValidationVarianceAccountedFor", bestModelScope.GetVariableValue<DoubleData>("ValidationVAF", false).Data);291 model.SetResult("TestVarianceAccountedFor", bestModelScope.GetVariableValue<DoubleData>("TestVAF", false).Data);165 model.SetResult("TrainingMeanSquaredError", modelScope.GetVariableValue<DoubleData>("TrainingMSE", false).Data); 166 model.SetResult("ValidationMeanSquaredError", modelScope.GetVariableValue<DoubleData>("ValidationMSE", false).Data); 167 model.SetResult("TestMeanSquaredError", modelScope.GetVariableValue<DoubleData>("TestMSE", false).Data); 168 model.SetResult("TrainingCoefficientOfDetermination", modelScope.GetVariableValue<DoubleData>("TrainingR2", false).Data); 169 model.SetResult("ValidationCoefficientOfDetermination", modelScope.GetVariableValue<DoubleData>("ValidationR2", false).Data); 170 model.SetResult("TestCoefficientOfDetermination", modelScope.GetVariableValue<DoubleData>("TestR2", false).Data); 171 model.SetResult("TrainingMeanAbsolutePercentageError", modelScope.GetVariableValue<DoubleData>("TrainingMAPE", false).Data); 172 model.SetResult("ValidationMeanAbsolutePercentageError", modelScope.GetVariableValue<DoubleData>("ValidationMAPE", false).Data); 173 model.SetResult("TestMeanAbsolutePercentageError", modelScope.GetVariableValue<DoubleData>("TestMAPE", false).Data); 174 model.SetResult("TrainingMeanAbsolutePercentageOfRangeError", modelScope.GetVariableValue<DoubleData>("TrainingMAPRE", false).Data); 175 model.SetResult("ValidationMeanAbsolutePercentageOfRangeError", modelScope.GetVariableValue<DoubleData>("ValidationMAPRE", false).Data); 176 model.SetResult("TestMeanAbsolutePercentageOfRangeError", modelScope.GetVariableValue<DoubleData>("TestMAPRE", false).Data); 177 model.SetResult("TrainingVarianceAccountedFor", modelScope.GetVariableValue<DoubleData>("TrainingVAF", false).Data); 178 model.SetResult("ValidationVarianceAccountedFor", modelScope.GetVariableValue<DoubleData>("ValidationVAF", false).Data); 179 model.SetResult("TestVarianceAccountedFor", modelScope.GetVariableValue<DoubleData>("TestVAF", false).Data); 292 180 293 model.SetMetaData("EvaluatedSolutions", bestModelScope.GetVariableValue<DoubleData>("EvaluatedSolutions", true).Data); 294 IGeneticProgrammingModel gpModel = bestModelScope.GetVariableValue<IGeneticProgrammingModel>("FunctionTree", true); 295 model.SetMetaData("TreeSize", gpModel.Size); 296 model.SetMetaData("TreeHeight", gpModel.Height); 297 298 ItemList evaluationImpacts = bestModelScope.GetVariableValue<ItemList>("VariableEvaluationImpacts", false); 299 ItemList qualityImpacts = bestModelScope.GetVariableValue<ItemList>("VariableQualityImpacts", false); 181 ItemList evaluationImpacts = modelScope.GetVariableValue<ItemList>("VariableEvaluationImpacts", false); 182 ItemList qualityImpacts = modelScope.GetVariableValue<ItemList>("VariableQualityImpacts", false); 300 183 foreach (ItemList row in evaluationImpacts) { 301 184 string variableName = ((StringData)row[0]).Data; -
trunk/sources/HeuristicLab.Modeling/3.2/DefaultTimeSeriesOperators.cs
r2354 r2356 22 22 using HeuristicLab.Core; 23 23 using HeuristicLab.DataAnalysis; 24 using HeuristicLab.GP.Interfaces;25 24 using HeuristicLab.Operators; 26 25 using HeuristicLab.Modeling; 27 using HeuristicLab.Logging;28 26 using HeuristicLab.Data; 29 27 30 namespace HeuristicLab.GP.StructureIdentification.TimeSeries { 31 internal static class DefaultTimeSeriesOperators { 32 internal static IOperator CreateFunctionLibraryInjector() { 33 CombinedOperator op = new CombinedOperator(); 34 op.Name = "FunctionLibraryInjector"; 35 SequentialProcessor seq = new SequentialProcessor(); 36 FunctionLibraryInjector funLibInjector = new FunctionLibraryInjector(); 37 funLibInjector.GetVariable("Differentials").Value = new BoolData(true); 38 seq.AddSubOperator(funLibInjector); 39 seq.AddSubOperator(new HL3TreeEvaluatorInjector()); 40 op.OperatorGraph.AddOperator(seq); 41 op.OperatorGraph.InitialOperator = seq; 42 return op; 43 } 44 45 internal static IOperator CreateProblemInjector() { 28 namespace HeuristicLab.Modeling { 29 public static class DefaultTimeSeriesOperators { 30 public static IOperator CreateProblemInjector() { 46 31 CombinedOperator op = new CombinedOperator(); 47 32 op.Name = "ProblemInjector"; … … 53 38 } 54 39 55 internal static IOperator CreatePostProcessingOperator() { 40 public static IOperator CreatePostProcessingOperator() { 41 CombinedOperator op = new CombinedOperator(); 42 op.Name = "Time series prognosis model analyzer"; 43 56 44 SequentialProcessor seq = new SequentialProcessor(); 57 seq.AddSubOperator(DefaultStructureIdentificationAlgorithmOperators.CreatePostProcessingOperator()); 58 59 UniformSequentialSubScopesProcessor subScopesProc = new UniformSequentialSubScopesProcessor(); 60 SequentialProcessor individualProc = new SequentialProcessor(); 61 subScopesProc.AddSubOperator(individualProc); 62 seq.AddSubOperator(subScopesProc); 45 seq.AddSubOperator(DefaultRegressionOperators.CreatePostProcessingOperator()); 63 46 64 47 SimpleTheilInequalityCoefficientEvaluator trainingTheil = new SimpleTheilInequalityCoefficientEvaluator(); … … 75 58 testTheil.GetVariableInfo("TheilInequalityCoefficient").ActualName = "TestTheilInequalityCoefficient"; 76 59 77 individualProc.AddSubOperator(trainingTheil); 78 individualProc.AddSubOperator(validationTheil); 79 individualProc.AddSubOperator(testTheil); 80 return seq; 60 seq.AddSubOperator(trainingTheil); 61 seq.AddSubOperator(validationTheil); 62 seq.AddSubOperator(testTheil); 63 64 op.OperatorGraph.AddOperator(seq); 65 op.OperatorGraph.InitialOperator = seq; 66 return op; 81 67 } 82 68 83 internal static void SetModelData(IAnalyzerModel model, IScope scope) { 84 model.SetResult("TrainingTheilInequalityCoefficient", scope.GetVariableValue<DoubleData>("TrainingTheilInequalityCoefficient", true).Data); 85 model.SetResult("ValidationTheilInequalityCoefficient", scope.GetVariableValue<DoubleData>("ValidationTheilInequalityCoefficient", true).Data); 86 model.SetResult("TestTheilInequalityCoefficient", scope.GetVariableValue<DoubleData>("TestTheilInequalityCoefficient", true).Data); 69 public static IAnalyzerModel PopulateAnalyzerModel(IScope modelScope, IAnalyzerModel model) { 70 DefaultRegressionOperators.PopulateAnalyzerModel(modelScope, model); 71 model.SetResult("TrainingTheilInequalityCoefficient", modelScope.GetVariableValue<DoubleData>("TrainingTheilInequalityCoefficient", true).Data); 72 model.SetResult("ValidationTheilInequalityCoefficient", modelScope.GetVariableValue<DoubleData>("ValidationTheilInequalityCoefficient", true).Data); 73 model.SetResult("TestTheilInequalityCoefficient", modelScope.GetVariableValue<DoubleData>("TestTheilInequalityCoefficient", true).Data); 74 75 return model; 87 76 } 88 77 } -
trunk/sources/HeuristicLab.Modeling/3.2/HeuristicLab.Modeling-3.2.csproj
r2351 r2356 84 84 <Compile Include="AnalyzerModel.cs" /> 85 85 <Compile Include="BestSolutionStorer.cs" /> 86 <Compile Include="DefaultClassificationOperators.cs" /> 87 <Compile Include="DefaultRegressionOperators.cs" /> 88 <Compile Include="DefaultTimeSeriesOperators.cs" /> 86 89 <Compile Include="SimpleAccuracyEvaluator.cs" /> 87 90 <Compile Include="SimpleConfusionMatrixEvaluator.cs" /> … … 133 136 <Name>HeuristicLab.Data-3.2</Name> 134 137 </ProjectReference> 138 <ProjectReference Include="..\..\HeuristicLab.Operators\3.2\HeuristicLab.Operators-3.2.csproj"> 139 <Project>{A9983BA2-B3B2-475E-8E2C-62050B71D1C5}</Project> 140 <Name>HeuristicLab.Operators-3.2</Name> 141 </ProjectReference> 135 142 <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\HeuristicLab.PluginInfrastructure.csproj"> 136 143 <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
Note: See TracChangeset
for help on using the changeset viewer.