Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/12/12 10:31:56 (12 years ago)
Author:
mkommend
Message:

#1081: Improved performance of time series prognosis.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.TimeSeries/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/TimeSeriesPrognosis/TimeSeriesPrognosisProblemData.cs

    r7886 r7989  
    3333  [Item("TimeSeriesPrognosisProblemData", "Represents an item containing all data defining a time series prognosis problem.")]
    3434  public class TimeSeriesPrognosisProblemData : DataAnalysisProblemData, ITimeSeriesPrognosisProblemData {
    35     protected const string TargetVariablesParameterName = "TargetVariables";
     35    protected const string TargetVariableParameterName = "TargetVariable";
    3636
    3737    #region default data
     
    15401540    private static readonly Dataset defaultDataset;
    15411541    private static readonly IEnumerable<string> defaultAllowedInputVariables;
    1542     private static readonly string[] defaultTargetVariables;
     1542    private static readonly string defaultTargetVariable;
    15431543
    15441544    private static readonly TimeSeriesPrognosisProblemData emptyProblemData;
     
    15511551      defaultDataset.Name = "Mackey-Glass (t=17) Time Series Benchmark Dataset";
    15521552      defaultAllowedInputVariables = new List<string>() { "x" };
    1553       defaultTargetVariables = new string[] { "x" };
     1553      defaultTargetVariable = "x";
    15541554
    15551555      var problemData = new TimeSeriesPrognosisProblemData();
     
    15631563      problemData.Parameters.Add(new FixedValueParameter<IntRange>(TrainingPartitionParameterName, "", (IntRange)new IntRange(0, 0).AsReadOnly()));
    15641564      problemData.Parameters.Add(new FixedValueParameter<IntRange>(TestPartitionParameterName, "", (IntRange)new IntRange(0, 0).AsReadOnly()));
    1565       problemData.Parameters.Add(new ConstrainedValueParameter<StringValue>(TargetVariablesParameterName, new ItemSet<StringValue>()));
     1565      problemData.Parameters.Add(new ConstrainedValueParameter<StringValue>(TargetVariableParameterName, new ItemSet<StringValue>()));
    15661566      emptyProblemData = problemData;
    15671567    }
    15681568    #endregion
    15691569
    1570     public ValueParameter<CheckedItemList<StringValue>> TargetVariablesParameter {
    1571       get { return (ValueParameter<CheckedItemList<StringValue>>)Parameters[TargetVariablesParameterName]; }
     1570    public ConstrainedValueParameter<StringValue> TargetVariableParameter {
     1571      get { return (ConstrainedValueParameter<StringValue>)Parameters[TargetVariableParameterName]; }
    15721572    }
    1573     public IEnumerable<string> TargetVariables {
    1574       get { return TargetVariablesParameter.Value.CheckedItems.Select(x => x.Value.Value); }
     1573    public string TargetVariable {
     1574      get { return TargetVariableParameter.Value.Value; }
    15751575    }
    15761576
     
    15921592
    15931593    public TimeSeriesPrognosisProblemData()
    1594       : this(defaultDataset, defaultAllowedInputVariables, defaultTargetVariables) {
     1594      : this(defaultDataset, defaultAllowedInputVariables, defaultTargetVariable) {
    15951595    }
    15961596
    1597     public TimeSeriesPrognosisProblemData(Dataset dataset, IEnumerable<string> allowedInputVariables, IEnumerable<string> targetVariables)
     1597    public TimeSeriesPrognosisProblemData(Dataset dataset, IEnumerable<string> allowedInputVariables, string targetVariable)
    15981598      : base(dataset, allowedInputVariables) {
    15991599      var variables = InputVariables.Select(x => x.AsReadOnly()).ToList();
    1600       var targetVariablesList = new CheckedItemList<StringValue>(variables);
    1601       foreach (var targetVar in targetVariables) {
    1602         targetVariablesList.SetItemCheckedState(targetVariablesList.Single(x => x.Value == targetVar), true);
    1603       }
    1604       Parameters.Add(new FixedValueParameter<CheckedItemList<StringValue>>(TargetVariablesParameterName, targetVariablesList));
     1600      Parameters.Add(new ConstrainedValueParameter<StringValue>(TargetVariableParameterName, new ItemSet<StringValue>(variables), variables.First(x => x.Value == targetVariable)));
    16051601      RegisterParameterEvents();
    16061602    }
    16071603
    16081604    private void RegisterParameterEvents() {
    1609       TargetVariablesParameter.Value.CheckedItemsChanged += TargetVariableParameter_ValueChanged;
     1605      TargetVariableParameter.ValueChanged += new EventHandler(TargetVariableParameter_ValueChanged);
    16101606    }
    1611 
    16121607    private void TargetVariableParameter_ValueChanged(object sender, EventArgs e) {
    16131608      OnChanged();
Note: See TracChangeset for help on using the changeset viewer.