Changeset 2356 for trunk/sources/HeuristicLab.SupportVectorMachines/3.2/SupportVectorClassification.cs
- Timestamp:
- 09/15/09 14:01:47 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.SupportVectorMachines/3.2/SupportVectorClassification.cs
r2351 r2356 1 #region License Information 1 2 #region License Information 2 3 /* HeuristicLab 3 4 * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL) … … 37 38 38 39 namespace HeuristicLab.SupportVectorMachines { 39 public class SupportVectorClassification : SupportVectorRegression {40 public class SupportVectorClassification : SupportVectorRegression, IClassificationAlgorithm { 40 41 41 42 public override string Name { get { return "SupportVectorClassification"; } } … … 48 49 } 49 50 50 protected override IOperator CreateModelAnalyser() { 51 CombinedOperator op = new CombinedOperator(); 52 op.Name = "Model Analyzer"; 53 SequentialProcessor seq = new SequentialProcessor(); 54 seq.AddSubOperator(base.CreateModelAnalyser()); 55 SequentialSubScopesProcessor seqSubScopeProc = new SequentialSubScopesProcessor(); 56 SequentialProcessor seqProc = new SequentialProcessor(); 57 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"; 63 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); 97 98 seq.AddSubOperator(seqSubScopeProc); 99 seqSubScopeProc.AddSubOperator(seqProc); 100 101 op.OperatorGraph.AddOperator(seq); 102 op.OperatorGraph.InitialOperator = seq; 103 return op; 51 protected override IOperator CreateModelAnalyzerOperator() { 52 return DefaultClassificationOperators.CreatePostProcessingOperator(); 104 53 } 105 54 106 55 107 56 protected override IAnalyzerModel CreateSVMModel(IScope bestModelScope) { 108 IAnalyzerModel model = base.CreateSVMModel(bestModelScope); 109 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); 113 57 IAnalyzerModel model = new AnalyzerModel(); 58 model.SetMetaData("Cost", bestModelScope.GetVariableValue<DoubleData>("Cost", false).Data); 59 model.SetMetaData("Nu", bestModelScope.GetVariableValue<DoubleData>("Nu", false).Data); 60 DefaultClassificationOperators.PopulateAnalyzerModel(bestModelScope, model); 114 61 return model; 115 62 }
Note: See TracChangeset
for help on using the changeset viewer.