Changeset 5770 for branches/DataAnalysis Refactoring/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/MultiObjective/SymbolicClassificationMultiObjectiveTrainingBestSolutionAnalyzer.cs
- Timestamp:
- 03/21/11 00:19:08 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DataAnalysis Refactoring/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/MultiObjective/SymbolicClassificationMultiObjectiveTrainingBestSolutionAnalyzer.cs
r5747 r5770 20 20 #endregion 21 21 22 using System.Collections.Generic;23 using System.Linq;24 22 using HeuristicLab.Common; 25 23 using HeuristicLab.Core; 26 24 using HeuristicLab.Data; 27 25 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 28 using HeuristicLab.Operators;29 using HeuristicLab.Optimization;30 26 using HeuristicLab.Parameters; 31 27 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; … … 41 37 private const string ProblemDataParameterName = "ProblemData"; 42 38 private const string SymbolicDataAnalysisTreeInterpreterParameterName = "SymbolicDataAnalysisTreeInterpreter"; 43 private const string UpperEstimationLimitParameterName = "UpperEstimationLimit"; 44 private const string LowerEstimationLimitParameterName = "LowerEstimationLimit"; 39 private const string EstimationLimitsParameterName = "EstimationLimits"; 45 40 private const string ApplyLinearScalingParameterName = "ApplyLinearScaling"; 41 46 42 #region parameter properties 47 43 public ILookupParameter<IClassificationProblemData> ProblemDataParameter { … … 51 47 get { return (ILookupParameter<ISymbolicDataAnalysisExpressionTreeInterpreter>)Parameters[SymbolicDataAnalysisTreeInterpreterParameterName]; } 52 48 } 53 public IValueLookupParameter<DoubleValue> UpperEstimationLimitParameter { 54 get { return (IValueLookupParameter<DoubleValue>)Parameters[UpperEstimationLimitParameterName]; } 55 } 56 57 public IValueLookupParameter<DoubleValue> LowerEstimationLimitParameter { 58 get { return (IValueLookupParameter<DoubleValue>)Parameters[LowerEstimationLimitParameterName]; } 49 public IValueLookupParameter<DoubleLimit> EstimationLimitsParameter { 50 get { return (IValueLookupParameter<DoubleLimit>)Parameters[EstimationLimitsParameterName]; } 59 51 } 60 52 public IValueParameter<BoolValue> ApplyLinearScalingParameter { … … 62 54 } 63 55 #endregion 56 64 57 #region properties 65 public IClassificationProblemData ProblemData {66 get { return ProblemDataParameter.ActualValue; }67 }68 public ISymbolicDataAnalysisExpressionTreeInterpreter SymbolicDataAnalysisTreeInterpreter {69 get { return SymbolicDataAnalysisTreeInterpreterParameter.ActualValue; }70 }71 public DoubleValue UpperEstimationLimit {72 get { return UpperEstimationLimitParameter.ActualValue; }73 }74 public DoubleValue LowerEstimationLimit {75 get { return LowerEstimationLimitParameter.ActualValue; }76 }77 58 public BoolValue ApplyLinearScaling { 78 59 get { return ApplyLinearScalingParameter.Value; } … … 87 68 Parameters.Add(new LookupParameter<IClassificationProblemData>(ProblemDataParameterName, "The problem data for the symbolic classification solution.")); 88 69 Parameters.Add(new LookupParameter<ISymbolicDataAnalysisExpressionTreeInterpreter>(SymbolicDataAnalysisTreeInterpreterParameterName, "The symbolic data analysis tree interpreter for the symbolic expression tree.")); 89 Parameters.Add(new ValueLookupParameter<DoubleValue>(UpperEstimationLimitParameterName, "The upper limit for the estimated values produced by the symbolic classification model.")); 90 Parameters.Add(new ValueLookupParameter<DoubleValue>(LowerEstimationLimitParameterName, "The lower limit for the estimated values produced by the symbolic classification model.")); 70 Parameters.Add(new ValueLookupParameter<DoubleLimit>(EstimationLimitsParameterName, "The lower and upper limit for the estimated values produced by the symbolic classification model.")); 91 71 Parameters.Add(new ValueParameter<BoolValue>(ApplyLinearScalingParameterName, "Flag that indicates if the produced symbolic classification solution should be linearly scaled.", new BoolValue(false))); 92 72 } … … 96 76 97 77 protected override ISymbolicClassificationSolution CreateSolution(ISymbolicExpressionTree bestTree, double[] bestQuality) { 98 var model = new SymbolicDiscriminantFunctionClassificationModel(bestTree, SymbolicDataAnalysisTreeInterpreter , LowerEstimationLimit.Value, UpperEstimationLimit.Value);99 var solution = new SymbolicDiscriminantFunctionClassificationSolution(model, ProblemData );78 var model = new SymbolicDiscriminantFunctionClassificationModel(bestTree, SymbolicDataAnalysisTreeInterpreterParameter.ActualValue, EstimationLimitsParameter.ActualValue.Lower, EstimationLimitsParameter.ActualValue.Upper); 79 var solution = new SymbolicDiscriminantFunctionClassificationSolution(model, ProblemDataParameter.ActualValue); 100 80 if (ApplyLinearScaling.Value) { 101 81 solution.ScaleModel();
Note: See TracChangeset
for help on using the changeset viewer.