Changeset 8729 for trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/FeatureCorrelation/FeatureCorrelationCalculator.cs
- Timestamp:
- 10/04/12 11:43:16 (12 years ago)
- File:
-
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/FeatureCorrelation/FeatureCorrelationCalculator.cs
r8725 r8729 25 25 using System.Linq; 26 26 using HeuristicLab.PluginInfrastructure; 27 using FCE = HeuristicLab.Problems.DataAnalysis.FeatureCorrelationEnums; 28 29 namespace HeuristicLab.Problems.DataAnalysis { 27 28 namespace HeuristicLab.Problems.DataAnalysis.Views { 29 [NonDiscoverableType] 30 30 public class FeatureCorrelationCalculator : Object { 31 31 … … 51 51 } 52 52 53 public void CalculateElements(F CE.CorrelationCalculators calc, FCE.Partitions partition) {53 public void CalculateElements(FeatureCorrelationEnums.CorrelationCalculators calc, FeatureCorrelationEnums.Partitions partition) { 54 54 CalculateElements(problemData.Dataset, calc, partition); 55 55 } 56 56 57 57 // returns if any calculation takes place 58 public bool CalculateTimeframeElements(F CE.CorrelationCalculators calc, FCE.Partitions partition, string variable, int frames, double[,] correlation = null) {58 public bool CalculateTimeframeElements(FeatureCorrelationEnums.CorrelationCalculators calc, FeatureCorrelationEnums.Partitions partition, string variable, int frames, double[,] correlation = null) { 59 59 if (correlation == null || correlation.GetLength(1) <= frames) { 60 60 CalculateElements(problemData.Dataset, calc, partition, variable, frames, correlation); … … 75 75 } 76 76 77 private void CalculateElements(Dataset dataset, F CE.CorrelationCalculators calc, FCE.Partitions partition, string variable = null, int frames = 0, double[,] alreadyCalculated = null) {77 private void CalculateElements(Dataset dataset, FeatureCorrelationEnums.CorrelationCalculators calc, FeatureCorrelationEnums.Partitions partition, string variable = null, int frames = 0, double[,] alreadyCalculated = null) { 78 78 bwInfo = new BackgroundWorkerInfo { Dataset = dataset, Calculator = calc, Partition = partition, Variable = variable, Frames = frames, AlreadyCalculated = alreadyCalculated }; 79 79 if (bw == null) { … … 107 107 BackgroundWorkerInfo bwInfo = (BackgroundWorkerInfo)e.Argument; 108 108 Dataset dataset = bwInfo.Dataset; 109 F CE.Partitions partition = bwInfo.Partition;110 F CE.CorrelationCalculators calc = bwInfo.Calculator;109 FeatureCorrelationEnums.Partitions partition = bwInfo.Partition; 110 FeatureCorrelationEnums.CorrelationCalculators calc = bwInfo.Calculator; 111 111 112 112 IList<string> doubleVariableNames = dataset.DoubleVariables.ToList(); … … 144 144 BackgroundWorkerInfo bwInfo = (BackgroundWorkerInfo)e.Argument; 145 145 Dataset dataset = bwInfo.Dataset; 146 F CE.Partitions partition = bwInfo.Partition;147 F CE.CorrelationCalculators calc = bwInfo.Calculator;146 FeatureCorrelationEnums.Partitions partition = bwInfo.Partition; 147 FeatureCorrelationEnums.CorrelationCalculators calc = bwInfo.Calculator; 148 148 string variable = bwInfo.Variable; 149 149 int frames = bwInfo.Frames; … … 192 192 } 193 193 194 private IEnumerable<double> GetRelevantValues(IDataAnalysisProblemData problemData, F CE.Partitions partition, string variable) {194 private IEnumerable<double> GetRelevantValues(IDataAnalysisProblemData problemData, FeatureCorrelationEnums.Partitions partition, string variable) { 195 195 IEnumerable<double> var = problemData.Dataset.GetDoubleValues(variable); 196 if (partition.Equals(F CE.Partitions.TrainingSamples)) {196 if (partition.Equals(FeatureCorrelationEnums.Partitions.TrainingSamples)) { 197 197 var = var.Skip(problemData.TrainingPartition.Start).Take(problemData.TrainingPartition.End - problemData.TrainingPartition.Start); 198 } else if (partition.Equals(F CE.Partitions.TestSamples)) {198 } else if (partition.Equals(FeatureCorrelationEnums.Partitions.TestSamples)) { 199 199 var = var.Skip(problemData.TestPartition.Start).Take(problemData.TestPartition.End - problemData.TestPartition.Start); 200 200 } … … 202 202 } 203 203 204 private double CalculateElementWithCalculator(F CE.CorrelationCalculators calc, IEnumerable<double> var1, IEnumerable<double> var2, out OnlineCalculatorError error) {205 if (calc.Equals(F CE.CorrelationCalculators.HoeffdingsDependence)) {204 private double CalculateElementWithCalculator(FeatureCorrelationEnums.CorrelationCalculators calc, IEnumerable<double> var1, IEnumerable<double> var2, out OnlineCalculatorError error) { 205 if (calc.Equals(FeatureCorrelationEnums.CorrelationCalculators.HoeffdingsDependence)) { 206 206 return HoeffdingsDependenceCalculator.Calculate(var1, var2, out error); 207 } else if (calc.Equals(F CE.CorrelationCalculators.SpearmansRank)) {207 } else if (calc.Equals(FeatureCorrelationEnums.CorrelationCalculators.SpearmansRank)) { 208 208 return SpearmansRankCorrelationCoefficientCalculator.Calculate(var1, var2, out error); 209 } else if (calc.Equals(F CE.CorrelationCalculators.PearsonsRSquared)) {209 } else if (calc.Equals(FeatureCorrelationEnums.CorrelationCalculators.PearsonsRSquared)) { 210 210 return OnlinePearsonsRSquaredCalculator.Calculate(var1, var2, out error); 211 211 } else { … … 231 231 public class CorrelationCalculationFinishedArgs : EventArgs { 232 232 public double[,] Correlation { get; private set; } 233 public F CE.CorrelationCalculators Calculcator { get; private set; }234 public F CE.Partitions Partition { get; private set; }233 public FeatureCorrelationEnums.CorrelationCalculators Calculcator { get; private set; } 234 public FeatureCorrelationEnums.Partitions Partition { get; private set; } 235 235 public string Variable { get; private set; } 236 236 237 public CorrelationCalculationFinishedArgs(double[,] correlation, F CE.CorrelationCalculators calculator, FCE.Partitions partition, string variable = null) {237 public CorrelationCalculationFinishedArgs(double[,] correlation, FeatureCorrelationEnums.CorrelationCalculators calculator, FeatureCorrelationEnums.Partitions partition, string variable = null) { 238 238 this.Correlation = correlation; 239 239 this.Calculcator = calculator; … … 242 242 } 243 243 } 244 244 245 public delegate void CorrelationCalculationFinishedHandler(object sender, CorrelationCalculationFinishedArgs e); 245 246 public event CorrelationCalculationFinishedHandler CorrelationCalculationFinished; 246 protected virtual void OnCorrelationCalculationFinished(double[,] correlation, F CE.CorrelationCalculators calculator, FCE.Partitions partition, string variable = null) {247 protected virtual void OnCorrelationCalculationFinished(double[,] correlation, FeatureCorrelationEnums.CorrelationCalculators calculator, FeatureCorrelationEnums.Partitions partition, string variable = null) { 247 248 var handler = CorrelationCalculationFinished; 248 249 if (handler != null) … … 260 261 #endregion 261 262 262 pr otectedclass BackgroundWorkerInfo {263 private class BackgroundWorkerInfo { 263 264 public Dataset Dataset { get; set; } 264 public F CE.CorrelationCalculators Calculator { get; set; }265 public F CE.Partitions Partition { get; set; }265 public FeatureCorrelationEnums.CorrelationCalculators Calculator { get; set; } 266 public FeatureCorrelationEnums.Partitions Partition { get; set; } 266 267 public string Variable { get; set; } 267 268 public int Frames { get; set; }
Note: See TracChangeset
for help on using the changeset viewer.