Changeset 16140 for branches/2817-BinPackingSpeedup/HeuristicLab.DataPreprocessing.Views/3.4/StatisticsView.cs
- Timestamp:
- 09/14/18 11:36:59 (6 years ago)
- Location:
- branches/2817-BinPackingSpeedup
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2817-BinPackingSpeedup
- Property svn:mergeinfo changed
-
branches/2817-BinPackingSpeedup/HeuristicLab.DataPreprocessing.Views
- Property svn:mergeinfo changed
-
branches/2817-BinPackingSpeedup/HeuristicLab.DataPreprocessing.Views/3.4/StatisticsView.cs
r15210 r16140 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 6Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 87 87 88 88 private void UpdateData(Dictionary<string, bool> oldVisibility = null) { 89 var logic = Content.StatisticsLogic;90 rowsTextBox.Text = logic.GetRowCount().ToString();91 columnsTextBox.Text = logic.GetColumnCount().ToString();92 numericColumnsTextBox.Text = logic.GetNumericColumnCount().ToString();93 nominalColumnsTextBox5.Text = logic.GetNominalColumnCount().ToString();94 missingValuesTextBox.Text = logic.GetMissingValueCount().ToString();95 totalValuesTextBox.Text = ( logic.GetColumnCount() * logic.GetRowCount() - logic.GetMissingValueCount()).ToString();89 var data = Content.PreprocessingData; 90 rowsTextBox.Text = data.Rows.ToString(); 91 columnsTextBox.Text = data.Columns.ToString(); 92 numericColumnsTextBox.Text = GetColumnCount<double>().ToString(); 93 nominalColumnsTextBox5.Text = GetColumnCount<string>().ToString(); 94 missingValuesTextBox.Text = data.GetMissingValueCount().ToString(); 95 totalValuesTextBox.Text = (data.Rows * data.Rows - data.GetMissingValueCount()).ToString(); 96 96 97 97 var variableNames = Content.PreprocessingData.VariableNames.ToList(); … … 107 107 }; 108 108 109 for (int i = 0; i < logic.GetColumnCount(); i++) {110 var data= GetStatistics(i);111 for (int j = 0; j < data.Count; j++) {109 for (int i = 0; i < data.Columns; i++) { 110 var statistics = GetStatistics(i); 111 for (int j = 0; j < statistics.Count; j++) { 112 112 if (horizontal) 113 statisticsMatrix[j, i] = data[j];113 statisticsMatrix[j, i] = statistics[j]; 114 114 else 115 statisticsMatrix[i, j] = data[j];115 statisticsMatrix[i, j] = statistics[j]; 116 116 } 117 117 } … … 138 138 } 139 139 140 public int GetColumnCount<T>() { 141 int count = 0; 142 for (int i = 0; i < Content.PreprocessingData.Columns; ++i) { 143 if (Content.PreprocessingData.VariableHasType<T>(i)) { 144 ++count; 145 } 146 } 147 return count; 148 } 149 140 150 private List<string> GetStatistics(int varIdx) { 141 151 List<string> list; 142 var logic = Content.StatisticsLogic;143 if ( logic.VariableHasType<double>(varIdx)) {152 var data = Content.PreprocessingData; 153 if (data.VariableHasType<double>(varIdx)) { 144 154 list = GetDoubleColumns(varIdx); 145 } else if ( logic.VariableHasType<string>(varIdx)) {155 } else if (data.VariableHasType<string>(varIdx)) { 146 156 list = GetStringColumns(varIdx); 147 } else if ( logic.VariableHasType<DateTime>(varIdx)) {157 } else if (data.VariableHasType<DateTime>(varIdx)) { 148 158 list = GetDateTimeColumns(varIdx); 149 159 } else { … … 157 167 158 168 private List<string> GetDoubleColumns(int statIdx) { 159 var logic = Content.StatisticsLogic;169 var data = Content.PreprocessingData; 160 170 return new List<string> { 161 logic.GetColumnTypeAsString(statIdx),162 logic.GetMissingValueCount(statIdx).ToString(),163 logic.GetMin<double>(statIdx,double.NaN).ToString(),164 logic.GetMax<double>(statIdx,double.NaN).ToString(),165 logic.GetMedian(statIdx).ToString(),166 logic.GetAverage(statIdx).ToString(),167 logic.GetStandardDeviation(statIdx).ToString(),168 logic.GetVariance(statIdx).ToString(),169 logic.GetOneQuarterPercentile(statIdx).ToString(),170 logic.GetThreeQuarterPercentile(statIdx).ToString(),171 logic.GetMostCommonValue<double>(statIdx,double.NaN).ToString(),172 logic.GetDifferentValuesCount<double>(statIdx).ToString()171 data.GetVariableType(statIdx).Name, 172 data.GetMissingValueCount(statIdx).ToString(), 173 data.GetMin<double>(statIdx, emptyValue: double.NaN).ToString(), 174 data.GetMax<double>(statIdx, emptyValue: double.NaN).ToString(), 175 data.GetMedian<double>(statIdx, emptyValue: double.NaN).ToString(), 176 data.GetMean<double>(statIdx, emptyValue: double.NaN).ToString(), 177 data.GetStandardDeviation<double>(statIdx, emptyValue: double.NaN).ToString(), 178 data.GetVariance<double>(statIdx, emptyValue: double.NaN).ToString(), 179 data.GetQuantile<double>(0.25, statIdx, emptyValue: double.NaN).ToString(), 180 data.GetQuantile<double>(0.75, statIdx, emptyValue: double.NaN).ToString(), 181 data.GetMode<double>(statIdx, emptyValue: double.NaN).ToString(), 182 data.GetDistinctValues<double>(statIdx).ToString() 173 183 }; 174 184 } 175 185 176 186 private List<string> GetStringColumns(int statIdx) { 177 var logic = Content.StatisticsLogic;187 var data = Content.PreprocessingData; 178 188 return new List<string> { 179 logic.GetColumnTypeAsString(statIdx),180 logic.GetMissingValueCount(statIdx).ToString(),181 "", // min182 "", // max183 "", // median189 data.GetVariableType(statIdx).Name, 190 data.GetMissingValueCount(statIdx).ToString(), 191 "", // data.GetMin<string>(statIdx, emptyValue: string.Empty), //min 192 "", // data.GetMax<string>(statIdx, emptyValue: string.Empty), //max 193 "", // data.GetMedian<string>(statIdx, emptyValue: string.Empty), //median 184 194 "", //average 185 195 "", //standard deviation 186 196 "", //variance 187 "", // quarter percentile188 "", // three quarter percentile189 logic.GetMostCommonValue<string>(statIdx,string.Empty) ?? "",190 logic.GetDifferentValuesCount<string>(statIdx).ToString()197 "", // data.GetQuantile<string>(0.25, statIdx, emptyValue: string.Empty), //quarter percentile 198 "", // data.GetQuantile<string>(0.75, statIdx, emptyValue: string.Empty), //three quarter percentile 199 data.GetMode<string>(statIdx, emptyValue: string.Empty), 200 data.GetDistinctValues<string>(statIdx).ToString() 191 201 }; 192 202 } 193 203 194 204 private List<string> GetDateTimeColumns(int statIdx) { 195 var logic = Content.StatisticsLogic;205 var data = Content.PreprocessingData; 196 206 return new List<string> { 197 logic.GetColumnTypeAsString(statIdx),198 logic.GetMissingValueCount(statIdx).ToString(),199 logic.GetMin<DateTime>(statIdx, DateTime.MinValue).ToString(),200 logic.GetMax<DateTime>(statIdx, DateTime.MinValue).ToString(),201 logic.GetMedianDateTime(statIdx).ToString(),202 logic.GetAverageDateTime(statIdx).ToString(),203 logic.GetStandardDeviation(statIdx).ToString(),204 logic.GetVariance(statIdx).ToString(),205 logic.GetOneQuarterPercentile(statIdx).ToString(),206 logic.GetThreeQuarterPercentile(statIdx).ToString(),207 logic.GetMostCommonValue<DateTime>(statIdx, DateTime.MinValue).ToString(),208 logic.GetDifferentValuesCount<DateTime>(statIdx).ToString()207 data.GetVariableType(statIdx).Name, 208 data.GetMissingValueCount(statIdx).ToString(), 209 data.GetMin<DateTime>(statIdx).ToString(), 210 data.GetMax<DateTime>(statIdx).ToString(), 211 data.GetMedian<DateTime>(statIdx).ToString(), 212 data.GetMean<DateTime>(statIdx).ToString(), 213 "", // should be of type TimeSpan //data.GetStandardDeviation<DateTime>(statIdx).ToString(), 214 "", // should be of type TimeSpan //data.GetVariance<DateTime>(statIdx).ToString(), 215 data.GetQuantile<DateTime>(0.25, statIdx).ToString(), 216 data.GetQuantile<DateTime>(0.75, statIdx).ToString(), 217 data.GetMode<DateTime>(statIdx).ToString(), 218 data.GetDistinctValues<DateTime>(statIdx).ToString() 209 219 }; 210 220 }
Note: See TracChangeset
for help on using the changeset viewer.