Changeset 4543 for trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/SupportVectorMachine/SupportVectorMachineModelEvaluator.cs
- Timestamp:
- 10/01/10 12:31:04 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/SupportVectorMachine/SupportVectorMachineModelEvaluator.cs
r4068 r4543 26 26 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 27 27 using SVM; 28 using System.Collections.Generic; 29 using System.Linq; 28 30 29 31 namespace HeuristicLab.Problems.DataAnalysis.SupportVectorMachine { … … 80 82 int start = SamplesStart.Value; 81 83 int end = SamplesEnd.Value; 84 IEnumerable<int> rows = 85 Enumerable.Range(start, end - start) 86 .Where(i => i < DataAnalysisProblemData.TestSamplesStart.Value || DataAnalysisProblemData.TestSamplesEnd.Value <= i); 82 87 83 ValuesParameter.ActualValue = new DoubleMatrix(Evaluate(SupportVectorMachineModel, DataAnalysisProblemData, start, end));88 ValuesParameter.ActualValue = new DoubleMatrix(Evaluate(SupportVectorMachineModel, DataAnalysisProblemData, rows)); 84 89 return base.Apply(); 85 90 } 86 91 87 public static double[,] Evaluate(SupportVectorMachineModel model, DataAnalysisProblemData problemData, int start, int end) {88 SVM.Problem problem = SupportVectorMachineUtil.CreateSvmProblem(problemData, start, end);92 public static double[,] Evaluate(SupportVectorMachineModel model, DataAnalysisProblemData problemData, IEnumerable<int> rowIndices) { 93 SVM.Problem problem = SupportVectorMachineUtil.CreateSvmProblem(problemData, rowIndices); 89 94 SVM.Problem scaledProblem = model.RangeTransform.Scale(problem); 90 95 … … 92 97 93 98 double[,] values = new double[scaledProblem.Count, 2]; 99 var rowEnumerator = rowIndices.GetEnumerator(); 94 100 for (int i = 0; i < scaledProblem.Count; i++) { 95 values[i, 0] = problemData.Dataset[start + i, targetVariableIndex]; 101 rowEnumerator.MoveNext(); 102 values[i, 0] = problemData.Dataset[rowEnumerator.Current, targetVariableIndex]; 96 103 values[i, 1] = SVM.Prediction.Predict(model.Model, scaledProblem.X[i]); 97 104 }
Note: See TracChangeset
for help on using the changeset viewer.