Changeset 8508 for branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/RegressionSolutionErrorCharacteristicsCurveView.cs
- Timestamp:
- 08/20/12 17:24:14 (12 years ago)
- Location:
- branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis.Views
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis.Views
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Problems.DataAnalysis.Views merged: 7967,7990,8098,8100,8102,8104-8105,8125,8139,8173,8176,8246,8435,8453,8485
- Property svn:mergeinfo changed
-
branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/RegressionSolutionErrorCharacteristicsCurveView.cs
r7866 r8508 26 26 using System.Windows.Forms.DataVisualization.Charting; 27 27 using HeuristicLab.MainForm; 28 using HeuristicLab.MainForm.WindowsForms;29 28 30 29 namespace HeuristicLab.Problems.DataAnalysis.Views { … … 32 31 [Content(typeof(IRegressionSolution))] 33 32 public partial class RegressionSolutionErrorCharacteristicsCurveView : DataAnalysisSolutionEvaluationView { 34 private IRegressionSolution constantModel;35 33 protected const string TrainingSamples = "Training"; 36 34 protected const string TestSamples = "Test"; … … 103 101 if (Content == null) return; 104 102 103 var constantModel = CreateConstantModel(); 105 104 var originalValues = GetOriginalValues().ToList(); 106 constantModel = CreateConstantModel();107 105 var baselineEstimatedValues = GetEstimatedValues(constantModel); 108 106 var baselineResiduals = GetResiduals(originalValues, baselineEstimatedValues); … … 117 115 baselineSeries.ToolTip = "Area over Curve: " + CalculateAreaOverCurve(baselineSeries); 118 116 baselineSeries.Tag = constantModel; 117 baselineSeries.LegendToolTip = "Double-click to open model"; 119 118 chart.Series.Add(baselineSeries); 120 119 … … 131 130 UpdateSeries(estimatedValues, solutionSeries); 132 131 solutionSeries.ToolTip = "Area over Curve: " + CalculateAreaOverCurve(solutionSeries); 132 solutionSeries.LegendToolTip = "Double-click to open model"; 133 133 chart.Series.Add(solutionSeries); 134 134 } … … 169 169 switch (cmbSamples.SelectedItem.ToString()) { 170 170 case TrainingSamples: 171 originalValues = ProblemData.Dataset.GetDoubleValues(ProblemData.TargetVariable, ProblemData.TrainingIndi zes);171 originalValues = ProblemData.Dataset.GetDoubleValues(ProblemData.TargetVariable, ProblemData.TrainingIndices); 172 172 break; 173 173 case TestSamples: 174 originalValues = ProblemData.Dataset.GetDoubleValues(ProblemData.TargetVariable, ProblemData.TestIndi zes);174 originalValues = ProblemData.Dataset.GetDoubleValues(ProblemData.TargetVariable, ProblemData.TestIndices); 175 175 break; 176 176 case AllSamples: … … 201 201 } 202 202 203 protected IEnumerable<double> GetbaselineEstimatedValues(IEnumerable<double> originalValues) {204 double averageTrainingTarget = ProblemData.Dataset.GetDoubleValues(ProblemData.TargetVariable, ProblemData.TrainingIndizes).Average();205 return Enumerable.Repeat(averageTrainingTarget, originalValues.Count());206 }207 208 203 protected virtual List<double> GetResiduals(IEnumerable<double> originalValues, IEnumerable<double> estimatedValues) { 209 204 return originalValues.Zip(estimatedValues, (x, y) => Math.Abs(x - y)).ToList(); … … 239 234 240 235 private IRegressionSolution CreateConstantModel() { 241 double averageTrainingTarget = ProblemData.Dataset.GetDoubleValues(ProblemData.TargetVariable, ProblemData.TrainingIndi zes).Average();236 double averageTrainingTarget = ProblemData.Dataset.GetDoubleValues(ProblemData.TargetVariable, ProblemData.TrainingIndices).Average(); 242 237 var solution = new ConstantRegressionModel(averageTrainingTarget).CreateRegressionSolution(ProblemData); 243 238 solution.Name = "Baseline"; … … 248 243 private void chart_MouseMove(object sender, MouseEventArgs e) { 249 244 HitTestResult result = chart.HitTest(e.X, e.Y); 250 if (result.ChartElementType == ChartElementType.LegendItem) 245 if (result.ChartElementType == ChartElementType.LegendItem) { 251 246 Cursor = Cursors.Hand; 252 else247 } else { 253 248 Cursor = Cursors.Default; 249 } 254 250 } 255 251 }
Note: See TracChangeset
for help on using the changeset viewer.