Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/07/10 10:03:21 (14 years ago)
Author:
mkommend
Message:

added draft version of classification (ticket #939)

Location:
branches/HeuristicLab.Classification/HeuristicLab.Problems.DataAnalysis.Classification/3.3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Classification/HeuristicLab.Problems.DataAnalysis.Classification/3.3

    • Property svn:ignore
      •  

        old new  
        33obj
        44HeuristicLabProblemsDataAnalysisClassifcationPlugin.cs
         5HeuristicLabProblemsDataAnalysisClassificationPlugin.cs
  • branches/HeuristicLab.Classification/HeuristicLab.Problems.DataAnalysis.Classification/3.3/Symbolic/SymbolicClassificationProblem.cs

    r4323 r4366  
    2121
    2222using System;
     23using System.Collections.Generic;
    2324using System.Linq;
    2425using HeuristicLab.Core;
     
    2829using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Creators;
    2930using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Interfaces;
     31using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Symbols;
    3032using HeuristicLab.Parameters;
    3133using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    3234using HeuristicLab.PluginInfrastructure;
    3335using HeuristicLab.Problems.DataAnalysis.Symbolic;
     36using HeuristicLab.Problems.DataAnalysis.Symbolic.Symbols;
    3437
    3538namespace HeuristicLab.Problems.DataAnalysis.Classification {
     
    5255      protected set { SymbolicExpressionTreeInterpreterParameter.Value = value; }
    5356    }
    54     public ValueParameter<ISymbolicExpressionTreeInterpreter> SymbolicExpressionTreeInterpreterParameter {
    55       get { return (ValueParameter<ISymbolicExpressionTreeInterpreter>)Parameters[SymbolicExpressionTreeInterpreterParameterName]; }
     57    public IValueParameter<ISymbolicExpressionTreeInterpreter> SymbolicExpressionTreeInterpreterParameter {
     58      get { return (IValueParameter<ISymbolicExpressionTreeInterpreter>)Parameters[SymbolicExpressionTreeInterpreterParameterName]; }
    5659    }
    5760
     
    6063      protected set { FunctionTreeGrammarParameter.Value = value; }
    6164    }
    62     public ValueParameter<ISymbolicExpressionGrammar> FunctionTreeGrammarParameter {
    63       get { return (ValueParameter<ISymbolicExpressionGrammar>)Parameters[FunctionTreeGrammarParameterName]; }
     65    public IValueParameter<ISymbolicExpressionGrammar> FunctionTreeGrammarParameter {
     66      get { return (IValueParameter<ISymbolicExpressionGrammar>)Parameters[FunctionTreeGrammarParameterName]; }
    6467    }
    6568
     
    6871      protected set { MaxExpressionLengthParameter.Value = value; }
    6972    }
    70     public ValueParameter<IntValue> MaxExpressionLengthParameter {
    71       get { return (ValueParameter<IntValue>)Parameters[MaxExpressionLengthParameterName]; }
     73    public IValueParameter<IntValue> MaxExpressionLengthParameter {
     74      get { return (IValueParameter<IntValue>)Parameters[MaxExpressionLengthParameterName]; }
    7275    }
    7376
     
    8487      protected set { UpperEstimationLimitParameter.Value = value; }
    8588    }
    86     public ValueParameter<DoubleValue> UpperEstimationLimitParameter {
    87       get { return (ValueParameter<DoubleValue>)Parameters[UpperEstimationLimitParameterName]; }
     89    public IValueParameter<DoubleValue> UpperEstimationLimitParameter {
     90      get { return (IValueParameter<DoubleValue>)Parameters[UpperEstimationLimitParameterName]; }
    8891    }
    8992
     
    9295      protected set { LowerEstimationLimitParameter.Value = value; }
    9396    }
    94     public ValueParameter<DoubleValue> LowerEstimationLimitParameter {
    95       get { return (ValueParameter<DoubleValue>)Parameters[LowerEstimationLimitParameterName]; }
     97    public IValueParameter<DoubleValue> LowerEstimationLimitParameter {
     98      get { return (IValueParameter<DoubleValue>)Parameters[LowerEstimationLimitParameterName]; }
    9699    }
    97100
     
    100103      protected set { MaxFunctionDefiningBranchesParameter.Value = value; }
    101104    }
    102     public ValueParameter<IntValue> MaxFunctionDefiningBranchesParameter {
    103       get { return (ValueParameter<IntValue>)Parameters[MaxFunctionDefiningBranchensParameterName]; }
     105    public IValueParameter<IntValue> MaxFunctionDefiningBranchesParameter {
     106      get { return (IValueParameter<IntValue>)Parameters[MaxFunctionDefiningBranchensParameterName]; }
    104107    }
    105108
     
    108111      protected set { MaxFunctionArgumentsParameter.Value = value; }
    109112    }
    110     public ValueParameter<IntValue> MaxFunctionArgumentsParameter {
    111       get { return (ValueParameter<IntValue>)Parameters[MaxFunctionArgumentsParameterName]; }
     113    public IValueParameter<IntValue> MaxFunctionArgumentsParameter {
     114      get { return (IValueParameter<IntValue>)Parameters[MaxFunctionArgumentsParameterName]; }
    112115    }
    113116
     
    225228      Operators.AddRange(ApplicationManager.Manager.GetInstances<ISymbolicExpressionTreeOperator>().OfType<IOperator>());
    226229      Operators.Add(new MinAverageMaxSymbolicExpressionTreeSizeAnalyzer());
     230      Operators.Add(new ValidationBestSymbolicClassificationSolutionAnalyzer());
    227231    }
    228232
     
    249253
    250254    private void ParameterizeGrammar() {
     255      List<LaggedVariable> laggedSymbols = FunctionTreeGrammar.Symbols.OfType<LaggedVariable>().ToList();
     256      foreach (Symbol symbol in laggedSymbols)
     257        FunctionTreeGrammar.RemoveSymbol(symbol);
    251258      foreach (var varSymbol in FunctionTreeGrammar.Symbols.OfType<HeuristicLab.Problems.DataAnalysis.Symbolic.Symbols.Variable>()) {
    252259        varSymbol.VariableNames = ClassificationProblemData.InputVariables.CheckedItems.Select(x => x.Value.Value);
     
    287294
    288295    private void ParameterizeAnalyzers() {
    289 
     296      foreach (ISymbolicExpressionTreeAnalyzer analyzer in Operators.OfType<ISymbolicExpressionTreeAnalyzer>()) {
     297        analyzer.SymbolicExpressionTreeParameter.ActualName = SolutionCreator.SymbolicExpressionTreeParameter.ActualName;
     298        var bestValidationSolutionAnalyzer = analyzer as ValidationBestSymbolicClassificationSolutionAnalyzer;
     299        if (bestValidationSolutionAnalyzer != null) {
     300          bestValidationSolutionAnalyzer.ClassificationProblemDataParameter.ActualName = ClassificationProblemDataParameter.Name;
     301          bestValidationSolutionAnalyzer.UpperEstimationLimitParameter.ActualName = UpperEstimationLimitParameter.Name;
     302          bestValidationSolutionAnalyzer.LowerEstimationLimitParameter.ActualName = LowerEstimationLimitParameter.Name;
     303          bestValidationSolutionAnalyzer.SymbolicExpressionTreeInterpreterParameter.ActualName = SymbolicExpressionTreeInterpreterParameter.Name;
     304          bestValidationSolutionAnalyzer.SymbolicExpressionTreeParameter.ActualName = SolutionCreator.SymbolicExpressionTreeParameter.ActualName;
     305          bestValidationSolutionAnalyzer.ValidationSamplesStartParameter.Value = ValidationSamplesStart;
     306          bestValidationSolutionAnalyzer.ValidationSamplesEndParameter.Value = ValidationSamplesEnd;
     307        }
     308      }
    290309    }
    291310    #endregion
Note: See TracChangeset for help on using the changeset viewer.