Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/30/10 10:58:01 (14 years ago)
Author:
mkommend
Message:

corrected DataAnalysis.Views.ResultsView to use an internal DoubleMatrix (ticket #1020)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/DataAnalysisSolution.cs

    r3933 r3979  
    3636  [Item("DataAnalysisSolution", "Represents a solution for a data analysis problem which can be visualized in the GUI.")]
    3737  [StorableClass]
    38   public abstract class DataAnalysisSolution : NamedItem, IStringConvertibleMatrix {
     38  public abstract class DataAnalysisSolution : NamedItem {
    3939    protected DataAnalysisSolution()
    4040      : base() { }
     
    162162      return clone;
    163163    }
    164 
    165     #region IStringConvertibleMatrix implementation
    166     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     #endregion
    209164  }
    210165}
Note: See TracChangeset for help on using the changeset viewer.