Changeset 8811 for branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression
- Timestamp:
- 10/16/12 09:44:07 (12 years ago)
- Location:
- branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis
- Property svn:mergeinfo changed
-
branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/ConstantRegressionModel.cs
r8534 r8811 30 30 public class ConstantRegressionModel : NamedItem, IRegressionModel { 31 31 [Storable] 32 pr ivatedouble constant;32 protected double constant; 33 33 public double Constant { 34 34 get { return constant; } -
branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionEnsembleSolution.cs
r8508 r8811 36 36 [Item("Regression Ensemble Solution", "A regression solution that contains an ensemble of multiple regression models")] 37 37 [Creatable("Data Analysis - Ensembles")] 38 public sealed class RegressionEnsembleSolution : RegressionSolution , IRegressionEnsembleSolution {38 public sealed class RegressionEnsembleSolution : RegressionSolutionBase, IRegressionEnsembleSolution { 39 39 private readonly Dictionary<int, double> trainingEvaluationCache = new Dictionary<int, double>(); 40 40 private readonly Dictionary<int, double> testEvaluationCache = new Dictionary<int, double>(); 41 private readonly Dictionary<int, double> evaluationCache = new Dictionary<int, double>(); 41 42 42 43 public new IRegressionEnsembleModel Model { … … 155 156 } 156 157 157 protected override void RecalculateResults() {158 CalculateResults();159 }160 161 158 #region Evaluation 159 public override IEnumerable<double> EstimatedValues { 160 get { return GetEstimatedValues(Enumerable.Range(0, ProblemData.Dataset.Rows)); } 161 } 162 162 163 public override IEnumerable<double> EstimatedTrainingValues { 163 164 get { -
branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionProblem.cs
r7866 r8811 36 36 public override IDeepCloneable Clone(Cloner cloner) { return new RegressionProblem(this, cloner); } 37 37 38 public RegressionProblem() 39 : base() { 40 ProblemData = new RegressionProblemData(); 41 } 38 public RegressionProblem() : base(new RegressionProblemData()) { } 39 42 40 } 43 41 } -
branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionSolution.cs
r8508 r8811 45 45 : base(model, problemData) { 46 46 evaluationCache = new Dictionary<int, double>(problemData.Dataset.Rows); 47 CalculateRegressionResults(); 47 48 } 48 49 49 protected override void RecalculateResults() {50 CalculateResults();51 }52 50 53 51 public override IEnumerable<double> EstimatedValues { -
branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionSolutionBase.cs
r8508 r8811 29 29 [StorableClass] 30 30 public abstract class RegressionSolutionBase : DataAnalysisSolution, IRegressionSolution { 31 private const string TrainingMeanSquaredErrorResultName = "Mean squared error (training)"; 32 private const string TestMeanSquaredErrorResultName = "Mean squared error (test)"; 33 private const string TrainingMeanAbsoluteErrorResultName = "Mean absolute error (training)"; 34 private const string TestMeanAbsoluteErrorResultName = "Mean absolute error (test)"; 35 private const string TrainingSquaredCorrelationResultName = "Pearson's R² (training)"; 36 private const string TestSquaredCorrelationResultName = "Pearson's R² (test)"; 37 private const string TrainingRelativeErrorResultName = "Average relative error (training)"; 38 private const string TestRelativeErrorResultName = "Average relative error (test)"; 39 private const string TrainingNormalizedMeanSquaredErrorResultName = "Normalized mean squared error (training)"; 40 private const string TestNormalizedMeanSquaredErrorResultName = "Normalized mean squared error (test)"; 41 private const string TrainingMeanErrorResultName = "Mean error (training)"; 42 private const string TestMeanErrorResultName = "Mean error (test)"; 31 protected const string TrainingMeanSquaredErrorResultName = "Mean squared error (training)"; 32 protected const string TestMeanSquaredErrorResultName = "Mean squared error (test)"; 33 protected const string TrainingMeanAbsoluteErrorResultName = "Mean absolute error (training)"; 34 protected const string TestMeanAbsoluteErrorResultName = "Mean absolute error (test)"; 35 protected const string TrainingSquaredCorrelationResultName = "Pearson's R² (training)"; 36 protected const string TestSquaredCorrelationResultName = "Pearson's R² (test)"; 37 protected const string TrainingRelativeErrorResultName = "Average relative error (training)"; 38 protected const string TestRelativeErrorResultName = "Average relative error (test)"; 39 protected const string TrainingNormalizedMeanSquaredErrorResultName = "Normalized mean squared error (training)"; 40 protected const string TestNormalizedMeanSquaredErrorResultName = "Normalized mean squared error (test)"; 41 protected const string TrainingMeanErrorResultName = "Mean error (training)"; 42 protected const string TestMeanErrorResultName = "Mean error (test)"; 43 44 protected const string TrainingMeanSquaredErrorResultDescription = "Mean of squared errors of the model on the training partition"; 45 protected const string TestMeanSquaredErrorResultDescription = "Mean of squared errors of the model on the test partition"; 46 protected const string TrainingMeanAbsoluteErrorResultDescription = "Mean of absolute errors of the model on the training partition"; 47 protected const string TestMeanAbsoluteErrorResultDescription = "Mean of absolute errors of the model on the test partition"; 48 protected const string TrainingSquaredCorrelationResultDescription = "Squared Pearson's correlation coefficient of the model output and the actual values on the training partition"; 49 protected const string TestSquaredCorrelationResultDescription = "Squared Pearson's correlation coefficient of the model output and the actual values on the test partition"; 50 protected const string TrainingRelativeErrorResultDescription = "Average of the relative errors of the model output and the actual values on the training partition"; 51 protected const string TestRelativeErrorResultDescription = "Average of the relative errors of the model output and the actual values on the test partition"; 52 protected const string TrainingNormalizedMeanSquaredErrorResultDescription = "Normalized mean of squared errors of the model on the training partition"; 53 protected const string TestNormalizedMeanSquaredErrorResultDescription = "Normalized mean of squared errors of the model on the test partition"; 54 protected const string TrainingMeanErrorResultDescription = "Mean of errors of the model on the training partition"; 55 protected const string TestMeanErrorResultDescription = "Mean of errors of the model on the test partition"; 43 56 44 57 public new IRegressionModel Model { … … 115 128 protected RegressionSolutionBase(IRegressionModel model, IRegressionProblemData problemData) 116 129 : base(model, problemData) { 117 Add(new Result(TrainingMeanSquaredErrorResultName, "Mean of squared errors of the model on the training partition", new DoubleValue()));118 Add(new Result(TestMeanSquaredErrorResultName, "Mean of squared errors of the model on the test partition", new DoubleValue()));119 Add(new Result(TrainingMeanAbsoluteErrorResultName, "Mean of absolute errors of the model on the training partition", new DoubleValue()));120 Add(new Result(TestMeanAbsoluteErrorResultName, "Mean of absolute errors of the model on the test partition", new DoubleValue()));121 Add(new Result(TrainingSquaredCorrelationResultName, "Squared Pearson's correlation coefficient of the model output and the actual values on the training partition", new DoubleValue()));122 Add(new Result(TestSquaredCorrelationResultName, "Squared Pearson's correlation coefficient of the model output and the actual values on the test partition", new DoubleValue()));123 Add(new Result(TrainingRelativeErrorResultName, "Average of the relative errors of the model output and the actual values on the training partition", new PercentValue()));124 Add(new Result(TestRelativeErrorResultName, "Average of the relative errors of the model output and the actual values on the test partition", new PercentValue()));125 Add(new Result(TrainingNormalizedMeanSquaredErrorResultName, "Normalized mean of squared errors of the model on the training partition", new DoubleValue()));126 Add(new Result(TestNormalizedMeanSquaredErrorResultName, "Normalized mean of squared errors of the model on the test partition", new DoubleValue()));127 Add(new Result(TrainingMeanErrorResultName, "Mean of errors of the model on the training partition", new DoubleValue()));128 Add(new Result(TestMeanErrorResultName, "Mean of errors of the model on the test partition", new DoubleValue()));130 Add(new Result(TrainingMeanSquaredErrorResultName, TrainingMeanSquaredErrorResultDescription, new DoubleValue())); 131 Add(new Result(TestMeanSquaredErrorResultName, TestMeanSquaredErrorResultDescription, new DoubleValue())); 132 Add(new Result(TrainingMeanAbsoluteErrorResultName, TrainingMeanAbsoluteErrorResultDescription, new DoubleValue())); 133 Add(new Result(TestMeanAbsoluteErrorResultName, TestMeanAbsoluteErrorResultDescription, new DoubleValue())); 134 Add(new Result(TrainingSquaredCorrelationResultName, TrainingSquaredCorrelationResultDescription, new DoubleValue())); 135 Add(new Result(TestSquaredCorrelationResultName, TestSquaredCorrelationResultDescription, new DoubleValue())); 136 Add(new Result(TrainingRelativeErrorResultName, TrainingRelativeErrorResultDescription, new PercentValue())); 137 Add(new Result(TestRelativeErrorResultName, TestRelativeErrorResultDescription, new PercentValue())); 138 Add(new Result(TrainingNormalizedMeanSquaredErrorResultName, TrainingNormalizedMeanSquaredErrorResultDescription, new DoubleValue())); 139 Add(new Result(TestNormalizedMeanSquaredErrorResultName, TestNormalizedMeanSquaredErrorResultDescription, new DoubleValue())); 140 Add(new Result(TrainingMeanErrorResultName, TrainingMeanErrorResultDescription, new DoubleValue())); 141 Add(new Result(TestMeanErrorResultName, TestMeanErrorResultDescription, new DoubleValue())); 129 142 } 130 143 … … 164 177 } 165 178 166 protected void CalculateResults() { 179 protected override void RecalculateResults() { 180 CalculateRegressionResults(); 181 } 182 183 protected void CalculateRegressionResults() { 167 184 IEnumerable<double> estimatedTrainingValues = EstimatedTrainingValues; // cache values 168 185 IEnumerable<double> originalTrainingValues = ProblemData.Dataset.GetDoubleValues(ProblemData.TargetVariable, ProblemData.TrainingIndices);
Note: See TracChangeset
for help on using the changeset viewer.