Changeset 17999
- Timestamp:
- 06/28/21 10:35:19 (3 years ago)
- Location:
- trunk/HeuristicLab.Problems.DataAnalysis/3.4
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/HeuristicLab.Problems.DataAnalysis/3.4/DatasetExtensions.cs
r17911 r17999 96 96 } 97 97 98 public static IntervalCollection GetIntervals(this IDataset dataset) { 99 IntervalCollection intervalCollection = new IntervalCollection(); 100 foreach (var variable in dataset.DoubleVariables) { // intervals are only possible for double variables 101 var variableInterval = Interval.GetInterval(dataset.GetDoubleValues(variable)); 102 intervalCollection.AddInterval(variable, variableInterval); 98 public static IntervalCollection GetVariableRanges(this IDataset dataset, bool ignoreNaNs = true) { 99 IntervalCollection variableRanges = new IntervalCollection(); 100 foreach (var variable in dataset.DoubleVariables) { // ranges can only be calculated for double variables 101 var values = dataset.GetDoubleValues(variable); 102 103 if (ignoreNaNs) { 104 values = values.Where(v => !double.IsNaN(v)); 105 106 if (!values.Any()) { //handle values with only NaNs explicitly 107 var emptyInterval = new Interval(double.NaN, double.NaN); 108 variableRanges.AddInterval(variable, emptyInterval); 109 continue; 110 } 111 } 112 113 var interval = Interval.GetInterval(values); 114 variableRanges.AddInterval(variable, interval); 103 115 } 104 116 105 return intervalCollection;117 return variableRanges; 106 118 } 107 119 -
trunk/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionProblemData.cs
r17958 r17999 130 130 private void AfterDeserialization() { 131 131 if (!Parameters.ContainsKey(VariableRangesParameterName)) { 132 var intervalCollection = Dataset.GetIntervals();132 var variableRanges = Dataset.GetVariableRanges(); 133 133 Parameters.Add(new FixedValueParameter<IntervalCollection>(VariableRangesParameterName, intervalCollection)); 134 134 } … … 164 164 Parameters.Add(new ConstrainedValueParameter<StringValue>(TargetVariableParameterName, new ItemSet<StringValue>(variables), variables.Where(x => x.Value == targetVariable).First())); 165 165 if (variableRanges == null) { 166 variableRanges = Dataset.Get Intervals();166 variableRanges = Dataset.GetVariableRanges(); 167 167 } 168 168 Parameters.Add(new FixedValueParameter<IntervalCollection>(VariableRangesParameterName, variableRanges)); -
trunk/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/ShapeConstrainedRegressionProblemData.cs
r17982 r17999 100 100 new ShapeConstraint("x", 1, new Interval(0, double.PositiveInfinity), 1.0) 101 101 }; 102 defaultVariableRanges = defaultDataset.Get Intervals();102 defaultVariableRanges = defaultDataset.GetVariableRanges(); 103 103 defaultVariableRanges.SetInterval("x", new Interval(0, 6)); 104 104
Note: See TracChangeset
for help on using the changeset viewer.