Changeset 7610 for branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/Keijzer/KeijzerInstanceProvider.cs
- Timestamp:
- 03/13/12 15:33:19 (12 years ago)
- Location:
- branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4
-
Property
svn:ignore
set to
Plugin.cs
bin
obj
-
Property
svn:ignore
set to
-
branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/Keijzer/KeijzerInstanceProvider.cs
r7603 r7610 20 20 #endregion 21 21 22 23 22 using System; 24 23 using System.Collections.Generic; 24 25 25 namespace HeuristicLab.Problems.Instances.Regression { 26 public class KeijzerInstanceProvider : ArtificialRegressionInstanceProvider {26 public class KeijzerInstanceProvider : ArtificialRegressionInstanceProvider, IProblemInstanceProvider<RegressionData> { 27 27 public override string Name { 28 28 get { return "Keijzer Benchmark Problems"; } … … 43 43 return descriptorList; 44 44 } 45 46 /*#region delete after test 47 public RegressionData LoadData(IDataDescriptor descriptor) { 48 throw new NotImplementedException(); 49 } 50 51 public RegressionData LoadData(string path) { 52 TableFileParser csvFileParser = new TableFileParser(); 53 csvFileParser.Parse(path); 54 55 RegressionData regData = new RegressionData(); 56 regData.Name = path; 57 regData.InputVariables = new List<string>(csvFileParser.VariableNames); 58 regData.TargetVariable = csvFileParser.VariableNames.Last(); 59 //convert to multidimensional array 60 double[][] values = csvFileParser.Values.Cast<double[]>().ToArray(); 61 regData.Values = new double[values.GetLength(0), values.GetLength(1)]; 62 for (int i = 0; i < values.GetLength(0); i++) { 63 for (int j = 0; j < values.GetLength(1); j++) { 64 regData.Values[i, j] = values[i][j]; 65 } 66 } 67 68 int trainingPartEnd = csvFileParser.Rows * 2 / 3; 69 regData.TrainingPartitionStart = 0; 70 regData.TrainingPartitionEnd = trainingPartEnd; 71 regData.TestPartitionStart = trainingPartEnd; 72 regData.TestPartitionEnd = csvFileParser.Rows; 73 return regData; 74 } 75 76 public void SaveData(RegressionData instance, string path) { 77 StringBuilder strBuilder = new StringBuilder(); 78 79 foreach (var variable in instance.InputVariables) { 80 strBuilder.Append(variable + ";"); 81 } 82 strBuilder.Remove(strBuilder.Length - 1, 1); 83 strBuilder.AppendLine(); 84 85 double[,] values = instance.Values; 86 87 for (int i = 0; i < values.GetLength(0); i++) { 88 for (int j = 0; j < values.GetLength(1); j++) { 89 strBuilder.Append(values[i, j] + ";"); 90 } 91 strBuilder.Remove(strBuilder.Length - 1, 1); 92 strBuilder.AppendLine(); 93 } 94 95 using (StreamWriter writer = new StreamWriter(path)) { 96 writer.Write(strBuilder); 97 } 98 } 99 #endregion 100 101 #region IProblemInstanceProvider<RegressionData> Members 102 103 public IProblemInstanceConsumer<RegressionData> Consumer { 104 get { 105 return new RegressionProblem(); 106 } 107 set { 108 throw new NotImplementedException(); 109 } 110 } 111 112 #endregion */ 45 113 } 46 114 }
Note: See TracChangeset
for help on using the changeset viewer.