- Timestamp:
- 09/06/12 09:52:52 (13 years ago)
- Location:
- branches/HeuristicLab.Mono
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Mono
-
branches/HeuristicLab.Mono/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Classification/CSV/ClassifiactionCSVInstanceProvider.cs
r8211 r8585 22 22 using System; 23 23 using System.Collections.Generic; 24 using System.Globalization; 24 25 using System.IO; 25 26 using System.Linq; 26 27 using System.Text; 28 using HeuristicLab.Common; 27 29 using HeuristicLab.Problems.DataAnalysis; 28 30 … … 61 63 62 64 Dataset dataset = new Dataset(csvFileParser.VariableNames, csvFileParser.Values); 63 string targetVar = csvFileParser.VariableNames.Where(x => dataset.DoubleVariables.Contains(x)).Last(); 64 IEnumerable<string> allowedInputVars = dataset.DoubleVariables.Where(x => !x.Equals(targetVar)); 65 string targetVar = dataset.DoubleVariables.Last(); 65 66 66 ClassificationProblemData claData = new ClassificationProblemData(dataset, allowedInputVars, targetVar); 67 68 int trainingPartEnd = csvFileParser.Rows * 2 / 3; 69 claData.TrainingPartition.Start = 0; 70 claData.TrainingPartition.End = trainingPartEnd; 71 claData.TestPartition.Start = trainingPartEnd; 72 claData.TestPartition.End = csvFileParser.Rows; 73 int pos = path.LastIndexOf('\\'); 74 if (pos < 0) 75 claData.Name = path; 76 else { 77 pos++; 78 claData.Name = path.Substring(pos, path.Length - pos); 67 // turn of input variables that are constant in the training partition 68 var allowedInputVars = new List<string>(); 69 var trainingIndizes = Enumerable.Range(0, (csvFileParser.Rows * 2) / 3); 70 foreach (var variableName in dataset.DoubleVariables) { 71 if (dataset.GetDoubleValues(variableName, trainingIndizes).Range() > 0 && 72 variableName != targetVar) 73 allowedInputVars.Add(variableName); 79 74 } 80 75 81 return claData; 76 ClassificationProblemData classificationData = new ClassificationProblemData(dataset, allowedInputVars, targetVar); 77 78 int trainingPartEnd = trainingIndizes.Last(); 79 classificationData.TrainingPartition.Start = trainingIndizes.First(); 80 classificationData.TrainingPartition.End = trainingPartEnd; 81 classificationData.TestPartition.Start = trainingPartEnd; 82 classificationData.TestPartition.End = csvFileParser.Rows; 83 84 classificationData.Name = Path.GetFileName(path); 85 86 return classificationData; 82 87 } 83 88 … … 86 91 } 87 92 public override void ExportData(IClassificationProblemData instance, string path) { 88 StringBuilder strBuilder = new StringBuilder();93 var strBuilder = new StringBuilder(); 89 94 90 95 foreach (var variable in instance.InputVariables) { 91 strBuilder.Append(variable + ";");96 strBuilder.Append(variable + CultureInfo.CurrentCulture.TextInfo.ListSeparator); 92 97 } 93 strBuilder.Remove(strBuilder.Length - 1, 1);98 strBuilder.Remove(strBuilder.Length - CultureInfo.CurrentCulture.TextInfo.ListSeparator.Length, CultureInfo.CurrentCulture.TextInfo.ListSeparator.Length); 94 99 strBuilder.AppendLine(); 95 100 96 Datasetdataset = instance.Dataset;101 var dataset = instance.Dataset; 97 102 98 103 for (int i = 0; i < dataset.Rows; i++) { 99 104 for (int j = 0; j < dataset.Columns; j++) { 100 strBuilder.Append(dataset.GetValue(i, j) + ";"); 105 if (j > 0) strBuilder.Append(CultureInfo.CurrentCulture.TextInfo.ListSeparator); 106 strBuilder.Append(dataset.GetValue(i, j)); 101 107 } 102 strBuilder.Remove(strBuilder.Length - 1, 1);103 108 strBuilder.AppendLine(); 104 109 } 105 110 106 using ( StreamWriter writer = new StreamWriter(path)) {111 using (var writer = new StreamWriter(path)) { 107 112 writer.Write(strBuilder); 108 113 } -
branches/HeuristicLab.Mono/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Clustering/CSV/ClusteringCSVInstanceProvider.cs
r8211 r8585 22 22 using System; 23 23 using System.Collections.Generic; 24 using System.Globalization; 24 25 using System.IO; 26 using System.Linq; 25 27 using System.Text; 28 using HeuristicLab.Common; 26 29 using HeuristicLab.Problems.DataAnalysis; 27 30 … … 60 63 61 64 var dataset = new Dataset(csvFileParser.VariableNames, csvFileParser.Values); 62 var claData = new ClusteringProblemData(dataset, dataset.DoubleVariables);63 65 64 int trainingPartEnd = csvFileParser.Rows * 2 / 3; 65 claData.TrainingPartition.Start = 0; 66 claData.TrainingPartition.End = trainingPartEnd; 67 claData.TestPartition.Start = trainingPartEnd; 68 claData.TestPartition.End = csvFileParser.Rows; 69 int pos = path.LastIndexOf('\\'); 70 if (pos < 0) 71 claData.Name = path; 72 else { 73 pos++; 74 claData.Name = path.Substring(pos, path.Length - pos); 66 // turn of input variables that are constant in the training partition 67 var allowedInputVars = new List<string>(); 68 var trainingIndizes = Enumerable.Range(0, (csvFileParser.Rows * 2) / 3); 69 foreach (var variableName in dataset.DoubleVariables) { 70 if (dataset.GetDoubleValues(variableName, trainingIndizes).Range() > 0) 71 allowedInputVars.Add(variableName); 75 72 } 76 73 77 return claData; 74 var clusteringData = new ClusteringProblemData(dataset, allowedInputVars); 75 76 int trainingPartEnd = trainingIndizes.Last(); 77 clusteringData.TrainingPartition.Start = trainingIndizes.First(); 78 clusteringData.TrainingPartition.End = trainingPartEnd; 79 clusteringData.TestPartition.Start = trainingPartEnd; 80 clusteringData.TestPartition.End = csvFileParser.Rows; 81 82 clusteringData.Name = Path.GetFileName(path); 83 84 return clusteringData; 78 85 } 79 86 … … 85 92 86 93 foreach (var variable in instance.InputVariables) { 87 strBuilder.Append(variable + ";");94 strBuilder.Append(variable + CultureInfo.CurrentCulture.TextInfo.ListSeparator); 88 95 } 89 strBuilder.Remove(strBuilder.Length - 1, 1);96 strBuilder.Remove(strBuilder.Length - CultureInfo.CurrentCulture.TextInfo.ListSeparator.Length, CultureInfo.CurrentCulture.TextInfo.ListSeparator.Length); 90 97 strBuilder.AppendLine(); 91 98 … … 94 101 for (int i = 0; i < dataset.Rows; i++) { 95 102 for (int j = 0; j < dataset.Columns; j++) { 96 strBuilder.Append(dataset.GetValue(i, j) + ";"); 103 if (j > 0) strBuilder.Append(CultureInfo.CurrentCulture.TextInfo.ListSeparator); 104 strBuilder.Append(dataset.GetValue(i, j)); 97 105 } 98 strBuilder.Remove(strBuilder.Length - 1, 1);99 106 strBuilder.AppendLine(); 100 107 } -
branches/HeuristicLab.Mono/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Plugin.cs.frame
r8246 r8585 25 25 [Plugin("HeuristicLab.Problems.Instances.DataAnalysis", "3.3.7.$WCREV$")] 26 26 [PluginFile("HeuristicLab.Problems.Instances.DataAnalysis-3.3.dll", PluginFileType.Assembly)] 27 [PluginDependency("HeuristicLab.Common", "3.3")] 27 28 [PluginDependency("HeuristicLab.Core", "3.3")] 28 29 [PluginDependency("HeuristicLab.Data", "3.3")] -
branches/HeuristicLab.Mono/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/CSV/RegressionCSVInstanceProvider.cs
r8211 r8585 22 22 using System; 23 23 using System.Collections.Generic; 24 using System.Globalization; 24 25 using System.IO; 25 26 using System.Linq; 26 27 using System.Text; 28 using HeuristicLab.Common; 27 29 using HeuristicLab.Problems.DataAnalysis; 28 30 … … 59 61 60 62 Dataset dataset = new Dataset(csvFileParser.VariableNames, csvFileParser.Values); 61 string targetVar = csvFileParser.VariableNames.Where(x => dataset.DoubleVariables.Contains(x)).Last();63 string targetVar = dataset.DoubleVariables.Last(); 62 64 63 IEnumerable<string> allowedInputVars = dataset.DoubleVariables.Where(x => !x.Equals(targetVar)); 65 // turn of input variables that are constant in the training partition 66 var allowedInputVars = new List<string>(); 67 var trainingIndizes = Enumerable.Range(0, (csvFileParser.Rows * 2) / 3); 68 foreach (var variableName in dataset.DoubleVariables) { 69 if (dataset.GetDoubleValues(variableName, trainingIndizes).Range() > 0 && 70 variableName != targetVar) 71 allowedInputVars.Add(variableName); 72 } 64 73 65 IRegressionProblemData reg Data = new RegressionProblemData(dataset, allowedInputVars, targetVar);74 IRegressionProblemData regressionData = new RegressionProblemData(dataset, allowedInputVars, targetVar); 66 75 67 int trainingPartEnd = csvFileParser.Rows * 2 / 3;68 reg Data.TrainingPartition.Start = 0;69 reg Data.TrainingPartition.End = trainingPartEnd;70 reg Data.TestPartition.Start = trainingPartEnd;71 reg Data.TestPartition.End = csvFileParser.Rows;76 var trainingPartEnd = trainingIndizes.Last(); 77 regressionData.TrainingPartition.Start = trainingIndizes.First(); 78 regressionData.TrainingPartition.End = trainingPartEnd; 79 regressionData.TestPartition.Start = trainingPartEnd; 80 regressionData.TestPartition.End = csvFileParser.Rows; 72 81 73 int pos = path.LastIndexOf('\\'); 74 if (pos < 0) 75 regData.Name = path; 76 else { 77 pos++; 78 regData.Name = path.Substring(pos, path.Length - pos); 79 } 80 return regData; 82 regressionData.Name = Path.GetFileName(path); 83 84 return regressionData; 81 85 } 82 86 … … 85 89 } 86 90 public override void ExportData(IRegressionProblemData instance, string path) { 87 StringBuilder strBuilder = new StringBuilder();91 var strBuilder = new StringBuilder(); 88 92 89 93 foreach (var variable in instance.InputVariables) { 90 strBuilder.Append(variable + ";");94 strBuilder.Append(variable + CultureInfo.CurrentCulture.TextInfo.ListSeparator); 91 95 } 92 strBuilder.Remove(strBuilder.Length - 1, 1);96 strBuilder.Remove(strBuilder.Length - CultureInfo.CurrentCulture.TextInfo.ListSeparator.Length, CultureInfo.CurrentCulture.TextInfo.ListSeparator.Length); 93 97 strBuilder.AppendLine(); 94 98 95 Datasetdataset = instance.Dataset;99 var dataset = instance.Dataset; 96 100 97 101 for (int i = 0; i < dataset.Rows; i++) { 98 102 for (int j = 0; j < dataset.Columns; j++) { 99 strBuilder.Append(dataset.GetValue(i, j) + ";"); 103 if (j > 0) strBuilder.Append(CultureInfo.CurrentCulture.TextInfo.ListSeparator); 104 strBuilder.Append(dataset.GetValue(i, j)); 100 105 } 101 strBuilder.Remove(strBuilder.Length - 1, 1);102 106 strBuilder.AppendLine(); 103 107 } 104 108 105 using ( StreamWriter writer = new StreamWriter(path)) {109 using (var writer = new StreamWriter(path)) { 106 110 writer.Write(strBuilder); 107 111 } -
branches/HeuristicLab.Mono/HeuristicLab.Problems.Instances.DataAnalysis/3.3/TableFileParser.cs
r7851 r8585 32 32 namespace HeuristicLab.Problems.Instances.DataAnalysis { 33 33 public class TableFileParser { 34 private const int BUFFER_SIZE = 1024;34 private const int BUFFER_SIZE = 65536; 35 35 private static readonly char[] POSSIBLE_SEPARATORS = new char[] { ',', ';', '\t' }; 36 36 private Tokenizer tokenizer;
Note: See TracChangeset
for help on using the changeset viewer.