Changeset 3294 for trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/RegressionProblem.cs
- Timestamp:
- 04/09/10 17:28:32 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/RegressionProblem.cs
r3264 r3294 37 37 [StorableClass] 38 38 public class RegressionProblem : ParameterizedNamedItem { 39 private const string RegressionProblemDataParameterName = "RegressionProblemData"; 39 40 public override Image ItemImage { 40 41 get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Type; } … … 42 43 43 44 #region Parameter Properties 44 public ValueParameter<Dataset> DatasetParameter { 45 get { return (ValueParameter<Dataset>)Parameters["Dataset"]; } 46 } 47 public ValueParameter<StringValue> TargetVariableParameter { 48 get { return (ValueParameter<StringValue>)Parameters["TargetVariable"]; } 49 } 50 public ValueParameter<ItemList<StringValue>> InputVariablesParameter { 51 get { return (ValueParameter<ItemList<StringValue>>)Parameters["InputVariables"]; } 52 } 53 public ValueParameter<IntValue> TrainingSamplesStartParameter { 54 get { return (ValueParameter<IntValue>)Parameters["TrainingSamplesStart"]; } 55 } 56 public ValueParameter<IntValue> TrainingSamplesEndParameter { 57 get { return (ValueParameter<IntValue>)Parameters["TrainingSamplesEnd"]; } 58 } 59 public OptionalValueParameter<IntValue> ValidationSamplesStartParameter { 60 get { return (OptionalValueParameter<IntValue>)Parameters["ValidationSamplesStart"]; } 61 } 62 public OptionalValueParameter<IntValue> ValidationSamplesEndParameter { 63 get { return (OptionalValueParameter<IntValue>)Parameters["ValidationSamplesEnd"]; } 64 } 65 public ValueParameter<IntValue> TestSamplesStartParameter { 66 get { return (ValueParameter<IntValue>)Parameters["TestSamplesStart"]; } 67 } 68 public ValueParameter<IntValue> TestSamplesEndParameter { 69 get { return (ValueParameter<IntValue>)Parameters["TestSamplesEnd"]; } 45 public ValueParameter<RegressionProblemData> RegressionProblemDataParameter { 46 get { return (ValueParameter<RegressionProblemData>)Parameters[RegressionProblemDataParameterName]; } 70 47 } 71 48 #endregion 72 49 #region properties 73 public Dataset Dataset { 74 get { return DatasetParameter.Value; } 75 set { DatasetParameter.Value = value; } 76 } 77 public StringValue TargetVariable { 78 get { return TargetVariableParameter.Value; } 79 set { TargetVariableParameter.Value = value; } 80 } 81 public ItemList<StringValue> InputVariables { 82 get { return InputVariablesParameter.Value; } 83 set { InputVariablesParameter.Value = value; } 84 } 85 public IntValue TrainingSamplesStart { 86 get { return TrainingSamplesStartParameter.Value; } 87 set { TrainingSamplesStartParameter.Value = value; } 88 } 89 public IntValue TrainingSamplesEnd { 90 get { return TrainingSamplesEndParameter.Value; } 91 set { TrainingSamplesEndParameter.Value = value; } 92 } 93 public IntValue ValidationSamplesStart { 94 get { return ValidationSamplesStartParameter.Value; } 95 set { ValidationSamplesStartParameter.Value = value; } 96 } 97 public IntValue ValidationSamplesEnd { 98 get { return ValidationSamplesEndParameter.Value; } 99 set { ValidationSamplesEndParameter.Value = value; } 100 } 101 public IntValue TestSamplesStart { 102 get { return TestSamplesStartParameter.Value; } 103 set { TestSamplesStartParameter.Value = value; } 104 } 105 public IntValue TestSamplesEnd { 106 get { return TestSamplesEndParameter.Value; } 107 set { TestSamplesEndParameter.Value = value; } 50 public RegressionProblemData RegressionProblemData { 51 get { return RegressionProblemDataParameter.Value; } 52 set { RegressionProblemDataParameter.Value = value; } 108 53 } 109 54 #endregion … … 111 56 public RegressionProblem() 112 57 : base() { 113 var dataset = new Dataset(); 114 // TODO: wiring for sanity checks of parameter values based on dataset (target & input variables available?, training and test partition correct?...) 115 Parameters.Add(new ValueParameter<Dataset>("Dataset", "The data set containing data to be analyzer.", dataset)); 116 Parameters.Add(new ValueParameter<StringValue>("TargetVariable", "The target variable for which a regression model should be created.", new StringValue())); 117 Parameters.Add(new ValueParameter<ItemList<StringValue>>("InputVariables", "The input variables (regressors) that are available for the regression model.", new ItemList<StringValue>())); 118 Parameters.Add(new ValueParameter<IntValue>("TrainingSamplesStart", "The start index of the training partition.", new IntValue())); 119 Parameters.Add(new ValueParameter<IntValue>("TrainingSamplesEnd", "The end index of the training partition.", new IntValue())); 120 Parameters.Add(new OptionalValueParameter<IntValue>("ValidationSamplesStart", "The start index of the validation partition.")); 121 Parameters.Add(new OptionalValueParameter<IntValue>("ValidationSamplesEnd", "The end index of the validation partition.")); 122 Parameters.Add(new ValueParameter<IntValue>("TestSamplesStart", "The start index of the test partition.", new IntValue())); 123 Parameters.Add(new ValueParameter<IntValue>("TestSamplesEnd", "The end index of the test partition.", new IntValue())); 58 Parameters.Add(new ValueParameter<RegressionProblemData>(RegressionProblemDataParameterName, "The data set, target variable and input variables of the regression problem.", new RegressionProblemData())); 124 59 } 125 60 126 61 [StorableConstructor] 127 62 private RegressionProblem(bool deserializing) : base() { } 128 129 public virtual void ImportFromFile(string fileName) {130 var csvFileParser = new CsvFileParser();131 csvFileParser.Parse(fileName);132 Name = "Regression Problem (imported from " + Path.GetFileName(fileName);133 Dataset = new Dataset(csvFileParser.VariableNames, csvFileParser.Values);134 Dataset.Name = Path.GetFileName(fileName);135 TargetVariable = new StringValue(Dataset.VariableNames.First());136 InputVariables = new ItemList<StringValue>(Dataset.VariableNames.Skip(1).Select(s => new StringValue(s)));137 TrainingSamplesStart = new IntValue(0);138 TrainingSamplesEnd = new IntValue(csvFileParser.Rows);139 TestSamplesStart = new IntValue(0);140 TestSamplesEnd = new IntValue(csvFileParser.Rows);141 }142 63 } 143 64 }
Note: See TracChangeset
for help on using the changeset viewer.