Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/14/09 17:30:02 (15 years ago)
Author:
gkronber
Message:

Worked on SVM classification engine. #625

Location:
trunk/sources/HeuristicLab.SupportVectorMachines/3.2
Files:
2 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.SupportVectorMachines/3.2/HeuristicLab.SupportVectorMachines-3.2.csproj

    r2349 r2351  
    8383  </ItemGroup>
    8484  <ItemGroup>
     85    <Compile Include="SupportVectorClassification.cs" />
    8586    <Compile Include="TimeSeriesSupportVectorRegression.cs" />
    8687    <Compile Include="PredictorView.cs">
  • trunk/sources/HeuristicLab.SupportVectorMachines/3.2/SupportVectorClassification.cs

    r2349 r2351  
    3737
    3838namespace HeuristicLab.SupportVectorMachines {
    39   public class TimeSeriesSupportVectorRegression : SupportVectorRegression {
     39  public class SupportVectorClassification : SupportVectorRegression {
    4040
    41     public override string Name { get { return "SupportVectorRegression - Time Series Prognosis"; } }
     41    public override string Name { get { return "SupportVectorClassification"; } }
    4242
    43     public int MaxTimeOffset {
    44       get { return GetVariableInjector().GetVariable("MaxTimeOffset").GetValue<IntData>().Data; }
    45       set { GetVariableInjector().GetVariable("MaxTimeOffset").GetValue<IntData>().Data = value; }
    46     }
    47 
    48     public int MinTimeOffset {
    49       get { return GetVariableInjector().GetVariable("MinTimeOffset").GetValue<IntData>().Data; }
    50       set { GetVariableInjector().GetVariable("MinTimeOffset").GetValue<IntData>().Data = value; }
    51     }
    52 
    53     public TimeSeriesSupportVectorRegression()
     43    public SupportVectorClassification()
    5444      : base() {
    55       MaxTimeOffset = 0;
    56       MinTimeOffset = 0;
    57     }
    58 
    59     protected override IOperator CreateInitialization() {
    60       SequentialProcessor seq = new SequentialProcessor();
    61       seq.Name = "Initialization";
    62       seq.AddSubOperator(CreateGlobalInjector());
    63       ProblemInjector probInjector = new ProblemInjector();
    64       seq.AddSubOperator(probInjector);
    65       seq.AddSubOperator(new RandomInjector());
    66 
    67       return seq;
    68     }
    69 
    70     protected override VariableInjector CreateGlobalInjector() {
    71       VariableInjector injector = base.CreateGlobalInjector();
    72       injector.AddVariable(new HeuristicLab.Core.Variable("MaxTimeOffset", new IntData()));
    73       injector.AddVariable(new HeuristicLab.Core.Variable("MinTimeOffset", new IntData()));
    74       return injector;
     45      SvmType = "NU_SVC";
     46      CostList = new DoubleArrayData(new double[] { 1.0 });
     47      MaxCostIndex = 1;
    7548    }
    7649
     
    8356      SequentialProcessor seqProc = new SequentialProcessor();
    8457
    85       SimpleTheilInequalityCoefficientEvaluator trainingTheilUCalculator = new SimpleTheilInequalityCoefficientEvaluator();
    86       trainingTheilUCalculator.GetVariableInfo("Values").ActualName = "TrainingValues";
    87       trainingTheilUCalculator.GetVariableInfo("TheilInequalityCoefficient").ActualName = "TrainingTheilInequalityCoefficient";
    88       SimpleTheilInequalityCoefficientEvaluator validationTheilUCalculator = new SimpleTheilInequalityCoefficientEvaluator();
    89       validationTheilUCalculator.GetVariableInfo("Values").ActualName = "ValidationValues";
    90       validationTheilUCalculator.GetVariableInfo("TheilInequalityCoefficient").ActualName = "ValidationTheilInequalityCoefficient";
    91       SimpleTheilInequalityCoefficientEvaluator testTheilUCalculator = new SimpleTheilInequalityCoefficientEvaluator();
    92       testTheilUCalculator.GetVariableInfo("Values").ActualName = "TestValues";
    93       testTheilUCalculator.GetVariableInfo("TheilInequalityCoefficient").ActualName = "TestTheilInequalityCoefficient";
     58      SupportVectorEvaluator trainingEvaluator = new SupportVectorEvaluator();
     59      trainingEvaluator.Name = "TrainingSimpleEvaluator";
     60      trainingEvaluator.GetVariableInfo("SamplesStart").ActualName = "TrainingSamplesStart";
     61      trainingEvaluator.GetVariableInfo("SamplesEnd").ActualName = "TrainingSamplesEnd";
     62      trainingEvaluator.GetVariableInfo("Values").ActualName = "TrainingValues";
    9463
    95       seqProc.AddSubOperator(trainingTheilUCalculator);
    96       seqProc.AddSubOperator(validationTheilUCalculator);
    97       seqProc.AddSubOperator(testTheilUCalculator);
     64      SimpleAccuracyEvaluator trainingAccuracyEvaluator = new SimpleAccuracyEvaluator();
     65      trainingAccuracyEvaluator.Name = "TrainingAccuracyEvaluator";
     66      trainingAccuracyEvaluator.GetVariableInfo("Values").ActualName = "TrainingValues";
     67      trainingAccuracyEvaluator.GetVariableInfo("Accuracy").ActualName = "TrainingAccuracy";
     68      SimpleAccuracyEvaluator validationAccuracyEvaluator = new SimpleAccuracyEvaluator();
     69      validationAccuracyEvaluator.Name = "ValidationAccuracyEvaluator";
     70      validationAccuracyEvaluator.GetVariableInfo("Values").ActualName = "ValidationValues";
     71      validationAccuracyEvaluator.GetVariableInfo("Accuracy").ActualName = "ValidationAccuracy";
     72      SimpleAccuracyEvaluator testAccuracyEvaluator = new SimpleAccuracyEvaluator();
     73      testAccuracyEvaluator.Name = "TestAccuracyEvaluator";
     74      testAccuracyEvaluator.GetVariableInfo("Values").ActualName = "TestValues";
     75      testAccuracyEvaluator.GetVariableInfo("Accuracy").ActualName = "TestAccuracy";
     76
     77      SimpleConfusionMatrixEvaluator trainingConfusionMatrixEvaluator = new SimpleConfusionMatrixEvaluator();
     78      trainingConfusionMatrixEvaluator.Name = "TrainingConfusionMatrixEvaluator";
     79      trainingConfusionMatrixEvaluator.GetVariableInfo("Values").ActualName = "TrainingValues";
     80      trainingConfusionMatrixEvaluator.GetVariableInfo("ConfusionMatrix").ActualName = "TrainingConfusionMatrix";
     81      SimpleConfusionMatrixEvaluator validationConfusionMatrixEvaluator = new SimpleConfusionMatrixEvaluator();
     82      validationConfusionMatrixEvaluator.Name = "ValidationConfusionMatrixEvaluator";
     83      validationConfusionMatrixEvaluator.GetVariableInfo("Values").ActualName = "ValidationValues";
     84      validationConfusionMatrixEvaluator.GetVariableInfo("ConfusionMatrix").ActualName = "ValidationConfusionMatrix";
     85      SimpleConfusionMatrixEvaluator testConfusionMatrixEvaluator = new SimpleConfusionMatrixEvaluator();
     86      testConfusionMatrixEvaluator.Name = "TestConfusionMatrixEvaluator";
     87      testConfusionMatrixEvaluator.GetVariableInfo("Values").ActualName = "TestValues";
     88      testConfusionMatrixEvaluator.GetVariableInfo("ConfusionMatrix").ActualName = "TestConfusionMatrix";
     89
     90      seqProc.AddSubOperator(trainingEvaluator);
     91      seqProc.AddSubOperator(trainingAccuracyEvaluator);
     92      seqProc.AddSubOperator(validationAccuracyEvaluator);
     93      seqProc.AddSubOperator(testAccuracyEvaluator);
     94      seqProc.AddSubOperator(trainingConfusionMatrixEvaluator);
     95      seqProc.AddSubOperator(validationConfusionMatrixEvaluator);
     96      seqProc.AddSubOperator(testConfusionMatrixEvaluator);
    9897
    9998      seq.AddSubOperator(seqSubScopeProc);
     
    109108      IAnalyzerModel model = base.CreateSVMModel(bestModelScope);
    110109
    111       model.SetResult("TrainingTheilInequalityCoefficient", bestModelScope.GetVariableValue<DoubleData>("TrainingTheilInequalityCoefficient", false).Data);
    112       model.SetResult("ValidationTheilInequalityCoefficient", bestModelScope.GetVariableValue<DoubleData>("ValidationTheilInequalityCoefficient", false).Data);
    113       model.SetResult("TestTheilInequalityCoefficient", bestModelScope.GetVariableValue<DoubleData>("TestTheilInequalityCoefficient", false).Data);
     110      model.SetResult("TrainingAccuracy", bestModelScope.GetVariableValue<DoubleData>("TrainingAccuracy", false).Data);
     111      model.SetResult("ValidationAccuracy", bestModelScope.GetVariableValue<DoubleData>("ValidationAccuracy", false).Data);
     112      model.SetResult("TestAccuracy", bestModelScope.GetVariableValue<DoubleData>("TestAccuracy", false).Data);
    114113
    115114      return model;
  • trunk/sources/HeuristicLab.SupportVectorMachines/3.2/SupportVectorRegression.cs

    r2349 r2351  
    105105      get { return GetVariableInjector().GetVariable("MaxGammaIndex").GetValue<IntData>().Data; }
    106106      set { GetVariableInjector().GetVariable("MaxGammaIndex").GetValue<IntData>().Data = value; }
     107    }
     108
     109    public string SvmType {
     110      get { return GetVariableInjector().GetVariable("Type").GetValue<StringData>().Data; }
     111      set { GetVariableInjector().GetVariable("Type").GetValue<StringData>().Data = value; }
    107112    }
    108113
Note: See TracChangeset for help on using the changeset viewer.