Changeset 7531 for branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/WeightCalculators/NeighbourhoodWeightCalculator.cs
- Timestamp:
- 02/27/12 16:11:34 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/WeightCalculators/NeighbourhoodWeightCalculator.cs
r7504 r7531 33 33 [StorableClass] 34 34 [Item("NeighbourhoodWeightCalculator", "")] 35 public class NeighbourhoodWeightCalculator : WeightCalculator {35 public class NeighbourhoodWeightCalculator : DiscriminantClassificationWeightCalculator { 36 36 37 37 public NeighbourhoodWeightCalculator() … … 49 49 } 50 50 51 protected override IEnumerable<double> CalculateWeights(ItemCollection<IClassificationSolution> classificationSolutions) { 52 if (classificationSolutions.Count <= 0) 53 return new List<double>(); 54 55 if (!classificationSolutions.All(x => x is IDiscriminantFunctionClassificationSolution)) 56 return Enumerable.Repeat<double>(1, classificationSolutions.Count); 57 51 protected override IEnumerable<double> DiscriminantCalculateWeights(ItemCollection<IDiscriminantFunctionClassificationSolution> discriminantSolutions) { 58 52 List<List<double>> estimatedTrainingValEnumerators = new List<List<double>>(); 59 53 List<List<double>> estimatedTrainingClassValEnumerators = new List<List<double>>(); 60 IDiscriminantFunctionClassificationSolution discriminantSolution; 61 foreach (var solution in classificationSolutions) { 62 discriminantSolution = (IDiscriminantFunctionClassificationSolution)solution; 63 estimatedTrainingValEnumerators.Add(discriminantSolution.EstimatedTrainingValues.ToList()); 64 estimatedTrainingClassValEnumerators.Add(discriminantSolution.EstimatedTrainingClassValues.ToList()); 54 foreach (var solution in discriminantSolutions) { 55 estimatedTrainingValEnumerators.Add(solution.EstimatedTrainingValues.ToList()); 56 estimatedTrainingClassValEnumerators.Add(solution.EstimatedTrainingClassValues.ToList()); 65 57 } 66 58 67 List<double> weights = Enumerable.Repeat<double>(0, classificationSolutions.Count()).ToList<double>();59 List<double> weights = Enumerable.Repeat<double>(0, discriminantSolutions.Count()).ToList<double>(); 68 60 69 IClassificationProblemData problemData = classificationSolutions.ElementAt(0).ProblemData;61 IClassificationProblemData problemData = discriminantSolutions.ElementAt(0).ProblemData; 70 62 List<double> targetValues = problemData.Dataset.GetDoubleValues(problemData.TargetVariable).ToList(); 71 63 List<double> trainingVal = GetValues(targetValues, problemData.TrainingIndizes).ToList(); … … 93 85 return weights; 94 86 } 95 96 private IEnumerable<double> GetValues(IList<double> targetValues, IEnumerable<int> indizes) {97 return from i in indizes98 select targetValues[i];99 }100 87 } 101 88 }
Note: See TracChangeset
for help on using the changeset viewer.