Changeset 4722 for trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3
- Timestamp:
- 11/06/10 01:56:04 (14 years ago)
- Location:
- trunk/sources
- Files:
-
- 47 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources
- Property svn:mergeinfo changed
/branches/CloningRefactoring (added) merged: 4656-4693,4696-4697,4711-4714,4718-4719
- Property svn:mergeinfo changed
-
trunk/sources/HeuristicLab.Problems.DataAnalysis
- Property svn:mergeinfo changed
/branches/CloningRefactoring/HeuristicLab.Problems.DataAnalysis (added) merged: 4678,4682,4684,4697,4712
- Property svn:mergeinfo changed
-
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/DataAnalysisProblem.cs
r4419 r4722 55 55 [StorableConstructor] 56 56 protected DataAnalysisProblem(bool deserializing) : base(deserializing) { } 57 protected DataAnalysisProblem(DataAnalysisProblem original, Cloner cloner) 58 : base(original, cloner) { 59 RegisterParameterEvents(); 60 RegisterParameterValueEvents(); 61 } 62 57 63 public DataAnalysisProblem() 58 64 : base() { … … 63 69 64 70 [StorableHook(HookType.AfterDeserialization)] 65 private void AfterDeserialization Hook() {71 private void AfterDeserialization() { 66 72 RegisterParameterEvents(); 67 73 RegisterParameterValueEvents(); … … 91 97 92 98 public override IDeepCloneable Clone(Cloner cloner) { 93 DataAnalysisProblem clone = (DataAnalysisProblem)base.Clone(cloner); 94 clone.RegisterParameterEvents(); 95 clone.RegisterParameterValueEvents(); 96 return clone; 99 return new DataAnalysisProblem(this, cloner); 97 100 } 98 101 -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/DataAnalysisProblemData.cs
r4543 r4722 191 191 #endregion 192 192 193 193 [StorableConstructor] 194 protected DataAnalysisProblemData(bool deserializing) : base(deserializing) { } 195 protected DataAnalysisProblemData(DataAnalysisProblemData original, Cloner cloner) 196 : base(original, cloner) { 197 RegisterParameterEventHandlers(); 198 RegisterParameterValueEventHandlers(); 199 } 194 200 public DataAnalysisProblemData() 195 201 : base() { … … 233 239 } 234 240 235 [StorableConstructor] 236 protected DataAnalysisProblemData(bool deserializing) : base(deserializing) { } 241 public override IDeepCloneable Clone(Cloner cloner) { 242 return new DataAnalysisProblemData(this, cloner); 243 } 237 244 238 245 [StorableHook(HookType.AfterDeserialization)] 239 private void AfterDeserialization Hook() {246 private void AfterDeserialization() { 240 247 if (!Parameters.ContainsKey("ValidationPercentage")) 241 248 Parameters.Add(new ValueParameter<PercentValue>("ValidationPercentage", "The relative amount of the training samples that should be used as validation set.", new PercentValue(0.5))); … … 405 412 OnProblemDataChanged(EventArgs.Empty); 406 413 } 407 408 public override IDeepCloneable Clone(Cloner cloner) {409 DataAnalysisProblemData clone = (DataAnalysisProblemData)base.Clone(cloner);410 clone.RegisterParameterEventHandlers();411 clone.RegisterParameterValueEventHandlers();412 return clone;413 }414 414 } 415 415 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/DataAnalysisSolution.cs
r4451 r4722 37 37 public string Filename { get; set; } 38 38 #endregion 39 39 40 [StorableConstructor] 41 protected DataAnalysisSolution(bool deserializing) : base(deserializing) { } 42 protected DataAnalysisSolution(DataAnalysisSolution original, Cloner cloner) 43 : base(original, cloner) { 44 problemData = (DataAnalysisProblemData)cloner.Clone(original.problemData); 45 model = (IDataAnalysisModel)cloner.Clone(original.model); 46 lowerEstimationLimit = original.lowerEstimationLimit; 47 upperEstimationLimit = original.upperEstimationLimit; 48 AfterDeserialization(); 49 } 40 50 protected DataAnalysisSolution() 41 51 : base() { } … … 46 56 this.lowerEstimationLimit = lowerEstimationLimit; 47 57 this.upperEstimationLimit = upperEstimationLimit; 48 Initialize();58 AfterDeserialization(); 49 59 } 50 60 51 [StorableConstructor]52 private DataAnalysisSolution(bool deserializing) : base(deserializing) { }53 61 [StorableHook(HookType.AfterDeserialization)] 54 private void Initialize() {62 private void AfterDeserialization() { 55 63 if (problemData != null) 56 64 RegisterProblemDataEvents(); … … 140 148 public event EventHandler ModelChanged; 141 149 protected virtual void OnModelChanged() { 142 EventHandler handler= ModelChanged;143 if ( handler!= null)144 handler(this, EventArgs.Empty);150 EventHandler listeners = ModelChanged; 151 if (listeners != null) 152 listeners(this, EventArgs.Empty); 145 153 } 146 154 … … 153 161 #endregion 154 162 155 public override IDeepCloneable Clone(Cloner cloner) {156 DataAnalysisSolution clone = (DataAnalysisSolution)base.Clone(cloner);157 clone.problemData = (DataAnalysisProblemData)cloner.Clone(problemData);158 clone.model = (IDataAnalysisModel)cloner.Clone(model);159 clone.lowerEstimationLimit = lowerEstimationLimit;160 clone.upperEstimationLimit = upperEstimationLimit;161 clone.Initialize();162 163 return clone;164 }165 163 } 166 164 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/DataFormatException.cs
r4239 r4722 21 21 22 22 using System; 23 using System.Runtime.Serialization; 23 24 24 25 namespace HeuristicLab.Problems.DataAnalysis { 26 [Serializable] 25 27 public class DataFormatException : Exception { 26 28 private int line; … … 37 39 this.line = line; 38 40 } 41 42 public DataFormatException(SerializationInfo info, StreamingContext context) : base(info, context) { } 39 43 } 40 44 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Dataset.cs
r4239 r4722 32 32 [StorableClass] 33 33 public sealed class Dataset : NamedItem, IStringConvertibleMatrix { 34 // empty constructor for cloning35 private Dataset()36 : base() {37 }38 39 34 [StorableConstructor] 40 private Dataset(bool deserializing) 41 : base(deserializing) { 42 } 43 35 private Dataset(bool deserializing) : base(deserializing) { } 36 private Dataset(Dataset original, Cloner cloner) 37 : base(original, cloner) { 38 variableNames = original.variableNames; 39 data = original.data; 40 } 44 41 public Dataset(IEnumerable<string> variableNames, double[,] data) 45 42 : base() { … … 122 119 } 123 120 124 125 126 121 public string GetVariableName(int variableIndex) { 127 122 return variableNames[variableIndex]; … … 140 135 141 136 public override IDeepCloneable Clone(Cloner cloner) { 142 Dataset clone = (Dataset)base.Clone(cloner); 143 clone.variableNames = variableNames; 144 clone.data = data; 145 return clone; 137 return new Dataset(this, cloner); 146 138 } 147 139 … … 197 189 public event EventHandler ColumnNamesChanged; 198 190 private void OnColumnNamesChanged() { 199 EventHandler handler= ColumnNamesChanged;200 if ( handler!= null)201 handler(this, EventArgs.Empty);191 EventHandler listeners = ColumnNamesChanged; 192 if (listeners != null) 193 listeners(this, EventArgs.Empty); 202 194 } 203 195 public event EventHandler RowNamesChanged; 204 196 private void OnRowNamesChanged() { 205 EventHandler handler= RowNamesChanged;206 if ( handler!= null)207 handler(this, EventArgs.Empty);197 EventHandler listeners = RowNamesChanged; 198 if (listeners != null) 199 listeners(this, EventArgs.Empty); 208 200 } 209 201 public event EventHandler SortableViewChanged; 210 202 private void OnSortableViewChanged() { 211 EventHandler handler= SortableViewChanged;212 if ( handler!= null)213 handler(this, EventArgs.Empty);203 EventHandler listeners = SortableViewChanged; 204 if (listeners != null) 205 listeners(this, EventArgs.Empty); 214 206 } 215 207 public event EventHandler<EventArgs<int, int>> ItemChanged; 216 208 private void OnItemChanged(int rowIndex, int columnIndex) { 217 if (ItemChanged != null) 218 ItemChanged(this, new EventArgs<int, int>(rowIndex, columnIndex)); 209 var listeners = ItemChanged; 210 if (listeners != null) 211 listeners(this, new EventArgs<int, int>(rowIndex, columnIndex)); 219 212 OnToStringChanged(); 220 213 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Evaluators/SimpleEvaluator.cs
r4068 r4722 20 20 #endregion 21 21 22 using HeuristicLab.Common; 22 23 using HeuristicLab.Core; 23 24 using HeuristicLab.Data; 24 25 using HeuristicLab.Operators; 25 26 using HeuristicLab.Parameters; 27 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 26 28 27 29 namespace HeuristicLab.Problems.DataAnalysis.Evaluators { … … 32 34 public ILookupParameter<DoubleMatrix> ValuesParameter { 33 35 get { return (ILookupParameter<DoubleMatrix>)Parameters["Values"]; } 36 } 37 [StorableConstructor] 38 protected SimpleEvaluator(bool deserializing) : base(deserializing) { } 39 protected SimpleEvaluator(SimpleEvaluator original, Cloner cloner) 40 : base(original, cloner) { 34 41 } 35 42 public SimpleEvaluator() -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Evaluators/SimpleMSEEvaluator.cs
r4239 r4722 23 23 using System.Collections.Generic; 24 24 using System.Linq; 25 using HeuristicLab.Common; 25 26 using HeuristicLab.Core; 26 27 using HeuristicLab.Data; 27 28 using HeuristicLab.Parameters; 29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 28 30 29 31 namespace HeuristicLab.Problems.DataAnalysis.Evaluators { … … 34 36 } 35 37 38 [StorableConstructor] 39 protected SimpleMSEEvaluator(bool deserializing) : base(deserializing) { } 40 protected SimpleMSEEvaluator(SimpleMSEEvaluator original, Cloner cloner) 41 : base(original, cloner) { 42 } 43 public override IDeepCloneable Clone(Cloner cloner) { 44 return new SimpleMSEEvaluator(this, cloner); 45 } 36 46 public SimpleMSEEvaluator() { 37 47 Parameters.Add(new LookupParameter<DoubleValue>("MeanSquaredError", "The mean squared error of estimated values.")); -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Evaluators/SimpleMeanAbsolutePercentageErrorEvaluator.cs
r4068 r4722 23 23 using System.Collections.Generic; 24 24 using System.Linq; 25 using HeuristicLab.Common; 25 26 using HeuristicLab.Core; 26 27 using HeuristicLab.Data; 27 28 using HeuristicLab.Parameters; 29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 28 30 29 31 namespace HeuristicLab.Problems.DataAnalysis.Evaluators { … … 33 35 } 34 36 37 [StorableConstructor] 38 protected SimpleMeanAbsolutePercentageErrorEvaluator(bool deserializing) : base(deserializing) { } 39 protected SimpleMeanAbsolutePercentageErrorEvaluator(SimpleMeanAbsolutePercentageErrorEvaluator original, Cloner cloner) 40 : base(original, cloner) { 41 } 35 42 public SimpleMeanAbsolutePercentageErrorEvaluator() { 36 43 Parameters.Add(new LookupParameter<PercentValue>("AverageRelativeError", "The average relative error of estimated values.")); … … 43 50 select values[i, ESTIMATION_INDEX]; 44 51 AverageRelativeErrorParameter.ActualValue = new PercentValue(Calculate(original, estimated)); 52 } 53 54 public override IDeepCloneable Clone(Cloner cloner) { 55 return new SimpleMeanAbsolutePercentageErrorEvaluator(this, cloner); 45 56 } 46 57 -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Evaluators/SimpleMeanAbsolutePercentageOfRangeErrorEvaluator.cs
r4068 r4722 27 27 using HeuristicLab.Data; 28 28 using HeuristicLab.Parameters; 29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 29 30 30 31 namespace HeuristicLab.Problems.DataAnalysis.Evaluators { … … 35 36 } 36 37 38 [StorableConstructor] 39 protected SimpleMeanAbsolutePercentageOfRangeErrorEvaluator(bool deserializing) : base(deserializing) { } 40 protected SimpleMeanAbsolutePercentageOfRangeErrorEvaluator(SimpleMeanAbsolutePercentageOfRangeErrorEvaluator original, Cloner cloner) 41 : base(original, cloner) { 42 } 37 43 public SimpleMeanAbsolutePercentageOfRangeErrorEvaluator() { 38 44 Parameters.Add(new LookupParameter<PercentValue>("AveragePercentageOfRangeError", "The average relative (percentage of range) error of estimated values.")); … … 45 51 select values[i, ESTIMATION_INDEX]; 46 52 AveragePercentageOfRangeErrorParameter.ActualValue = new PercentValue(Calculate(original, estimated)); 53 } 54 55 public override IDeepCloneable Clone(Cloner cloner) { 56 return new SimpleMeanAbsolutePercentageOfRangeErrorEvaluator(this, cloner); 47 57 } 48 58 -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Evaluators/SimpleNMSEEvaluator.cs
r4068 r4722 23 23 using System.Collections.Generic; 24 24 using System.Linq; 25 using HeuristicLab.Common; 25 26 using HeuristicLab.Core; 26 27 using HeuristicLab.Data; 27 28 using HeuristicLab.Parameters; 29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 28 30 29 31 namespace HeuristicLab.Problems.DataAnalysis.Evaluators { … … 34 36 } 35 37 38 [StorableConstructor] 39 protected SimpleNMSEEvaluator(bool deserializing) : base(deserializing) { } 40 protected SimpleNMSEEvaluator(SimpleNMSEEvaluator original, Cloner cloner) 41 : base(original, cloner) { 42 } 43 public override IDeepCloneable Clone(Cloner cloner) { 44 return new SimpleNMSEEvaluator(this, cloner); 45 } 36 46 public SimpleNMSEEvaluator() { 37 47 Parameters.Add(new LookupParameter<DoubleValue>("NormalizedMeanSquaredError", "The normalized mean squared error (divided by variance) of estimated values.")); -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Evaluators/SimpleRSquaredEvaluator.cs
r4068 r4722 23 23 using System.Collections.Generic; 24 24 using System.Linq; 25 using HeuristicLab.Common; 25 26 using HeuristicLab.Core; 26 27 using HeuristicLab.Data; 27 28 using HeuristicLab.Parameters; 29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 28 30 29 31 namespace HeuristicLab.Problems.DataAnalysis.Evaluators { … … 32 34 get { return (ILookupParameter<DoubleValue>)Parameters["RSquared"]; } 33 35 } 34 36 [StorableConstructor] 37 protected SimpleRSquaredEvaluator(bool deserializing) : base(deserializing) { } 38 protected SimpleRSquaredEvaluator(SimpleRSquaredEvaluator original, Cloner cloner) 39 : base(original, cloner) { 40 } 41 public override IDeepCloneable Clone(Cloner cloner) { 42 return new SimpleRSquaredEvaluator(this, cloner); 43 } 35 44 public SimpleRSquaredEvaluator() { 36 45 Parameters.Add(new LookupParameter<DoubleValue>("RSquared", "The squared Pearson's Product Moment Correlation (R²) of estimated values and original values.")); -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Evaluators/SimpleVarianceAccountedForEvaluator.cs
r4068 r4722 27 27 using HeuristicLab.Data; 28 28 using HeuristicLab.Parameters; 29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 29 30 30 31 namespace HeuristicLab.Problems.DataAnalysis.Evaluators { … … 40 41 } 41 42 43 [StorableConstructor] 44 protected SimpleVarianceAccountedForEvaluator(bool deserializing) : base(deserializing) { } 45 protected SimpleVarianceAccountedForEvaluator(SimpleVarianceAccountedForEvaluator original, Cloner cloner) 46 : base(original, cloner) { 47 } 48 public override IDeepCloneable Clone(Cloner cloner) { 49 return new SimpleVarianceAccountedForEvaluator(this, cloner); 50 } 42 51 public SimpleVarianceAccountedForEvaluator() { 43 52 Parameters.Add(new LookupParameter<DoubleValue>("VarianceAccountedFor", "The variance of the original values accounted for by the estimated values (VAF(y,y') = 1 - var(y-y') / var(y) ).")); -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/SupportVectorMachine/SupportVectorMachineCrossValidationEvaluator.cs
r4543 r4722 21 21 22 22 using System; 23 using System.Collections.Generic; 23 24 using System.Linq; 25 using HeuristicLab.Common; 24 26 using HeuristicLab.Core; 25 27 using HeuristicLab.Data; … … 29 31 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 30 32 using SVM; 31 using System.Collections.Generic;32 33 33 34 namespace HeuristicLab.Problems.DataAnalysis.SupportVectorMachine { … … 126 127 #endregion 127 128 129 [StorableConstructor] 130 protected SupportVectorMachineCrossValidationEvaluator(bool deserializing) : base(deserializing) { } 131 132 protected SupportVectorMachineCrossValidationEvaluator(SupportVectorMachineCrossValidationEvaluator original, 133 Cloner cloner) 134 : base(original, cloner) { } 128 135 public SupportVectorMachineCrossValidationEvaluator() 129 136 : base() { … … 143 150 } 144 151 152 public override IDeepCloneable Clone(Cloner cloner) { 153 return new SupportVectorMachineCrossValidationEvaluator(this, cloner); 154 } 155 145 156 public override IOperation Apply() { 146 157 double reductionRatio = 1.0; // TODO: make parameter 147 158 if (ActualSamplesParameter.ActualValue != null) 148 159 reductionRatio = ActualSamplesParameter.ActualValue.Value; 149 IEnumerable<int> rows = 160 IEnumerable<int> rows = 150 161 Enumerable.Range(SamplesStart.Value, SamplesEnd.Value - SamplesStart.Value) 151 162 .Where(i => i < DataAnalysisProblemData.TestSamplesStart.Value || DataAnalysisProblemData.TestSamplesEnd.Value <= i); … … 153 164 // create a new DataAnalysisProblemData instance 154 165 DataAnalysisProblemData reducedProblemData = (DataAnalysisProblemData)DataAnalysisProblemData.Clone(); 155 reducedProblemData.Dataset = 166 reducedProblemData.Dataset = 156 167 CreateReducedDataset(RandomParameter.ActualValue, reducedProblemData.Dataset, rows, reductionRatio); 157 168 reducedProblemData.TrainingSamplesStart.Value = 0; … … 170 181 171 182 private Dataset CreateReducedDataset(IRandom random, Dataset dataset, IEnumerable<int> rowIndices, double reductionRatio) { 172 183 173 184 // must not make a fink: 174 185 // => select n rows randomly from start..end … … 191 202 // take the first n indexes (selected n rowIndexes from start..end) 192 203 // now order by index 193 int[] orderedRandomIndexes = 204 int[] orderedRandomIndexes = 194 205 rowIndexArr.Take(n) 195 206 .OrderBy(x => x) -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/SupportVectorMachine/SupportVectorMachineModel.cs
r4543 r4722 36 36 [StorableClass] 37 37 [Item("SupportVectorMachineModel", "Represents a support vector machine model.")] 38 public class SupportVectorMachineModel : NamedItem, IDataAnalysisModel { 39 public SupportVectorMachineModel() 40 : base() { 38 public sealed class SupportVectorMachineModel : NamedItem, IDataAnalysisModel { 39 [StorableConstructor] 40 private SupportVectorMachineModel(bool deserializing) : base(deserializing) { } 41 private SupportVectorMachineModel(SupportVectorMachineModel original, Cloner cloner) 42 : base(original, cloner) { 43 // only using a shallow copy here! (gkronber) 44 this.model = original.model; 45 this.rangeTransform = original.rangeTransform; 41 46 } 47 public SupportVectorMachineModel() : base() { } 42 48 43 49 private SVM.Model model; … … 131 137 132 138 public override IDeepCloneable Clone(Cloner cloner) { 133 SupportVectorMachineModel clone = (SupportVectorMachineModel)base.Clone(cloner); 134 // beware we are only using a shallow copy here! (gkronber) 135 clone.model = model; 136 clone.rangeTransform = rangeTransform; 137 return clone; 139 return new SupportVectorMachineModel(this, cloner); 138 140 } 139 141 -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/SupportVectorMachine/SupportVectorMachineModelCreator.cs
r4543 r4722 21 21 22 22 using System; 23 using System.Collections.Generic; 24 using System.Linq; 25 using HeuristicLab.Common; 23 26 using HeuristicLab.Core; 24 27 using HeuristicLab.Data; … … 27 30 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 28 31 using SVM; 29 using System.Collections.Generic;30 using System.Linq;31 32 32 33 namespace HeuristicLab.Problems.DataAnalysis.SupportVectorMachine { … … 36 37 [StorableClass] 37 38 [Item("SupportVectorMachineModelCreator", "Represents an operator that creates a support vector machine model.")] 38 public class SupportVectorMachineModelCreator : SingleSuccessorOperator {39 public sealed class SupportVectorMachineModelCreator : SingleSuccessorOperator { 39 40 private const string DataAnalysisProblemDataParameterName = "DataAnalysisProblemData"; 40 41 private const string SvmTypeParameterName = "SvmType"; … … 110 111 #endregion 111 112 113 [StorableConstructor] 114 private SupportVectorMachineModelCreator(bool deserializing) : base(deserializing) { } 115 private SupportVectorMachineModelCreator(SupportVectorMachineModelCreator original, Cloner cloner) : base(original, cloner) { } 116 public override IDeepCloneable Clone(Cloner cloner) { 117 return new SupportVectorMachineModelCreator(this, cloner); 118 } 112 119 public SupportVectorMachineModelCreator() 113 120 : base() { … … 129 136 int start = SamplesStart.Value; 130 137 int end = SamplesEnd.Value; 131 IEnumerable<int> rows = 132 Enumerable.Range(start, end -start)138 IEnumerable<int> rows = 139 Enumerable.Range(start, end - start) 133 140 .Where(i => i < DataAnalysisProblemData.TestSamplesStart.Value || DataAnalysisProblemData.TestSamplesEnd.Value <= i); 134 141 -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/SupportVectorMachine/SupportVectorMachineModelEvaluator.cs
r4543 r4722 20 20 #endregion 21 21 22 using System.Collections.Generic; 23 using System.Linq; 24 using HeuristicLab.Common; 22 25 using HeuristicLab.Core; 23 26 using HeuristicLab.Data; … … 26 29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 27 30 using SVM; 28 using System.Collections.Generic;29 using System.Linq;30 31 31 32 namespace HeuristicLab.Problems.DataAnalysis.SupportVectorMachine { … … 70 71 } 71 72 #endregion 73 74 [StorableConstructor] 75 protected SupportVectorMachineModelEvaluator(bool deserializing) : base(deserializing) { } 76 protected SupportVectorMachineModelEvaluator(SupportVectorMachineModelEvaluator original, Cloner cloner) : base(original, cloner) { } 77 public override IDeepCloneable Clone(Cloner cloner) { 78 return new SupportVectorMachineModelEvaluator(this, cloner); 79 } 72 80 public SupportVectorMachineModelEvaluator() 73 81 : base() { -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/ArithmeticExpressionGrammar.cs
r4249 r4722 21 21 22 22 using System.Collections.Generic; 23 using HeuristicLab.Common; 23 24 using HeuristicLab.Core; 24 25 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; … … 30 31 [Item("ArithmeticExpressionGrammar", "Represents a grammar for functional expressions using only arithmetic operations.")] 31 32 public class ArithmeticExpressionGrammar : DefaultSymbolicExpressionGrammar { 33 34 [StorableConstructor] 35 protected ArithmeticExpressionGrammar(bool deserializing) : base(deserializing) { } 36 protected ArithmeticExpressionGrammar(ArithmeticExpressionGrammar original, Cloner cloner) : base(original, cloner) { } 32 37 public ArithmeticExpressionGrammar() 33 38 : base() { 34 39 Initialize(); 35 40 } 36 37 [StorableConstructor]38 protected ArithmeticExpressionGrammar(bool deserializing) : base(deserializing) {}41 public override IDeepCloneable Clone(Cloner cloner) { 42 return new ArithmeticExpressionGrammar(this, cloner); 43 } 39 44 40 45 private void Initialize() { -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/FullFunctionalExpressionGrammar.cs
r4249 r4722 21 21 22 22 using System.Collections.Generic; 23 using HeuristicLab.Common; 23 24 using HeuristicLab.Core; 24 25 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; … … 30 31 [Item("FullFunctionalExpressionGrammar", "Represents a grammar for functional expressions using all available functions.")] 31 32 public class FullFunctionalExpressionGrammar : DefaultSymbolicExpressionGrammar { 33 [StorableConstructor] 34 protected FullFunctionalExpressionGrammar(bool deserializing) : base(deserializing) { } 35 protected FullFunctionalExpressionGrammar(FullFunctionalExpressionGrammar original, Cloner cloner) : base(original, cloner) { } 32 36 public FullFunctionalExpressionGrammar() 33 37 : base() { 34 38 Initialize(); 35 39 } 36 [StorableConstructor] 37 protected FullFunctionalExpressionGrammar(bool deserializing) : base(deserializing) { } 40 41 public override IDeepCloneable Clone(Cloner cloner) { 42 return new FullFunctionalExpressionGrammar(this, cloner); 43 } 38 44 39 45 private void Initialize() { -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/SimpleArithmeticExpressionInterpreter.cs
r4068 r4722 22 22 using System; 23 23 using System.Collections.Generic; 24 using HeuristicLab.Common; 24 25 using HeuristicLab.Core; 25 26 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; … … 33 34 [Item("SimpleArithmeticExpressionInterpreter", "Interpreter for arithmetic symbolic expression trees including function calls.")] 34 35 // not thread safe! 35 public class SimpleArithmeticExpressionInterpreter : NamedItem, ISymbolicExpressionTreeInterpreter {36 public sealed class SimpleArithmeticExpressionInterpreter : NamedItem, ISymbolicExpressionTreeInterpreter { 36 37 private class OpCodes { 37 38 public const byte Add = 1; … … 106 107 } 107 108 109 [StorableConstructor] 110 private SimpleArithmeticExpressionInterpreter(bool deserializing) : base(deserializing) { } 111 private SimpleArithmeticExpressionInterpreter(SimpleArithmeticExpressionInterpreter original, Cloner cloner) : base(original, cloner) { } 112 113 public override IDeepCloneable Clone(Cloner cloner) { 114 return new SimpleArithmeticExpressionInterpreter(this, cloner); 115 } 116 108 117 public SimpleArithmeticExpressionInterpreter() 109 118 : base() { … … 286 295 287 296 // skips a whole branch 288 pr otectedvoid SkipBakedCode() {297 private void SkipBakedCode() { 289 298 int i = 1; 290 299 while (i > 0) { -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/Addition.cs
r4068 r4722 20 20 #endregion 21 21 22 using HeuristicLab.Common; 22 23 using HeuristicLab.Core; 23 24 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Symbols; … … 27 28 [Item("Addition", "Symbol that represents the + operator.")] 28 29 public sealed class Addition : Symbol { 30 [StorableConstructor] 31 private Addition(bool deserializing) : base(deserializing) { } 32 private Addition(Addition original, Cloner cloner) : base(original, cloner) { } 33 public override IDeepCloneable Clone(Cloner cloner) { 34 return new Addition(this, cloner); 35 } 29 36 public Addition() : base("Addition", "Symbol that represents the + operator.") { } 30 37 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/And.cs
r4068 r4722 20 20 #endregion 21 21 22 using HeuristicLab.Common; 22 23 using HeuristicLab.Core; 23 24 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Symbols; … … 27 28 [Item("And", "Symbol that represents the boolean AND operator.")] 28 29 public sealed class And : Symbol { 30 [StorableConstructor] 31 private And(bool deserializing) : base(deserializing) { } 32 private And(And original, Cloner cloner) : base(original, cloner) { } 33 public override IDeepCloneable Clone(Cloner cloner) { 34 return new And(this, cloner); 35 } 29 36 public And() : base("And", "Symbol that represents the boolean AND operator.") { } 30 37 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/Average.cs
r4068 r4722 20 20 #endregion 21 21 22 using HeuristicLab.Common; 22 23 using HeuristicLab.Core; 23 24 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Symbols; … … 27 28 [Item("Average", "Symbol that represents the average (arithmetic mean) function.")] 28 29 public sealed class Average : Symbol { 30 [StorableConstructor] 31 private Average(bool deserializing) : base(deserializing) { } 32 private Average(Average original, Cloner cloner) : base(original, cloner) { } 33 public override IDeepCloneable Clone(Cloner cloner) { 34 return new Average(this, cloner); 35 } 29 36 public Average() : base("Average", "Symbol that represents the average (arithmetic mean) function.") { } 30 37 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/Constant.cs
r4068 r4722 77 77 } 78 78 #endregion 79 [StorableConstructor] 80 private Constant(bool deserializing) : base(deserializing) { } 81 private Constant(Constant original, Cloner cloner) 82 : base(original, cloner) { 83 minValue = original.minValue; 84 maxValue = original.maxValue; 85 manipulatorNu = original.manipulatorNu; 86 manipulatorSigma = original.manipulatorSigma; 87 } 79 88 public Constant() 80 89 : base("Constant", "Represents a constant value.") { … … 90 99 91 100 public override IDeepCloneable Clone(Cloner cloner) { 92 Constant clone = (Constant)base.Clone(cloner); 93 clone.minValue = minValue; 94 clone.maxValue = maxValue; 95 clone.manipulatorNu = manipulatorNu; 96 clone.manipulatorSigma = manipulatorSigma; 97 return clone; 101 return new Constant(this, cloner); 98 102 } 99 103 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/ConstantTreeNode.cs
r4068 r4722 20 20 #endregion 21 21 22 using HeuristicLab.Common; 22 23 using HeuristicLab.Core; 23 24 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; … … 38 39 } 39 40 40 private ConstantTreeNode() : base() { } 41 [StorableConstructor] 42 private ConstantTreeNode(bool deserializing) : base(deserializing) { } 41 43 42 // copy constructor 43 private ConstantTreeNode(ConstantTreeNode original) 44 : base(original) { 44 private ConstantTreeNode(ConstantTreeNode original, Cloner cloner) 45 : base(original, cloner) { 45 46 constantValue = original.constantValue; 46 47 } 47 48 49 private ConstantTreeNode() : base() { } 48 50 public ConstantTreeNode(Constant constantSymbol) : base(constantSymbol) { } 49 51 … … 65 67 } 66 68 67 public override object Clone() {68 return new ConstantTreeNode(this );69 public override IDeepCloneable Clone(Cloner cloner) { 70 return new ConstantTreeNode(this, cloner); 69 71 } 70 72 -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/Cosine.cs
r4068 r4722 20 20 #endregion 21 21 22 using HeuristicLab.Common; 22 23 using HeuristicLab.Core; 23 24 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Symbols; … … 27 28 [Item("Cosine", "Symbol that represents the cosine function.")] 28 29 public sealed class Cosine : Symbol { 30 [StorableConstructor] 31 private Cosine(bool deserializing) : base(deserializing) { } 32 private Cosine(Cosine original, Cloner cloner) : base(original, cloner) { } 33 public override IDeepCloneable Clone(Cloner cloner) { 34 return new Cosine(this, cloner); 35 } 29 36 public Cosine() : base("Cosine", "Symbol that represents the cosine function.") { } 30 37 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/Division.cs
r4068 r4722 20 20 #endregion 21 21 22 using HeuristicLab.Common; 22 23 using HeuristicLab.Core; 23 24 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Symbols; … … 27 28 [Item("Division", "Symbol that represents the / operator.")] 28 29 public sealed class Division : Symbol { 30 [StorableConstructor] 31 private Division(bool deserializing) : base(deserializing) { } 32 private Division(Division original, Cloner cloner) : base(original, cloner) { } 33 public override IDeepCloneable Clone(Cloner cloner) { 34 return new Division(this, cloner); 35 } 29 36 public Division() : base("Division", "Symbol that represents the / operator.") { } 30 37 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/Exponential.cs
r4068 r4722 20 20 #endregion 21 21 22 using HeuristicLab.Common; 22 23 using HeuristicLab.Core; 23 24 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Symbols; … … 27 28 [Item("Exponential", "Symbol that represents the exponential function.")] 28 29 public sealed class Exponential : Symbol { 30 [StorableConstructor] 31 private Exponential(bool deserializing) : base(deserializing) { } 32 private Exponential(Exponential original, Cloner cloner) : base(original, cloner) { } 33 public override IDeepCloneable Clone(Cloner cloner) { 34 return new Exponential(this, cloner); 35 } 29 36 public Exponential() : base("Exponential", "Symbol that represents the exponential function.") { } 30 37 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/GreaterThan.cs
r4068 r4722 20 20 #endregion 21 21 22 using HeuristicLab.Common; 22 23 using HeuristicLab.Core; 23 24 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Symbols; … … 27 28 [Item("GreaterThan", "Symbol that represents a greater than relation.")] 28 29 public sealed class GreaterThan : Symbol { 30 [StorableConstructor] 31 private GreaterThan(bool deserializing) : base(deserializing) { } 32 private GreaterThan(GreaterThan original, Cloner cloner) : base(original, cloner) { } 33 public override IDeepCloneable Clone(Cloner cloner) { 34 return new GreaterThan(this, cloner); 35 } 29 36 public GreaterThan() : base("GreaterThan", "Symbol that represents a greater than relation.") { } 30 37 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/IfThenElse.cs
r4068 r4722 20 20 #endregion 21 21 22 using HeuristicLab.Common; 22 23 using HeuristicLab.Core; 23 24 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Symbols; … … 27 28 [Item("IfThenElse", "Symbol that represents a conditional operator.")] 28 29 public sealed class IfThenElse : Symbol { 30 [StorableConstructor] 31 private IfThenElse(bool deserializing) : base(deserializing) { } 32 private IfThenElse(IfThenElse original, Cloner cloner) : base(original, cloner) { } 33 public override IDeepCloneable Clone(Cloner cloner) { 34 return new IfThenElse(this, cloner); 35 } 29 36 public IfThenElse() : base("IfThenElse", "Symbol that represents a conditional operator.") { } 30 37 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/LaggedVariable.cs
r4068 r4722 40 40 set { maxLag = value; } 41 41 } 42 [StorableConstructor] 43 private LaggedVariable(bool deserializing) : base(deserializing) { } 44 private LaggedVariable(LaggedVariable original, Cloner cloner) 45 : base(original, cloner) { 46 minLag = original.minLag; 47 maxLag = original.maxLag; 48 } 42 49 public LaggedVariable() 43 50 : base("LaggedVariable", "Represents a variable value with a time offset.") { … … 50 57 51 58 public override IDeepCloneable Clone(Cloner cloner) { 52 LaggedVariable clone = (LaggedVariable)base.Clone(cloner); 53 clone.minLag = minLag; 54 clone.maxLag = maxLag; 55 return clone; 59 return new LaggedVariable(this, cloner); 56 60 } 57 61 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/LaggedVariableTreeNode.cs
r4068 r4722 21 21 22 22 using System; 23 using HeuristicLab.Common; 23 24 using HeuristicLab.Core; 24 25 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; … … 36 37 } 37 38 38 private LaggedVariableTreeNode() { } 39 40 // copy constructor 41 private LaggedVariableTreeNode(LaggedVariableTreeNode original) 42 : base(original) { 39 [StorableConstructor] 40 private LaggedVariableTreeNode(bool deserializing) : base(deserializing) { } 41 private LaggedVariableTreeNode(LaggedVariableTreeNode original, Cloner cloner) 42 : base(original, cloner) { 43 43 lag = original.lag; 44 44 } 45 private LaggedVariableTreeNode() { } 45 46 46 47 public LaggedVariableTreeNode(LaggedVariable variableSymbol) : base(variableSymbol) { } … … 62 63 } 63 64 64 65 public override object Clone() { 66 return new LaggedVariableTreeNode(this); 65 public override IDeepCloneable Clone(Cloner cloner) { 66 return new LaggedVariableTreeNode(this, cloner); 67 67 } 68 68 -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/LessThan.cs
r4068 r4722 20 20 #endregion 21 21 22 using HeuristicLab.Common; 22 23 using HeuristicLab.Core; 23 24 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Symbols; … … 27 28 [Item("LessThan", "Symbol that represents a less than relation.")] 28 29 public sealed class LessThan : Symbol { 30 [StorableConstructor] 31 private LessThan(bool deserializing) : base(deserializing) { } 32 private LessThan(LessThan original, Cloner cloner) : base(original, cloner) { } 33 public override IDeepCloneable Clone(Cloner cloner) { 34 return new LessThan(this, cloner); 35 } 29 36 public LessThan() : base("LessThan", "Symbol that represents a less than relation.") { } 30 37 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/Logarithm.cs
r4068 r4722 20 20 #endregion 21 21 22 using HeuristicLab.Common; 22 23 using HeuristicLab.Core; 23 24 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Symbols; … … 27 28 [Item("Logarithm", "Symbol that represents the logarithm function.")] 28 29 public sealed class Logarithm : Symbol { 30 [StorableConstructor] 31 private Logarithm(bool deserializing) : base(deserializing) { } 32 private Logarithm(Logarithm original, Cloner cloner) : base(original, cloner) { } 33 public override IDeepCloneable Clone(Cloner cloner) { 34 return new Logarithm(this, cloner); 35 } 29 36 public Logarithm() : base("Logarithm", "Symbol that represents the logarithm function.") { } 30 37 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/Multiplication.cs
r4068 r4722 20 20 #endregion 21 21 22 using HeuristicLab.Common; 22 23 using HeuristicLab.Core; 23 24 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Symbols; … … 27 28 [Item("Multiplication", "Symbol that represents the * operator.")] 28 29 public sealed class Multiplication : Symbol { 30 [StorableConstructor] 31 private Multiplication(bool deserializing) : base(deserializing) { } 32 private Multiplication(Multiplication original, Cloner cloner) : base(original, cloner) { } 33 public override IDeepCloneable Clone(Cloner cloner) { 34 return new Multiplication(this, cloner); 35 } 29 36 public Multiplication() : base("Multiplication", "Symbol that represents the * operator.") { } 30 37 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/Not.cs
r4068 r4722 20 20 #endregion 21 21 22 using HeuristicLab.Common; 22 23 using HeuristicLab.Core; 23 24 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Symbols; … … 27 28 [Item("Not", "Symbol that represents the boolean NOT operator.")] 28 29 public sealed class Not : Symbol { 30 [StorableConstructor] 31 private Not(bool deserializing) : base(deserializing) { } 32 private Not(Not original, Cloner cloner) : base(original, cloner) { } 33 public override IDeepCloneable Clone(Cloner cloner) { 34 return new Not(this, cloner); 35 } 29 36 public Not() : base("Not", "Symbol that represents the boolean NOT operator.") { } 30 37 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/Or.cs
r4068 r4722 20 20 #endregion 21 21 22 using HeuristicLab.Common; 22 23 using HeuristicLab.Core; 23 24 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Symbols; … … 27 28 [Item("Or", "Symbol that represents the boolean OR operator.")] 28 29 public sealed class Or : Symbol { 30 [StorableConstructor] 31 private Or(bool deserializing) : base(deserializing) { } 32 private Or(Or original, Cloner cloner) : base(original, cloner) { } 33 public override IDeepCloneable Clone(Cloner cloner) { 34 return new Or(this, cloner); 35 } 29 36 public Or() : base("Or", "Symbol that represents the boolean OR operator.") { } 30 37 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/Sine.cs
r4068 r4722 20 20 #endregion 21 21 22 using HeuristicLab.Common; 22 23 using HeuristicLab.Core; 23 24 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Symbols; … … 27 28 [Item("Sine", "Symbol that represents the sine function.")] 28 29 public sealed class Sine : Symbol { 30 [StorableConstructor] 31 private Sine(bool deserializing) : base(deserializing) { } 32 private Sine(Sine original, Cloner cloner) : base(original, cloner) { } 33 public override IDeepCloneable Clone(Cloner cloner) { 34 return new Sine(this, cloner); 35 } 29 36 public Sine() : base("Sine", "Symbol that represents the sine function.") { } 30 37 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/Subtraction.cs
r4068 r4722 20 20 #endregion 21 21 22 using HeuristicLab.Common; 22 23 using HeuristicLab.Core; 23 24 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Symbols; … … 27 28 [Item("Subtraction", "Symbol that represents the - operator.")] 28 29 public sealed class Subtraction : Symbol { 30 [StorableConstructor] 31 private Subtraction(bool deserializing) : base(deserializing) { } 32 private Subtraction(Subtraction original, Cloner cloner) : base(original, cloner) { } 33 public override IDeepCloneable Clone(Cloner cloner) { 34 return new Subtraction(this, cloner); 35 } 29 36 public Subtraction() : base("Subtraction", "Symbol that represents the - operator.") { } 30 37 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/Tangent.cs
r4068 r4722 20 20 #endregion 21 21 22 using HeuristicLab.Common; 22 23 using HeuristicLab.Core; 23 24 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Symbols; … … 27 28 [Item("Tangent", "Symbol that represents the tangent trigonometric function.")] 28 29 public sealed class Tangent : Symbol { 30 [StorableConstructor] 31 private Tangent(bool deserializing) : base(deserializing) { } 32 private Tangent(Tangent original, Cloner cloner) : base(original, cloner) { } 33 public override IDeepCloneable Clone(Cloner cloner) { 34 return new Tangent(this, cloner); 35 } 29 36 public Tangent() : base("Tangent", "Symbol that represents the tangent trigonometric function.") { } 30 37 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/Variable.cs
r4068 r4722 90 90 } 91 91 #endregion 92 [StorableConstructor] 93 protected Variable(bool deserializing) : base(deserializing) { 94 variableNames = new List<string>(); 95 } 96 protected Variable(Variable original, Cloner cloner) 97 : base(original, cloner) { 98 weightNu = original.weightNu; 99 weightSigma = original.weightSigma; 100 variableNames = new List<string>(original.variableNames); 101 weightManipulatorNu = original.weightManipulatorNu; 102 weightManipulatorSigma = original.weightManipulatorSigma; 103 } 92 104 public Variable() : this("Variable", "Represents a variable value.") { } 93 105 public Variable(string name, string description) … … 105 117 106 118 public override IDeepCloneable Clone(Cloner cloner) { 107 Variable clone = (Variable)base.Clone(cloner); 108 clone.weightNu = weightNu; 109 clone.weightSigma = weightSigma; 110 clone.variableNames = new List<string>(variableNames); 111 clone.weightManipulatorNu = weightManipulatorNu; 112 clone.weightManipulatorSigma = weightManipulatorSigma; 113 return clone; 119 return new Variable(this, cloner); 114 120 } 115 121 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/VariableTreeNode.cs
r4239 r4722 20 20 #endregion 21 21 22 using HeuristicLab.Common; 22 23 using HeuristicLab.Core; 23 using HeuristicLab.Common;24 24 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 25 25 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; … … 44 44 } 45 45 46 47 protected VariableTreeNode() { } 48 49 // copy constructor 50 protected VariableTreeNode(VariableTreeNode original) 51 : base(original) { 46 [StorableConstructor] 47 protected VariableTreeNode(bool deserializing) : base(deserializing) { } 48 protected VariableTreeNode(VariableTreeNode original, Cloner cloner) 49 : base(original, cloner) { 52 50 weight = original.weight; 53 51 variableName = original.variableName; 54 52 } 55 53 protected VariableTreeNode() { } 56 54 public VariableTreeNode(Variable variableSymbol) : base(variableSymbol) { } 57 55 … … 75 73 } 76 74 77 78 public override object Clone() { 79 return new VariableTreeNode(this); 75 public override IDeepCloneable Clone(Cloner cloner) { 76 return new VariableTreeNode(this, cloner); 80 77 } 81 78 -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/VariableFrequencyAnalyser.cs
r4125 r4722 22 22 using System.Collections.Generic; 23 23 using System.Linq; 24 using HeuristicLab.Common; 24 25 using HeuristicLab.Core; 25 26 using HeuristicLab.Data; … … 61 62 } 62 63 #endregion 64 [StorableConstructor] 65 protected VariableFrequencyAnalyser(bool deserializing) : base(deserializing) { } 66 protected VariableFrequencyAnalyser(VariableFrequencyAnalyser original, Cloner cloner) 67 : base(original, cloner) { 68 } 63 69 public VariableFrequencyAnalyser() 64 70 : base() { … … 80 86 VariableFrequencies[lastRowIndex, columnIndex] = pair.Value; 81 87 } 82 return null;88 return base.Apply(); 83 89 } 84 90 -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Tests/LinearScalingTest.cs
r4477 r4722 20 20 #endregion 21 21 22 using System.IO;23 using System;24 using HeuristicLab.Random;25 using HeuristicLab.Common;26 22 using System.Collections.Generic; 27 using System.Diagnostics; 28 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 29 using HeuristicLab.Problems.DataAnalysis.Symbolic; 23 using System.Linq; 24 using HeuristicLab.Problems.DataAnalysis.Regression.Symbolic; 30 25 using Microsoft.VisualStudio.TestTools.UnitTesting; 31 using System.Linq;32 using System.Globalization;33 using HeuristicLab.Problems.DataAnalysis.Regression.Symbolic;34 26 namespace HeuristicLab.Problems.DataAnalysis.Tests { 35 27 -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Tests/StatisticCalculatorsTest.cs
r4477 r4722 20 20 #endregion 21 21 22 using System.IO;23 22 using System; 24 using HeuristicLab.Random;25 using HeuristicLab.Common;26 23 using System.Collections.Generic; 27 using System.Diagnostics; 28 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 29 using HeuristicLab.Problems.DataAnalysis.Symbolic; 24 using System.Linq; 25 using HeuristicLab.Problems.DataAnalysis.Evaluators; 30 26 using Microsoft.VisualStudio.TestTools.UnitTesting; 31 using System.Linq;32 using System.Globalization;33 using HeuristicLab.Problems.DataAnalysis.Regression.Symbolic;34 using HeuristicLab.Problems.DataAnalysis.Evaluators;35 27 namespace HeuristicLab.Problems.DataAnalysis.Tests { 36 28 -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Tests/SymbolicSimplifierTest.cs
r4477 r4722 20 20 #endregion 21 21 22 using System.IO;23 22 using System; 24 using HeuristicLab.Random;23 using System.Collections.Generic; 25 24 using HeuristicLab.Common; 26 using System.Collections.Generic; 27 using System.Diagnostics; 25 using HeuristicLab.Core; 28 26 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 27 using HeuristicLab.Optimization; 28 using HeuristicLab.Problems.DataAnalysis.Regression.Symbolic; 29 29 using HeuristicLab.Problems.DataAnalysis.Symbolic; 30 30 using Microsoft.VisualStudio.TestTools.UnitTesting; 31 using System.Linq;32 using System.Globalization;33 using HeuristicLab.Problems.DataAnalysis.Regression.Symbolic;34 using HeuristicLab.Problems.DataAnalysis.Evaluators;35 using HeuristicLab.Core;36 using HeuristicLab.Optimization;37 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Symbols;38 31 namespace HeuristicLab.Problems.DataAnalysis.Tests { 39 32
Note: See TracChangeset
for help on using the changeset viewer.