Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/16/18 11:55:13 (5 years ago)
Author:
chaider
Message:

#2956: Added intermediate of a-priori knowledge

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2956_apriori_knowledge/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionProblemData.cs

    r16244 r16303  
    3434  public class RegressionProblemData : DataAnalysisProblemData, IRegressionProblemData, IStorableContent {
    3535    protected const string TargetVariableParameterName = "TargetVariable";
     36    protected const string VariableRangeParameterName = "VariableRanges";
    3637    public string Filename { get; set; }
    3738
     
    9192      problemData.Parameters.Add(new FixedValueParameter<IntRange>(TestPartitionParameterName, "", (IntRange)new IntRange(0, 0).AsReadOnly()));
    9293      problemData.Parameters.Add(new ConstrainedValueParameter<StringValue>(TargetVariableParameterName, new ItemSet<StringValue>()));
     94      problemData.Parameters.Add(new OptionalValueParameter<DoubleMatrix>(VariableRangeParameterName, ""));
    9395      emptyProblemData = problemData;
    9496    }
    9597    #endregion
     98
     99    public OptionalValueParameter<DoubleMatrix> VariableRangeParameter {
     100      get { return (OptionalValueParameter<DoubleMatrix>)Parameters[VariableRangeParameterName]; }
     101    }
    96102
    97103    public IConstrainedValueParameter<StringValue> TargetVariableParameter {
     
    120126    }
    121127
     128    public DoubleMatrix VariableRanges {
     129      get { return VariableRangeParameter.Value; }
     130    }
    122131
    123132    [StorableConstructor]
     
    152161      var variables = InputVariables.Select(x => x.AsReadOnly()).ToList();
    153162      Parameters.Add(new ConstrainedValueParameter<StringValue>(TargetVariableParameterName, new ItemSet<StringValue>(variables), variables.Where(x => x.Value == targetVariable).First()));
     163
     164      DoubleMatrix variableRanges = new DoubleMatrix(variables.Count, 2, new string[] { "Lower Bound", "Upper Bound" }, variables.Select(x => x.Value));
     165      Parameters.Add(new FixedValueParameter<DoubleMatrix>(VariableRangeParameterName, variableRanges));
     166
     167      int row = 0;
     168      foreach (var variable in variables) {
     169        IList<double> values = new List<double>();
     170        foreach (var value in dataset.GetReadOnlyDoubleValues(variable.Value)) {
     171          values.Add(value);
     172        }
     173        variableRanges[row, 0] = values.Min();
     174        variableRanges[row, 1] = values.Max();
     175        ++row;
     176      }
     177
    154178      RegisterParameterEvents();
    155179    }
Note: See TracChangeset for help on using the changeset viewer.