Changeset 12031 for branches/HeuristicLab.DatasetRefactor/sources/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ClassificationSolutionBase.cs
- Timestamp:
- 02/18/15 10:54:32 (10 years ago)
- Location:
- branches/HeuristicLab.DatasetRefactor/sources
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.DatasetRefactor/sources
- Property svn:mergeinfo changed
-
branches/HeuristicLab.DatasetRefactor/sources/HeuristicLab.Problems.DataAnalysis
- Property svn:mergeinfo changed
-
branches/HeuristicLab.DatasetRefactor/sources/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ClassificationSolutionBase.cs
r11171 r12031 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 4Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 34 34 private const string TrainingNormalizedGiniCoefficientResultName = "Normalized Gini Coefficient (training)"; 35 35 private const string TestNormalizedGiniCoefficientResultName = "Normalized Gini Coefficient (test)"; 36 private const string ClassificationPerformanceMeasuresResultName = "Classification Performance Measures"; 36 37 37 38 public new IClassificationModel Model { … … 62 63 protected set { ((DoubleValue)this[TestNormalizedGiniCoefficientResultName].Value).Value = value; } 63 64 } 65 public ClassificationPerformanceMeasuresResultCollection ClassificationPerformanceMeasures { 66 get { return ((ClassificationPerformanceMeasuresResultCollection)this[ClassificationPerformanceMeasuresResultName].Value); } 67 protected set { (this[ClassificationPerformanceMeasuresResultName].Value) = value; } 68 } 64 69 #endregion 65 70 … … 75 80 Add(new Result(TrainingNormalizedGiniCoefficientResultName, "Normalized Gini coefficient of the model on the training partition.", new DoubleValue())); 76 81 Add(new Result(TestNormalizedGiniCoefficientResultName, "Normalized Gini coefficient of the model on the test partition.", new DoubleValue())); 82 Add(new Result(ClassificationPerformanceMeasuresResultName, @"Classification performance measures.\n 83 In a multiclass classification all misclassifications of the negative class will be treated as true negatives except on positive class estimations.", 84 new ClassificationPerformanceMeasuresResultCollection())); 77 85 } 78 86 … … 83 91 if (!this.ContainsKey(TestNormalizedGiniCoefficientResultName)) 84 92 Add(new Result(TestNormalizedGiniCoefficientResultName, "Normalized Gini coefficient of the model on the test partition.", new DoubleValue())); 93 if (!this.ContainsKey(ClassificationPerformanceMeasuresResultName)) { 94 Add(new Result(ClassificationPerformanceMeasuresResultName, @"Classification performance measures.\n 95 In a multiclass classification all misclassifications of the negative class will be treated as true negatives except on positive class estimations.", 96 new ClassificationPerformanceMeasuresResultCollection())); 97 CalculateClassificationResults(); 98 } 85 99 } 86 100 … … 88 102 double[] estimatedTrainingClassValues = EstimatedTrainingClassValues.ToArray(); // cache values 89 103 double[] originalTrainingClassValues = ProblemData.Dataset.GetDoubleValues(ProblemData.TargetVariable, ProblemData.TrainingIndices).ToArray(); 104 90 105 double[] estimatedTestClassValues = EstimatedTestClassValues.ToArray(); // cache values 91 106 double[] originalTestClassValues = ProblemData.Dataset.GetDoubleValues(ProblemData.TargetVariable, ProblemData.TestIndices).ToArray(); 107 108 var positiveClassName = ProblemData.PositiveClass; 109 double positiveClassValue = ProblemData.GetClassValue(positiveClassName); 110 ClassificationPerformanceMeasuresCalculator trainingPerformanceCalculator = new ClassificationPerformanceMeasuresCalculator(positiveClassName, positiveClassValue); 111 ClassificationPerformanceMeasuresCalculator testPerformanceCalculator = new ClassificationPerformanceMeasuresCalculator(positiveClassName, positiveClassValue); 92 112 93 113 OnlineCalculatorError errorState; … … 107 127 TrainingNormalizedGiniCoefficient = trainingNormalizedGini; 108 128 TestNormalizedGiniCoefficient = testNormalizedGini; 129 130 trainingPerformanceCalculator.Calculate(originalTrainingClassValues, estimatedTrainingClassValues); 131 if (trainingPerformanceCalculator.ErrorState == OnlineCalculatorError.None) 132 ClassificationPerformanceMeasures.SetTrainingResults(trainingPerformanceCalculator); 133 134 testPerformanceCalculator.Calculate(originalTestClassValues, estimatedTestClassValues); 135 if (testPerformanceCalculator.ErrorState == OnlineCalculatorError.None) 136 ClassificationPerformanceMeasures.SetTestResults(testPerformanceCalculator); 109 137 } 110 138
Note: See TracChangeset
for help on using the changeset viewer.