- Timestamp:
- 05/04/17 17:19:35 (8 years ago)
- Location:
- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4
- Files:
-
- 56 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Dataset.cs
r14864 r14927 28 28 using HeuristicLab.Core; 29 29 using HeuristicLab.Data; 30 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;30 using HeuristicLab.Persistence; 31 31 32 32 namespace HeuristicLab.Problems.DataAnalysis { 33 33 [Item("Dataset", "Represents a dataset containing data that should be analyzed.")] 34 [Storable Class]34 [StorableType("b762712e-454c-4fe6-8e1d-0d24dcc2eaea")] 35 35 public class Dataset : NamedItem, IDataset { 36 36 [StorableConstructor] -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/DoubleLimit.cs
r14185 r14927 24 24 using HeuristicLab.Core; 25 25 using HeuristicLab.Data; 26 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;26 using HeuristicLab.Persistence; 27 27 28 28 namespace HeuristicLab.Problems.DataAnalysis { 29 [Storable Class]29 [StorableType("1ffb3da7-03a7-4389-b8d4-2d671459aac4")] 30 30 [Item("DoubleLimit", "Represents a lower and a upper bound for double values.")] 31 31 public class DoubleLimit : StringConvertibleValueTuple<DoubleValue, DoubleValue> { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ClassificationEnsembleModel.cs
r14185 r14927 24 24 using HeuristicLab.Common; 25 25 using HeuristicLab.Core; 26 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;26 using HeuristicLab.Persistence; 27 27 28 28 namespace HeuristicLab.Problems.DataAnalysis { … … 30 30 /// Represents classification solutions that contain an ensemble of multiple classification models 31 31 /// </summary> 32 [Storable Class]32 [StorableType("6761ed28-bdc7-4294-beb7-077133ad5cbc")] 33 33 [Item("ClassificationEnsembleModel", "A classification model that contains an ensemble of multiple classification models")] 34 34 public class ClassificationEnsembleModel : ClassificationModel, IClassificationEnsembleModel { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ClassificationEnsembleProblemData.cs
r14185 r14927 25 25 using HeuristicLab.Data; 26 26 using HeuristicLab.Parameters; 27 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;27 using HeuristicLab.Persistence; 28 28 29 29 namespace HeuristicLab.Problems.DataAnalysis { 30 [Storable Class]30 [StorableType("61402dab-c365-44bd-96fc-2b24732f73ed")] 31 31 [Item("ClassificationEnsembleProblemData", "Represents an item containing all data defining a classification problem.")] 32 32 public class ClassificationEnsembleProblemData : ClassificationProblemData { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ClassificationEnsembleSolution.cs
r14185 r14927 27 27 using HeuristicLab.Core; 28 28 using HeuristicLab.Data; 29 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;29 using HeuristicLab.Persistence; 30 30 31 31 namespace HeuristicLab.Problems.DataAnalysis { … … 33 33 /// Represents classification solutions that contain an ensemble of multiple classification models 34 34 /// </summary> 35 [Storable Class]35 [StorableType("fdded23f-e5c0-49b0-a0a8-2a6860606245")] 36 36 [Item("Classification Ensemble Solution", "A classification solution that contains an ensemble of multiple classification models")] 37 37 [Creatable(CreatableAttribute.Categories.DataAnalysisEnsembles, Priority = 110)] -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ClassificationModel.cs
r14290 r14927 24 24 using HeuristicLab.Common; 25 25 using HeuristicLab.Core; 26 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;26 using HeuristicLab.Persistence; 27 27 28 28 namespace HeuristicLab.Problems.DataAnalysis { 29 [Storable Class]29 [StorableType("4f482a86-2129-4d3e-a4c5-e666b6aeea14")] 30 30 [Item("Classification Model", "Base class for all classification models.")] 31 31 public abstract class ClassificationModel : DataAnalysisModel, IClassificationModel { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ClassificationPerformanceMeasures.cs
r14185 r14927 24 24 using HeuristicLab.Data; 25 25 using HeuristicLab.Optimization; 26 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;26 using HeuristicLab.Persistence; 27 27 28 28 namespace HeuristicLab.Problems.DataAnalysis { 29 [Storable Class]29 [StorableType("b7a45896-c96b-4ed1-ab51-4af1cf9feae5")] 30 30 public class ClassificationPerformanceMeasuresResultCollection : ResultCollection { 31 31 #region result names -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ClassificationProblem.cs
r14185 r14927 22 22 using HeuristicLab.Common; 23 23 using HeuristicLab.Core; 24 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;24 using HeuristicLab.Persistence; 25 25 26 26 namespace HeuristicLab.Problems.DataAnalysis { 27 [Storable Class]27 [StorableType("43dde58c-4d6c-4e2c-af47-5e170a460783")] 28 28 [Item("Classification Problem", "A general classification problem.")] 29 29 public class ClassificationProblem : DataAnalysisProblem<IClassificationProblemData>, IClassificationProblem, IStorableContent { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ClassificationProblemData.cs
r14185 r14927 27 27 using HeuristicLab.Data; 28 28 using HeuristicLab.Parameters; 29 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;29 using HeuristicLab.Persistence; 30 30 31 31 namespace HeuristicLab.Problems.DataAnalysis { 32 [Storable Class]32 [StorableType("4d9ed3cf-b3f8-4daf-9cab-74fb3942dd8c")] 33 33 [Item("ClassificationProblemData", "Represents an item containing all data defining a classification problem.")] 34 34 public class ClassificationProblemData : DataAnalysisProblemData, IClassificationProblemData, IStorableContent { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ClassificationSolution.cs
r14185 r14927 23 23 using System.Linq; 24 24 using HeuristicLab.Common; 25 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;25 using HeuristicLab.Persistence; 26 26 27 27 namespace HeuristicLab.Problems.DataAnalysis { … … 29 29 /// Represents a classification data analysis solution 30 30 /// </summary> 31 [Storable Class]31 [StorableType("cc22a9ee-8a52-4d23-8f53-5e531706324b")] 32 32 public class ClassificationSolution : ClassificationSolutionBase { 33 33 protected readonly Dictionary<int, double> evaluationCache; -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ClassificationSolutionBase.cs
r14290 r14927 25 25 using HeuristicLab.Data; 26 26 using HeuristicLab.Optimization; 27 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;27 using HeuristicLab.Persistence; 28 28 using HeuristicLab.Problems.DataAnalysis.OnlineCalculators; 29 29 30 30 namespace HeuristicLab.Problems.DataAnalysis { 31 [Storable Class]31 [StorableType("5c67f421-2918-40a5-83a4-bebcaf5e49b5")] 32 32 public abstract class ClassificationSolutionBase : DataAnalysisSolution, IClassificationSolution { 33 33 private const string TrainingAccuracyResultName = "Accuracy (training)"; -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ConstantClassificationSolution.cs
r14185 r14927 22 22 using HeuristicLab.Common; 23 23 using HeuristicLab.Core; 24 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;24 using HeuristicLab.Persistence; 25 25 26 26 namespace HeuristicLab.Problems.DataAnalysis { 27 [Storable Class]27 [StorableType("9090b8ae-63f8-4932-bda0-1a70872f3f92")] 28 28 [Item(Name = "Constant Classification Solution", Description = "Represents a constant classification solution (model + data).")] 29 29 public class ConstantClassificationSolution : ClassificationSolution { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/DiscriminantFunctionClassificationModel.cs
r14185 r14927 25 25 using HeuristicLab.Common; 26 26 using HeuristicLab.Core; 27 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;27 using HeuristicLab.Persistence; 28 28 29 29 namespace HeuristicLab.Problems.DataAnalysis { … … 31 31 /// Represents discriminant function classification data analysis models. 32 32 /// </summary> 33 [Storable Class]33 [StorableType("08ff9689-5c56-4458-a55b-70e94e3d6b40")] 34 34 [Item("DiscriminantFunctionClassificationModel", "Represents a classification model that uses a discriminant function and classification thresholds.")] 35 35 public class DiscriminantFunctionClassificationModel : ClassificationModel, IDiscriminantFunctionClassificationModel { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/DiscriminantFunctionClassificationSolution.cs
r14185 r14927 24 24 using HeuristicLab.Common; 25 25 using HeuristicLab.Core; 26 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;26 using HeuristicLab.Persistence; 27 27 28 28 namespace HeuristicLab.Problems.DataAnalysis { … … 30 30 /// Represents a classification solution that uses a discriminant function and classification thresholds. 31 31 /// </summary> 32 [Storable Class]32 [StorableType("1970b1e6-0649-43dd-a8f4-48afc8bc7a46")] 33 33 [Item("DiscriminantFunctionClassificationSolution", "Represents a classification solution that uses a discriminant function and classification thresholds.")] 34 34 public class DiscriminantFunctionClassificationSolution : DiscriminantFunctionClassificationSolutionBase { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/DiscriminantFunctionClassificationSolutionBase.cs
r14185 r14927 27 27 using HeuristicLab.Data; 28 28 using HeuristicLab.Optimization; 29 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;29 using HeuristicLab.Persistence; 30 30 31 31 namespace HeuristicLab.Problems.DataAnalysis { … … 33 33 /// Represents a classification solution that uses a discriminant function and classification thresholds. 34 34 /// </summary> 35 [Storable Class]35 [StorableType("0cf40763-3f72-49c4-a674-a070aec9d032")] 36 36 [Item("DiscriminantFunctionClassificationSolution", "Represents a classification solution that uses a discriminant function and classification thresholds.")] 37 37 public abstract class DiscriminantFunctionClassificationSolutionBase : ClassificationSolutionBase, IDiscriminantFunctionClassificationSolution { … … 106 106 107 107 double trainingR = OnlinePearsonsRCalculator.Calculate(originalTrainingValues, estimatedTrainingValues, out errorState); 108 TrainingRSquared = errorState == OnlineCalculatorError.None ? trainingR *trainingR : double.NaN;108 TrainingRSquared = errorState == OnlineCalculatorError.None ? trainingR * trainingR : double.NaN; 109 109 double testR = OnlinePearsonsRCalculator.Calculate(originalTestValues, estimatedTestValues, out errorState); 110 TestRSquared = errorState == OnlineCalculatorError.None ? testR *testR : double.NaN;110 TestRSquared = errorState == OnlineCalculatorError.None ? testR * testR : double.NaN; 111 111 112 112 double trainingNormalizedGini = NormalizedGiniCalculator.Calculate(originalTrainingValues, estimatedTrainingValues, out errorState); -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ThresholdCalculators/AccuracyMaximizationThresholdCalculator.cs
r14185 r14927 25 25 using HeuristicLab.Common; 26 26 using HeuristicLab.Core; 27 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;27 using HeuristicLab.Persistence; 28 28 29 29 namespace HeuristicLab.Problems.DataAnalysis { … … 31 31 /// Represents a threshold calculator that maximizes the weighted accuracy of the classifcation model. 32 32 /// </summary> 33 [Storable Class]33 [StorableType("bb9b9036-7843-4fdd-8544-6191eed7bd21")] 34 34 [Item("AccuracyMaximizationThresholdCalculator", "Represents a threshold calculator that maximizes the weighted accuracy of the classifcation model.")] 35 35 public class AccuracyMaximizationThresholdCalculator : ThresholdCalculator { … … 93 93 classificationScore += problemData.GetClassificationPenalty(pair.TargetClassValue, classValues[i]); 94 94 } 95 95 //all negatives 96 96 else { 97 97 //false positive … … 116 116 seriesOfEqualClassificationScores = true; 117 117 } 118 118 //equal classification scores => if seriesOfEqualClassifcationScores == true update highest threshold 119 119 else if (Math.Abs(classificationScore - bestClassificationScore) < double.Epsilon && seriesOfEqualClassificationScores) 120 120 highestBestThreshold = actualThreshold; -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ThresholdCalculators/NormalDistributionCutPointsThresholdCalculator.cs
r14185 r14927 25 25 using HeuristicLab.Common; 26 26 using HeuristicLab.Core; 27 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;27 using HeuristicLab.Persistence; 28 28 29 29 namespace HeuristicLab.Problems.DataAnalysis { … … 31 31 /// Represents a threshold calculator that calculates thresholds as the cutting points between the estimated class distributions (assuming normally distributed class values). 32 32 /// </summary> 33 [Storable Class]33 [StorableType("8d46742b-731e-4319-a063-bf20d458e709")] 34 34 [Item("NormalDistributionCutPointsThresholdCalculator", "Represents a threshold calculator that calculates thresholds as the cutting points between the estimated class distributions (assuming normally distributed class values).")] 35 35 public class NormalDistributionCutPointsThresholdCalculator : ThresholdCalculator { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ThresholdCalculators/ThresholdCalculator.cs
r14185 r14927 23 23 using HeuristicLab.Common; 24 24 using HeuristicLab.Core; 25 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;25 using HeuristicLab.Persistence; 26 26 27 27 namespace HeuristicLab.Problems.DataAnalysis { … … 29 29 /// Base class for threshold calculators for discriminant function classification models. 30 30 /// </summary> 31 [Storable Class]31 [StorableType("097aa7bf-3adf-436b-a369-71a3e721a8bf")] 32 32 public abstract class ThresholdCalculator : NamedItem, IDiscriminantFunctionThresholdCalculator { 33 33 -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Clustering/ClusteringProblem.cs
r14185 r14927 22 22 using HeuristicLab.Common; 23 23 using HeuristicLab.Core; 24 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;24 using HeuristicLab.Persistence; 25 25 26 26 namespace HeuristicLab.Problems.DataAnalysis { 27 [Storable Class]27 [StorableType("f4aa199b-814a-4e64-a95b-e929ad21bc33")] 28 28 [Item("Clustering Problem", "A general clustering problem.")] 29 29 public class ClusteringProblem : DataAnalysisProblem<IClusteringProblemData>, IClusteringProblem { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Clustering/ClusteringProblemData.cs
r14185 r14927 24 24 using HeuristicLab.Common; 25 25 using HeuristicLab.Core; 26 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;26 using HeuristicLab.Persistence; 27 27 28 28 namespace HeuristicLab.Problems.DataAnalysis { 29 [Storable Class]29 [StorableType("c78ebf60-d004-4971-8152-baa5a34e7eac")] 30 30 [Item("ClusteringProblemData", "Represents an item containing all data defining a clustering problem.")] 31 31 public sealed class ClusteringProblemData : DataAnalysisProblemData, IClusteringProblemData, IStorableContent { … … 34 34 #region default data 35 35 private static double[,] kozaF1 = new double[,] { 36 {2.017885919, 37 {1.30060506, 38 {1.147134798, 39 {0.877182504, 40 {0.852562452, 41 {0.431095788, 42 {0.112586002, 43 {0.04594507, 44 {0.042572879, 45 {-0.074027291, 46 {-0.109178553, 47 {-0.259721109, 48 {-0.272991057, 49 {-0.161978191, 50 {-0.102489983, 51 {-0.01469968, 52 {-0.008863365, 53 {0.026751057, 54 {0.166922436, 55 {0.176953808, 56 {0.190233418, 57 {0.199800708, 58 {0.261502822, 59 {0.30182879, 60 {0.83763905, 36 {2.017885919, -1.449165046}, 37 {1.30060506, -1.344523885}, 38 {1.147134798, -1.317989331}, 39 {0.877182504, -1.266142284}, 40 {0.852562452, -1.261020794}, 41 {0.431095788, -1.158793317}, 42 {0.112586002, -1.050908405}, 43 {0.04594507, -1.021989402}, 44 {0.042572879, -1.020438113}, 45 {-0.074027291, -0.959859562}, 46 {-0.109178553, -0.938094706}, 47 {-0.259721109, -0.803635355}, 48 {-0.272991057, -0.387519561}, 49 {-0.161978191, -0.193611001}, 50 {-0.102489983, -0.114215349}, 51 {-0.01469968, -0.014918985}, 52 {-0.008863365, -0.008942626}, 53 {0.026751057, 0.026054094}, 54 {0.166922436, 0.14309643}, 55 {0.176953808, 0.1504144}, 56 {0.190233418, 0.159916534}, 57 {0.199800708, 0.166635331}, 58 {0.261502822, 0.207600348}, 59 {0.30182879, 0.232370249}, 60 {0.83763905, 0.468046718} 61 61 }; 62 62 private static Dataset defaultDataset; -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Clustering/ClusteringSolution.cs
r14185 r14927 23 23 using System.Linq; 24 24 using HeuristicLab.Common; 25 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;25 using HeuristicLab.Persistence; 26 26 27 27 namespace HeuristicLab.Problems.DataAnalysis { … … 29 29 /// Represents a clustering data analysis solution 30 30 /// </summary> 31 [Storable Class]31 [StorableType("951183ec-c677-4121-9d68-5a7c7da14b92")] 32 32 public class ClusteringSolution : DataAnalysisSolution, IClusteringSolution { 33 33 -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/ConstantModel.cs
r14185 r14927 26 26 using HeuristicLab.Core; 27 27 using HeuristicLab.Data; 28 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;28 using HeuristicLab.Persistence; 29 29 30 30 namespace HeuristicLab.Problems.DataAnalysis { 31 [Storable Class]31 [StorableType("2183d7d0-e974-4f5e-ac44-3de60b3eeba4")] 32 32 [Item("Constant Model", "A model that always returns the same constant value regardless of the presented input data.")] 33 33 public class ConstantModel : RegressionModel, IClassificationModel, ITimeSeriesPrognosisModel, IStringConvertibleValue { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/DataAnalysisModel.cs
r13941 r14927 23 23 using HeuristicLab.Common; 24 24 using HeuristicLab.Core; 25 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;25 using HeuristicLab.Persistence; 26 26 27 27 namespace HeuristicLab.Problems.DataAnalysis { 28 [Storable Class]28 [StorableType("0ae45f49-86b8-4fd5-ac22-bab5209a12f6")] 29 29 [Item("DataAnalysisModel", "Base class for data analysis models.")] 30 30 public abstract class DataAnalysisModel : NamedItem, IDataAnalysisModel { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/DataAnalysisProblem.cs
r14185 r14927 25 25 using HeuristicLab.Optimization; 26 26 using HeuristicLab.Parameters; 27 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;27 using HeuristicLab.Persistence; 28 28 using HeuristicLab.Problems.Instances; 29 29 30 30 namespace HeuristicLab.Problems.DataAnalysis { 31 [Storable Class]31 [StorableType("917ebb93-1151-4988-9a12-700dfdd9e885")] 32 32 public abstract class DataAnalysisProblem<T> : Problem, IDataAnalysisProblem<T>, 33 33 IProblemInstanceConsumer<T>, IProblemInstanceExporter<T> -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/DataAnalysisProblemData.cs
r14843 r14927 29 29 using HeuristicLab.Data; 30 30 using HeuristicLab.Parameters; 31 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;31 using HeuristicLab.Persistence; 32 32 33 33 namespace HeuristicLab.Problems.DataAnalysis { 34 [Storable Class]34 [StorableType("a75fb5b3-6f84-4b41-b275-8df4007531f6")] 35 35 public abstract class DataAnalysisProblemData : ParameterizedNamedItem, IDataAnalysisProblemData { 36 36 protected const string DatasetParameterName = "Dataset"; -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/DataAnalysisSolution.cs
r14185 r14927 25 25 using HeuristicLab.Common; 26 26 using HeuristicLab.Optimization; 27 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;27 using HeuristicLab.Persistence; 28 28 29 29 namespace HeuristicLab.Problems.DataAnalysis { … … 31 31 /// Abstract base class for data analysis solutions 32 32 /// </summary> 33 [Storable Class]33 [StorableType("20122af0-c1b5-4e82-8b18-b142ef7a8c56")] 34 34 public abstract class DataAnalysisSolution : ResultCollection, IDataAnalysisSolution { 35 35 private const string ModelResultName = "Model"; -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/ConfidenceBoundRegressionSolution.cs
r14099 r14927 23 23 using System.Linq; 24 24 using HeuristicLab.Common; 25 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;25 using HeuristicLab.Persistence; 26 26 27 27 namespace HeuristicLab.Problems.DataAnalysis { … … 29 29 /// Represents a regression data analysis solution that supports confidence estimates 30 30 /// </summary> 31 [Storable Class]31 [StorableType("178fbfb1-278a-4747-bedf-e58020e98499")] 32 32 public class ConfidenceRegressionSolution : RegressionSolution, IConfidenceRegressionSolution { 33 33 protected readonly Dictionary<int, double> varianceEvaluationCache; -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/ConstantRegressionModel.cs
r14185 r14927 26 26 using HeuristicLab.Core; 27 27 using HeuristicLab.Data; 28 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;28 using HeuristicLab.Persistence; 29 29 30 30 namespace HeuristicLab.Problems.DataAnalysis { 31 [Storable Class]31 [StorableType("ba67a4dd-9809-4361-b75e-4a4252ce693e")] 32 32 [Item("Constant Regression Model", "A model that always returns the same constant value regardless of the presented input data.")] 33 33 [Obsolete] -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/ConstantRegressionSolution.cs
r14185 r14927 22 22 using HeuristicLab.Common; 23 23 using HeuristicLab.Core; 24 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;24 using HeuristicLab.Persistence; 25 25 26 26 namespace HeuristicLab.Problems.DataAnalysis { 27 [Storable Class]27 [StorableType("74feddf2-0b2a-4d10-8291-3a7255f86939")] 28 28 [Item(Name = "Constant Regression Solution", Description = "Represents a constant regression solution (model + data).")] 29 29 public class ConstantRegressionSolution : RegressionSolution { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionEnsembleModel.cs
r14185 r14927 25 25 using HeuristicLab.Common; 26 26 using HeuristicLab.Core; 27 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;27 using HeuristicLab.Persistence; 28 28 29 29 namespace HeuristicLab.Problems.DataAnalysis { … … 31 31 /// Represents regression solutions that contain an ensemble of multiple regression models 32 32 /// </summary> 33 [Storable Class]33 [StorableType("22c1f7c2-240e-4606-9242-8d98b43236ee")] 34 34 [Item("RegressionEnsembleModel", "A regression model that contains an ensemble of multiple regression models")] 35 35 public sealed class RegressionEnsembleModel : RegressionModel, IRegressionEnsembleModel { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionEnsembleProblemData.cs
r14185 r14927 25 25 using HeuristicLab.Data; 26 26 using HeuristicLab.Parameters; 27 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;27 using HeuristicLab.Persistence; 28 28 29 29 namespace HeuristicLab.Problems.DataAnalysis { 30 [Storable Class]30 [StorableType("d6305dee-beca-4d9c-a8f1-5fc5d03c88b8")] 31 31 [Item("RegressionEnsembleProblemData", "Represents an item containing all data defining a regression problem.")] 32 32 public sealed class RegressionEnsembleProblemData : RegressionProblemData { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionEnsembleSolution.cs
r14185 r14927 27 27 using HeuristicLab.Core; 28 28 using HeuristicLab.Data; 29 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;29 using HeuristicLab.Persistence; 30 30 31 31 namespace HeuristicLab.Problems.DataAnalysis { … … 33 33 /// Represents regression solutions that contain an ensemble of multiple regression models 34 34 /// </summary> 35 [Storable Class]35 [StorableType("11e86af5-6705-401b-b5e2-a5c89ba22314")] 36 36 [Item("Regression Ensemble Solution", "A regression solution that contains an ensemble of multiple regression models")] 37 37 [Creatable(CreatableAttribute.Categories.DataAnalysisEnsembles, Priority = 100)] -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionModel.cs
r14290 r14927 24 24 using HeuristicLab.Common; 25 25 using HeuristicLab.Core; 26 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;26 using HeuristicLab.Persistence; 27 27 28 28 namespace HeuristicLab.Problems.DataAnalysis { 29 [Storable Class]29 [StorableType("68261e45-844e-44db-b4c9-8f20bfc1e8c5")] 30 30 [Item("Regression Model", "Base class for all regression models.")] 31 31 public abstract class RegressionModel : DataAnalysisModel, IRegressionModel { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionProblem.cs
r14185 r14927 22 22 using HeuristicLab.Common; 23 23 using HeuristicLab.Core; 24 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;24 using HeuristicLab.Persistence; 25 25 26 26 namespace HeuristicLab.Problems.DataAnalysis { 27 [Storable Class]27 [StorableType("1f11eb11-4995-4d4a-891c-49740847638d")] 28 28 [Item("Regression Problem", "A general regression problem.")] 29 29 public class RegressionProblem : DataAnalysisProblem<IRegressionProblemData>, IRegressionProblem, IStorableContent { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionProblemData.cs
r14185 r14927 27 27 using HeuristicLab.Data; 28 28 using HeuristicLab.Parameters; 29 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;29 using HeuristicLab.Persistence; 30 30 31 31 namespace HeuristicLab.Problems.DataAnalysis { 32 [Storable Class]32 [StorableType("deaa112d-c5c3-4f56-9c35-4a4258019ad0")] 33 33 [Item("RegressionProblemData", "Represents an item containing all data defining a regression problem.")] 34 34 public class RegressionProblemData : DataAnalysisProblemData, IRegressionProblemData, IStorableContent { … … 38 38 #region default data 39 39 private static double[,] kozaF1 = new double[,] { 40 {2.017885919, 41 {1.30060506, 42 {1.147134798, 43 {0.877182504, 44 {0.852562452, 45 {0.431095788, 46 {0.112586002, 47 {0.04594507, 48 {0.042572879, 49 {-0.074027291, 50 {-0.109178553, 51 {-0.259721109, 52 {-0.272991057, 53 {-0.161978191, 54 {-0.102489983, 55 {-0.01469968, 56 {-0.008863365, 57 {0.026751057, 58 {0.166922436, 59 {0.176953808, 60 {0.190233418, 61 {0.199800708, 62 {0.261502822, 63 {0.30182879, 64 {0.83763905, 40 {2.017885919, -1.449165046}, 41 {1.30060506, -1.344523885}, 42 {1.147134798, -1.317989331}, 43 {0.877182504, -1.266142284}, 44 {0.852562452, -1.261020794}, 45 {0.431095788, -1.158793317}, 46 {0.112586002, -1.050908405}, 47 {0.04594507, -1.021989402}, 48 {0.042572879, -1.020438113}, 49 {-0.074027291, -0.959859562}, 50 {-0.109178553, -0.938094706}, 51 {-0.259721109, -0.803635355}, 52 {-0.272991057, -0.387519561}, 53 {-0.161978191, -0.193611001}, 54 {-0.102489983, -0.114215349}, 55 {-0.01469968, -0.014918985}, 56 {-0.008863365, -0.008942626}, 57 {0.026751057, 0.026054094}, 58 {0.166922436, 0.14309643}, 59 {0.176953808, 0.1504144}, 60 {0.190233418, 0.159916534}, 61 {0.199800708, 0.166635331}, 62 {0.261502822, 0.207600348}, 63 {0.30182879, 0.232370249}, 64 {0.83763905, 0.468046718} 65 65 }; 66 66 private static readonly Dataset defaultDataset; -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionSolution.cs
r14185 r14927 23 23 using System.Linq; 24 24 using HeuristicLab.Common; 25 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;25 using HeuristicLab.Persistence; 26 26 27 27 namespace HeuristicLab.Problems.DataAnalysis { … … 29 29 /// Represents a regression data analysis solution 30 30 /// </summary> 31 [Storable Class]31 [StorableType("28a1e0ca-6d22-4f4e-be07-ed34f7270a90")] 32 32 public class RegressionSolution : RegressionSolutionBase { 33 33 protected readonly Dictionary<int, double> evaluationCache; -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionSolutionBase.cs
r14290 r14927 25 25 using HeuristicLab.Data; 26 26 using HeuristicLab.Optimization; 27 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;27 using HeuristicLab.Persistence; 28 28 29 29 namespace HeuristicLab.Problems.DataAnalysis { 30 [Storable Class]30 [StorableType("19bf517f-01af-45fe-938b-f036256cc6b8")] 31 31 public abstract class RegressionSolutionBase : DataAnalysisSolution, IRegressionSolution { 32 32 protected const string TrainingMeanSquaredErrorResultName = "Mean squared error (training)"; -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionSolutionVariableImpactsCalculator.cs
r14826 r14927 29 29 using HeuristicLab.Data; 30 30 using HeuristicLab.Parameters; 31 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;31 using HeuristicLab.Persistence; 32 32 using HeuristicLab.Random; 33 33 34 34 namespace HeuristicLab.Problems.DataAnalysis { 35 [Storable Class]35 [StorableType("de95788b-0353-4996-b307-c66432460ed2")] 36 36 [Item("RegressionSolution Impacts Calculator", "Calculation of the impacts of input variables for any regression solution")] 37 37 public sealed class RegressionSolutionVariableImpactsCalculator : ParameterizedNamedItem { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/TimeSeriesPrognosis/Models/ConstantTimeSeriesPrognosisModel.cs
r14185 r14927 25 25 using HeuristicLab.Common; 26 26 using HeuristicLab.Core; 27 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;27 using HeuristicLab.Persistence; 28 28 29 29 namespace HeuristicLab.Problems.DataAnalysis { 30 [Storable Class]30 [StorableType("8c3ae4a4-604f-4c3a-9d0f-9b49918b4836")] 31 31 [Item("Constant TimeSeries Model", "A time series model that returns for all prediciton the same constant value.")] 32 32 [Obsolete] -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/TimeSeriesPrognosis/Models/TimeSeriesPrognosisAutoRegressiveModel.cs
r14185 r14927 25 25 using HeuristicLab.Common; 26 26 using HeuristicLab.Core; 27 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;27 using HeuristicLab.Persistence; 28 28 29 29 namespace HeuristicLab.Problems.DataAnalysis { 30 [Storable Class]30 [StorableType("d455af4d-d785-4c69-9e61-56792c9a50c6")] 31 31 [Item("Autoregressive TimeSeries Model", "A linear autoregressive time series model used to predict future values.")] 32 32 public class TimeSeriesPrognosisAutoRegressiveModel : RegressionModel, ITimeSeriesPrognosisModel { 33 33 public override IEnumerable<string> VariablesUsedForPrediction { 34 get { return new[] { TargetVariable }; } 34 get { return new[] { TargetVariable }; } 35 35 } 36 36 -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/TimeSeriesPrognosis/TimeSeriesPrognosisProblem.cs
r14185 r14927 22 22 using HeuristicLab.Common; 23 23 using HeuristicLab.Core; 24 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;24 using HeuristicLab.Persistence; 25 25 26 26 namespace HeuristicLab.Problems.DataAnalysis { 27 [Storable Class]27 [StorableType("d22c5ca5-affc-4938-b770-23f5d54f6ced")] 28 28 [Item("Time-series Prognosis Problem", "A general time-series prognosis problem.")] 29 29 public class TimeSeriesPrognosisProblem : DataAnalysisProblem<ITimeSeriesPrognosisProblemData>, ITimeSeriesPrognosisProblem { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/TimeSeriesPrognosis/TimeSeriesPrognosisProblemData.cs
r14185 r14927 27 27 using HeuristicLab.Data; 28 28 using HeuristicLab.Parameters; 29 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;29 using HeuristicLab.Persistence; 30 30 31 31 namespace HeuristicLab.Problems.DataAnalysis { 32 [Storable Class]32 [StorableType("83d632b4-2787-4845-b968-2b272851ef53")] 33 33 [Item("TimeSeriesPrognosisProblemData", "Represents an item containing all data defining a time series prognosis problem.")] 34 34 public class TimeSeriesPrognosisProblemData : RegressionProblemData, ITimeSeriesPrognosisProblemData { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/TimeSeriesPrognosis/TimeSeriesPrognosisResults.cs
r14185 r14927 27 27 using HeuristicLab.Data; 28 28 using HeuristicLab.Optimization; 29 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;29 using HeuristicLab.Persistence; 30 30 31 31 namespace HeuristicLab.Problems.DataAnalysis { 32 [Storable Class]32 [StorableType("6c1d2a90-d040-44ef-8eed-ac4f9298722e")] 33 33 [Item("Prognosis Results", "Represents a collection of time series prognosis results.")] 34 34 public class TimeSeriesPrognosisResults : ResultCollection { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/TimeSeriesPrognosis/TimeSeriesPrognosisSolution.cs
r14422 r14927 23 23 using System.Linq; 24 24 using HeuristicLab.Common; 25 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;25 using HeuristicLab.Persistence; 26 26 27 27 namespace HeuristicLab.Problems.DataAnalysis { … … 29 29 /// Represents a time series prognosis data analysis solution 30 30 /// </summary> 31 [Storable Class]31 [StorableType("e2b067e1-d4ea-485e-a84b-cdb735a8421e")] 32 32 public class TimeSeriesPrognosisSolution : TimeSeriesPrognosisSolutionBase { 33 33 [StorableConstructor] -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/TimeSeriesPrognosis/TimeSeriesPrognosisSolutionBase.cs
r14422 r14927 25 25 using HeuristicLab.Data; 26 26 using HeuristicLab.Optimization; 27 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;27 using HeuristicLab.Persistence; 28 28 29 29 namespace HeuristicLab.Problems.DataAnalysis { 30 [Storable Class]30 [StorableType("3ccbed55-c265-41da-bd5c-534243522597")] 31 31 public abstract class TimeSeriesPrognosisSolutionBase : RegressionSolutionBase, ITimeSeriesPrognosisSolution { 32 32 #region result names -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Transformations/CopyColumnTransformation.cs
r14185 r14927 26 26 using HeuristicLab.Data; 27 27 using HeuristicLab.Parameters; 28 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;28 using HeuristicLab.Persistence; 29 29 30 30 namespace HeuristicLab.Problems.DataAnalysis { 31 [Storable Class]31 [StorableType("d68978dc-e26f-4ec8-9a63-d8e924641076")] 32 32 [Item("CopyColumnTransformation", "Represents a transformation which represents a copied Column.")] 33 33 public class CopyColumnTransformation : Transformation { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Transformations/ExponentialTransformation.cs
r12612 r14927 6 6 using HeuristicLab.Data; 7 7 using HeuristicLab.Parameters; 8 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;8 using HeuristicLab.Persistence; 9 9 10 10 namespace HeuristicLab.Problems.DataAnalysis { 11 [Storable Class]11 [StorableType("020dbf14-a47b-446f-8ba3-03e34fec54c3")] 12 12 [Item("Exponential Transformation", "f(x) = b ^ x | Represents a exponential transformation.")] 13 13 public class ExponentialTransformation : Transformation<double> { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Transformations/LinearTransformation.cs
r14843 r14927 28 28 using HeuristicLab.Data; 29 29 using HeuristicLab.Parameters; 30 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;30 using HeuristicLab.Persistence; 31 31 32 32 namespace HeuristicLab.Problems.DataAnalysis { 33 [Storable Class]33 [StorableType("99d3ba74-c5c7-4250-a9d4-da7571d6e772")] 34 34 [Item("Linear Transformation", "f(x) = k * x + d | Represents a linear transformation with multiplication and addition.")] 35 35 public class LinearTransformation : Transformation<double> { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Transformations/LogarithmicTransformation.cs
r12612 r14927 6 6 using HeuristicLab.Data; 7 7 using HeuristicLab.Parameters; 8 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;8 using HeuristicLab.Persistence; 9 9 10 10 namespace HeuristicLab.Problems.DataAnalysis { 11 [Storable Class]11 [StorableType("d03d3083-30af-4eb2-845f-fcd1f608875b")] 12 12 [Item("Logarithmic Transformation", "f(x) = log(x, b) | Represents a logarithmic transformation.")] 13 13 public class LogarithmicTransformation : Transformation<double> { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Transformations/PowerTransformation.cs
r12612 r14927 6 6 using HeuristicLab.Data; 7 7 using HeuristicLab.Parameters; 8 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;8 using HeuristicLab.Persistence; 9 9 10 10 namespace HeuristicLab.Problems.DataAnalysis { 11 [Storable Class]11 [StorableType("ee9c3add-a0ed-4caa-8a22-ac25a3da000c")] 12 12 [Item("Power Transformation", "f(x) = x ^ exp | Represents a power transformation.")] 13 13 public class PowerTransformation : Transformation<double> { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Transformations/ReciprocalTransformation.cs
r12612 r14927 5 5 using HeuristicLab.Common; 6 6 using HeuristicLab.Core; 7 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;7 using HeuristicLab.Persistence; 8 8 namespace HeuristicLab.Problems.DataAnalysis { 9 [Storable Class]9 [StorableType("92e033aa-1a60-49c6-865d-dbdef616ee13")] 10 10 [Item("Reciprocal Transformation", "f(x) = 1 / x | Represents a reciprocal transformation.")] 11 11 public class ReciprocalTransformation : Transformation<double> { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Transformations/ShiftStandardDistributionTransformation.cs
r14843 r14927 5 5 using HeuristicLab.Data; 6 6 using HeuristicLab.Parameters; 7 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;7 using HeuristicLab.Persistence; 8 8 9 9 namespace HeuristicLab.Problems.DataAnalysis { 10 [Storable Class]10 [StorableType("5dd35d1e-d71c-4236-8cb9-a6608bbc9360")] 11 11 [Item("Shift Standard Distribution Transformation", "f(x) = ((x - m_org) / s_org ) * s_tar + m_tar | Represents Transformation to unit standard deviation and additional linear transformation to a target Mean and Standard deviation")] 12 12 public class ShiftStandardDistributionTransformation : Transformation<double> { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Transformations/ShiftToRangeTransformation.cs
r14843 r14927 5 5 using HeuristicLab.Data; 6 6 using HeuristicLab.Parameters; 7 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;7 using HeuristicLab.Persistence; 8 8 9 9 namespace HeuristicLab.Problems.DataAnalysis { 10 [Storable Class]10 [StorableType("71852313-24ea-4614-9b5f-6b226403f7c0")] 11 11 [Item("Shift to Range Transformation", "f(x) = k * x + d, start <= f(x) <= end | Represents a linear Transformation using Parameters defining a target range")] 12 12 public class ShiftToRangeTransformation : LinearTransformation { -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Transformations/Transformation.cs
r14843 r14927 26 26 using HeuristicLab.Data; 27 27 using HeuristicLab.Parameters; 28 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;28 using HeuristicLab.Persistence; 29 29 30 30 namespace HeuristicLab.Problems.DataAnalysis { 31 31 32 32 [Item("Transformation", "Represents the base class for a transformation.")] 33 [Storable Class]33 [StorableType("c1fc2d66-96ac-43d7-acc1-4eb935c721e7")] 34 34 public abstract class Transformation : ParameterizedNamedItem, ITransformation { 35 35 protected const string ColumnParameterName = "Column"; … … 58 58 59 59 [Item("Transformation", "Represents the base class for a transformation.")] 60 [Storable Class]60 [StorableType("145a2f9f-25cb-4bb6-a9bf-ce1251f309f7")] 61 61 public abstract class Transformation<T> : Transformation, ITransformation<T> { 62 62 -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/ModifiableDataset.cs
r14826 r14927 29 29 using HeuristicLab.Core; 30 30 using HeuristicLab.Data; 31 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;31 using HeuristicLab.Persistence; 32 32 33 33 namespace HeuristicLab.Problems.DataAnalysis { 34 34 [Item("ModifiableDataset", "Represents a dataset containing data that should be analyzed, which can be modified by adding or replacing variables and values.")] 35 [Storable Class]35 [StorableType("0e7c096d-c50c-4043-a7fb-9d1d2dac1440")] 36 36 public sealed class ModifiableDataset : Dataset, IStringConvertibleMatrix { 37 37 [StorableConstructor] -
branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/OnlineCalculators/DependencyCalculator/SpearmansRankCorrelationCoefficientCalculator.cs
r14185 r14927 47 47 rs = alglib.basestat.spearmancorr2(original, estimated, original.Length); 48 48 errorState = OnlineCalculatorError.None; 49 } 50 catch (alglib.alglibexception) { 49 } catch (alglib.alglibexception) { 51 50 errorState = OnlineCalculatorError.InvalidValueAdded; 52 51 }
Note: See TracChangeset
for help on using the changeset viewer.