Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/25/17 12:38:12 (6 years ago)
Author:
pfleck
Message:

#2809: Removed experimental static-typed datacolumns. (reverse merge g15291, r15309)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DataPreprocessing Cleanup/HeuristicLab.DataPreprocessing/3.4/Content/ManipulationContent.cs

    r15309 r15431  
    5757
    5858      for (int i = 0; i < PreprocessingData.Rows; ++i) {
    59         int missingCount = 0;
    60         for (var col = 0; col < PreprocessingData.DataColumns.Count; col++) {
    61           if (!PreprocessingData.DataColumns[col].IsValidValue(i))
    62             missingCount++;
     59        int missingCount = PreprocessingData.GetRowMissingValueCount(i);
     60        if (100f / PreprocessingData.Columns * missingCount > percent) {
     61          rows.Add(i);
    6362        }
    64         if (100f / PreprocessingData.Columns * missingCount > percent)
    65           rows.Add(i);
    6663      }
    6764
     
    7269      List<int> columns = new List<int>();
    7370      for (int i = 0; i < PreprocessingData.Columns; ++i) {
    74         int missingCount = PreprocessingData.DataColumns[i].GetNumberOfMissingValues();
     71        int missingCount = PreprocessingData.GetMissingValueCount(i);
    7572        if (100f / PreprocessingData.Rows * missingCount > percent) {
    7673          columns.Add(i);
     
    8380    public List<int> ColumnsWithVarianceSmaller(double variance) {
    8481      List<int> columns = new List<int>();
    85 
    86       for (int i = 0; i < PreprocessingData.Columns; i++) {
    87         if (PreprocessingData.DataColumns[i].TypeSwitch<bool>(
    88           c => c.GetVariance() < variance,
    89           c => false,
    90           c => c.GetVariance().Ticks / TimeSpan.TicksPerSecond < variance
    91         ))
    92           columns.Add(i);
     82      for (int i = 0; i < PreprocessingData.Columns; ++i) {
     83        if (PreprocessingData.VariableHasType<double>(i)) {
     84          double columnVariance = PreprocessingData.GetVariance<double>(i);
     85          if (columnVariance < variance) {
     86            columns.Add(i);
     87          }
     88        } else if (PreprocessingData.VariableHasType<DateTime>(i)) {
     89          double columnVariance = (double)PreprocessingData.GetVariance<DateTime>(i).Ticks / TimeSpan.TicksPerSecond;
     90          if (columnVariance < variance) {
     91            columns.Add(i);
     92          }
     93        }
    9394      }
    94 
    9595      return columns;
    9696    }
     
    119119      PreprocessingData.InTransaction(() => {
    120120        foreach (int column in columns.OrderByDescending(x => x)) {
    121           PreprocessingData.DataColumns.RemoveAt(column);
     121          PreprocessingData.DeleteColumn(column);
    122122        }
    123123      });
Note: See TracChangeset for help on using the changeset viewer.