Changeset 8331 for branches/ScatterSearch (trunk integration)/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/RegressionInstanceProvider.cs
- Timestamp:
- 07/26/12 09:51:13 (12 years ago)
- Location:
- branches/ScatterSearch (trunk integration)
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ScatterSearch (trunk integration)
- Property svn:ignore
-
old new 21 21 protoc.exe 22 22 _ReSharper.HeuristicLab 3.3 Tests 23 Google.ProtocolBuffers-2.4.1.473.dll
-
- Property svn:mergeinfo changed
- Property svn:ignore
-
branches/ScatterSearch (trunk integration)/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/RegressionInstanceProvider.cs
r8086 r8331 20 20 #endregion 21 21 22 using System;23 using System.Collections;24 using System.Collections.Generic;25 using System.IO;26 using System.Linq;27 using System.Text;28 22 using HeuristicLab.Problems.DataAnalysis; 29 23 30 24 namespace HeuristicLab.Problems.Instances.DataAnalysis { 31 public abstract class RegressionInstanceProvider : IProblemInstanceProvider<IRegressionProblemData> { 32 33 public IRegressionProblemData LoadData(string path) { 34 TableFileParser csvFileParser = new TableFileParser(); 35 csvFileParser.Parse(path); 36 37 Dataset dataset = new Dataset(csvFileParser.VariableNames, csvFileParser.Values); 38 string targetVar = csvFileParser.VariableNames.Where(x => dataset.DoubleVariables.Contains(x)).Last(); 39 40 IEnumerable<string> allowedInputVars = dataset.DoubleVariables.Where(x => !x.Equals(targetVar)); 41 42 IRegressionProblemData regData = new RegressionProblemData(dataset, allowedInputVars, targetVar); 43 44 int trainingPartEnd = csvFileParser.Rows * 2 / 3; 45 regData.TrainingPartition.Start = 0; 46 regData.TrainingPartition.End = trainingPartEnd; 47 regData.TestPartition.Start = trainingPartEnd; 48 regData.TestPartition.End = csvFileParser.Rows; 49 50 int pos = path.LastIndexOf('\\'); 51 if (pos < 0) 52 regData.Name = path; 53 else { 54 pos++; 55 regData.Name = path.Substring(pos, path.Length - pos); 56 } 57 return regData; 58 } 59 60 public void SaveData(IRegressionProblemData instance, string path) { 61 StringBuilder strBuilder = new StringBuilder(); 62 63 foreach (var variable in instance.InputVariables) { 64 strBuilder.Append(variable + ";"); 65 } 66 strBuilder.Remove(strBuilder.Length - 1, 1); 67 strBuilder.AppendLine(); 68 69 Dataset dataset = instance.Dataset; 70 71 for (int i = 0; i < dataset.Rows; i++) { 72 for (int j = 0; j < dataset.Columns; j++) { 73 strBuilder.Append(dataset.GetValue(i, j) + ";"); 74 } 75 strBuilder.Remove(strBuilder.Length - 1, 1); 76 strBuilder.AppendLine(); 77 } 78 79 using (StreamWriter writer = new StreamWriter(path)) { 80 writer.Write(strBuilder); 81 } 82 } 83 84 public abstract IEnumerable<IDataDescriptor> GetDataDescriptors(); 85 public abstract IRegressionProblemData LoadData(IDataDescriptor descriptor); 86 87 public abstract string Name { get; } 88 public abstract string Description { get; } 89 public abstract Uri WebLink { get; } 90 public abstract string ReferencePublication { get; } 25 public abstract class RegressionInstanceProvider : ProblemInstanceProvider<IRegressionProblemData> { 91 26 } 92 27 }
Note: See TracChangeset
for help on using the changeset viewer.