Changeset 6760 for branches/PersistenceSpeedUp/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Analyzers/SymbolicDataAnalysisVariableFrequencyAnalyzer.cs
- Timestamp:
- 09/14/11 13:59:25 (13 years ago)
- Location:
- branches/PersistenceSpeedUp
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/PersistenceSpeedUp
- Property svn:ignore
-
old new 12 12 *.psess 13 13 *.vsp 14 *.docstates
-
- Property svn:mergeinfo changed
- Property svn:ignore
-
branches/PersistenceSpeedUp/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Analyzers/SymbolicDataAnalysisVariableFrequencyAnalyzer.cs
r5924 r6760 20 20 #endregion 21 21 22 using System; 22 23 using System.Collections.Generic; 23 24 using System.Linq; … … 104 105 datatable.Rows.Add(row); 105 106 } 106 datatable.Rows[pair.Key].Values.Add( pair.Value);107 datatable.Rows[pair.Key].Values.Add(Math.Round(pair.Value, 3)); 107 108 } 108 109 … … 130 131 131 132 public static IEnumerable<KeyValuePair<string, double>> CalculateVariableFrequencies(IEnumerable<ISymbolicExpressionTree> trees, bool aggregateLaggedVariables = true) { 132 Dictionary<string, double> variableFrequencies = new Dictionary<string, double>(); 133 int totalNumberOfSymbols = 0; 134 135 foreach (var tree in trees) { 136 var variableReferences = GetVariableReferences(tree, aggregateLaggedVariables); 137 foreach (var pair in variableReferences) { 138 totalNumberOfSymbols += pair.Value; 139 if (variableFrequencies.ContainsKey(pair.Key)) { 140 variableFrequencies[pair.Key] += pair.Value; 141 } else { 142 variableFrequencies.Add(pair.Key, pair.Value); 143 } 144 } 145 } 133 134 var variableFrequencies = trees 135 .AsParallel() 136 .SelectMany(t => GetVariableReferences(t, aggregateLaggedVariables)) 137 .GroupBy(pair => pair.Key, pair => pair.Value) 138 .ToDictionary(g => g.Key, g => (double)g.Sum()); 139 140 double totalNumberOfSymbols = variableFrequencies.Values.Sum(); 146 141 147 142 foreach (var pair in variableFrequencies)
Note: See TracChangeset
for help on using the changeset viewer.