- Timestamp:
- 12/20/08 13:54:29 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/Problem.cs
r1003 r1043 30 30 31 31 namespace HeuristicLab.CEDMA.Core { 32 33 public enum LearningTask { 34 Classification, 35 Regression, 36 TimeSeries, 37 Clustering 38 } 39 32 40 /// <summary> 33 41 /// Problem describes the data mining task. … … 59 67 60 68 private int validationSamplesStart; 61 62 69 public int ValidationSamplesStart { 63 70 get { return validationSamplesStart; } 64 71 set { validationSamplesStart = value; } 65 72 } 73 66 74 private int validationSamplesEnd; 67 68 75 public int ValidationSamplesEnd { 69 76 get { return validationSamplesEnd; } … … 72 79 73 80 private int testSamplesStart; 74 75 81 public int TestSamplesStart { 76 82 get { return testSamplesStart; } 77 83 set { testSamplesStart = value; } 78 84 } 85 79 86 private int testSamplesEnd; 80 81 87 public int TestSamplesEnd { 82 88 get { return testSamplesEnd; } … … 95 101 96 102 private bool autoRegressive; 97 98 103 public bool AutoRegressive { 99 104 get { return autoRegressive; } … … 101 106 } 102 107 103 private bool timeSeries; 104 105 public bool TimeSeries { 106 get { return timeSeries; } 107 set { timeSeries = value; } 108 private LearningTask learningTask; 109 public LearningTask LearningTask { 110 get { return learningTask; } 111 set { learningTask = value; } 108 112 } 109 113 … … 118 122 return new ProblemView(this); 119 123 } 124 125 public override XmlNode GetXmlNode(string name, XmlDocument document, IDictionary<Guid, IStorable> persistedObjects) { 126 XmlNode node = base.GetXmlNode(name, document, persistedObjects); 127 node.AppendChild(PersistenceManager.Persist("DataSet", dataset, document, persistedObjects)); 128 XmlAttribute trainingSamplesStartAttr = document.CreateAttribute("TrainingSamplesStart"); 129 trainingSamplesStartAttr.Value = TrainingSamplesStart.ToString(); 130 XmlAttribute trainingSamplesEndAttr = document.CreateAttribute("TrainingSamplesEnd"); 131 trainingSamplesEndAttr.Value = TrainingSamplesEnd.ToString(); 132 XmlAttribute validationSamplesStartAttr = document.CreateAttribute("ValidationSamplesStart"); 133 validationSamplesStartAttr.Value = ValidationSamplesStart.ToString(); 134 XmlAttribute validationSamplesEndAttr = document.CreateAttribute("ValidationSamplesEnd"); 135 validationSamplesEndAttr.Value = ValidationSamplesEnd.ToString(); 136 XmlAttribute testSamplesStartAttr = document.CreateAttribute("TestSamplesStart"); 137 testSamplesStartAttr.Value = TestSamplesStart.ToString(); 138 XmlAttribute testSamplesEndAttr = document.CreateAttribute("TestSamplesEnd"); 139 testSamplesEndAttr.Value = TestSamplesEnd.ToString(); 140 XmlAttribute learningTaskAttr = document.CreateAttribute("LearningTask"); 141 learningTaskAttr.Value = LearningTask.ToString(); 142 XmlAttribute autoRegressiveAttr = document.CreateAttribute("AutoRegressive"); 143 autoRegressiveAttr.Value = AutoRegressive.ToString(); 144 145 node.Attributes.Append(trainingSamplesStartAttr); 146 node.Attributes.Append(trainingSamplesEndAttr); 147 node.Attributes.Append(validationSamplesStartAttr); 148 node.Attributes.Append(validationSamplesEndAttr); 149 node.Attributes.Append(testSamplesStartAttr); 150 node.Attributes.Append(testSamplesEndAttr); 151 node.Attributes.Append(learningTaskAttr); 152 node.Attributes.Append(autoRegressiveAttr); 153 154 XmlElement targetVariablesElement = document.CreateElement("AllowedTargetVariables"); 155 targetVariablesElement.InnerText = SemiColonSeparatedList(AllowedTargetVariables); 156 XmlElement inputVariablesElement = document.CreateElement("AllowedInputVariables"); 157 inputVariablesElement.InnerText = SemiColonSeparatedList(AllowedInputVariables); 158 node.AppendChild(targetVariablesElement); 159 node.AppendChild(inputVariablesElement); 160 return node; 161 } 162 163 public override void Populate(XmlNode node, IDictionary<Guid, IStorable> restoredObjects) { 164 base.Populate(node, restoredObjects); 165 dataset = (HeuristicLab.DataAnalysis.Dataset)PersistenceManager.Restore(node.SelectSingleNode("DataSet"), restoredObjects); 166 TrainingSamplesStart = int.Parse(node.Attributes["TrainingSamplesStart"].Value); 167 TrainingSamplesEnd = int.Parse(node.Attributes["TrainingSamplesEnd"].Value); 168 ValidationSamplesStart = int.Parse(node.Attributes["ValidationSamplesStart"].Value); 169 ValidationSamplesEnd = int.Parse(node.Attributes["ValidationSamplesEnd"].Value); 170 TestSamplesStart = int.Parse(node.Attributes["TestSamplesStart"].Value); 171 TestSamplesEnd = int.Parse(node.Attributes["TestSamplesEnd"].Value); 172 LearningTask = (LearningTask)Enum.Parse(typeof(LearningTask), node.Attributes["LearningTask"].Value); 173 AutoRegressive = bool.Parse(node.Attributes["AutoRegressive"].Value); 174 allowedTargetVariables.Clear(); 175 foreach (string tok in node.SelectSingleNode("AllowedTargetVariables").InnerText.Split(new string[]{";"}, StringSplitOptions.RemoveEmptyEntries)) 176 allowedTargetVariables.Add(int.Parse(tok)); 177 allowedInputVariables.Clear(); 178 foreach (string tok in node.SelectSingleNode("AllowedInputVariables").InnerText.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries)) 179 allowedInputVariables.Add(int.Parse(tok)); 180 } 181 182 private string SemiColonSeparatedList(List<int> xs) { 183 StringBuilder b = new StringBuilder(); 184 foreach (int x in xs) { 185 b = b.Append(x).Append(";"); 186 } 187 if (xs.Count > 0) b.Remove(b.Length - 1, 1); // remove last ';' 188 return b.ToString(); 189 } 120 190 } 121 191 }
Note: See TracChangeset
for help on using the changeset viewer.