- Timestamp:
- 06/30/10 10:58:01 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/DataAnalysisSolution.cs
r3933 r3979 36 36 [Item("DataAnalysisSolution", "Represents a solution for a data analysis problem which can be visualized in the GUI.")] 37 37 [StorableClass] 38 public abstract class DataAnalysisSolution : NamedItem , IStringConvertibleMatrix{38 public abstract class DataAnalysisSolution : NamedItem { 39 39 protected DataAnalysisSolution() 40 40 : base() { } … … 162 162 return clone; 163 163 } 164 165 #region IStringConvertibleMatrix implementation166 private List<string> rowNames = new List<string>() { "MeanSquaredError", "CoefficientOfDetermination", "MeanAbsolutePercentageError" };167 private List<string> columnNames = new List<string>() { "Training", "Test" };168 private double[,] resultValues = new double[3, 2];169 int IStringConvertibleMatrix.Rows { get { return rowNames.Count; } set { } }170 int IStringConvertibleMatrix.Columns { get { return columnNames.Count; } set { } }171 IEnumerable<string> IStringConvertibleMatrix.ColumnNames { get { return columnNames; } set { } }172 IEnumerable<string> IStringConvertibleMatrix.RowNames { get { return rowNames; } set { } }173 bool IStringConvertibleMatrix.SortableView { get { return false; } set { } }174 bool IStringConvertibleMatrix.ReadOnly { get { return true; } }175 176 string IStringConvertibleMatrix.GetValue(int rowIndex, int columnIndex) {177 return resultValues[rowIndex, columnIndex].ToString();178 }179 bool IStringConvertibleMatrix.Validate(string value, out string errorMessage) {180 errorMessage = "This matrix is readonly.";181 return false;182 }183 bool IStringConvertibleMatrix.SetValue(string value, int rowIndex, int columnIndex) { return false; }184 185 protected void RecalculateResultValues() {186 IEnumerable<double> originalTrainingValues = problemData.Dataset.GetVariableValues(problemData.TargetVariable.Value, problemData.TrainingSamplesStart.Value, problemData.TrainingSamplesEnd.Value);187 IEnumerable<double> originalTestValues = problemData.Dataset.GetVariableValues(problemData.TargetVariable.Value, problemData.TestSamplesStart.Value, problemData.TestSamplesEnd.Value);188 resultValues[0, 0] = SimpleMSEEvaluator.Calculate(originalTrainingValues, EstimatedTrainingValues);189 resultValues[0, 1] = SimpleMSEEvaluator.Calculate(originalTestValues, EstimatedTestValues);190 resultValues[1, 0] = SimpleRSquaredEvaluator.Calculate(originalTrainingValues, EstimatedTrainingValues);191 resultValues[1, 1] = SimpleRSquaredEvaluator.Calculate(originalTestValues, EstimatedTestValues);192 resultValues[2, 0] = SimpleMeanAbsolutePercentageErrorEvaluator.Calculate(originalTrainingValues, EstimatedTrainingValues);193 resultValues[2, 1] = SimpleMeanAbsolutePercentageErrorEvaluator.Calculate(originalTestValues, EstimatedTestValues);194 195 this.OnReset();196 }197 198 public event EventHandler ColumnNamesChanged;199 public event EventHandler RowNamesChanged;200 public event EventHandler SortableViewChanged;201 public event EventHandler<EventArgs<int, int>> ItemChanged;202 public event EventHandler Reset;203 protected virtual void OnReset() {204 EventHandler handler = Reset;205 if (handler != null)206 handler(this, EventArgs.Empty);207 }208 #endregion209 164 } 210 165 }
Note: See TracChangeset
for help on using the changeset viewer.