Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/27/12 16:11:34 (12 years ago)
Author:
sforsten
Message:

#1776:

  • 2 more strategies have been implemented
  • major changes in the inheritance have been made to make it possible to add strategies which don't use a voting strategy with weights
  • ClassificationEnsembleSolutionEstimatedClassValuesView doesn't currently show the confidence (has been removed for test purpose)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/WeightCalculators/NeighbourhoodWeightCalculator.cs

    r7504 r7531  
    3333  [StorableClass]
    3434  [Item("NeighbourhoodWeightCalculator", "")]
    35   public class NeighbourhoodWeightCalculator : WeightCalculator {
     35  public class NeighbourhoodWeightCalculator : DiscriminantClassificationWeightCalculator {
    3636
    3737    public NeighbourhoodWeightCalculator()
     
    4949    }
    5050
    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) {
    5852      List<List<double>> estimatedTrainingValEnumerators = new List<List<double>>();
    5953      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());
    6557      }
    6658
    67       List<double> weights = Enumerable.Repeat<double>(0, classificationSolutions.Count()).ToList<double>();
     59      List<double> weights = Enumerable.Repeat<double>(0, discriminantSolutions.Count()).ToList<double>();
    6860
    69       IClassificationProblemData problemData = classificationSolutions.ElementAt(0).ProblemData;
     61      IClassificationProblemData problemData = discriminantSolutions.ElementAt(0).ProblemData;
    7062      List<double> targetValues = problemData.Dataset.GetDoubleValues(problemData.TargetVariable).ToList();
    7163      List<double> trainingVal = GetValues(targetValues, problemData.TrainingIndizes).ToList();
     
    9385      return weights;
    9486    }
    95 
    96     private IEnumerable<double> GetValues(IList<double> targetValues, IEnumerable<int> indizes) {
    97       return from i in indizes
    98              select targetValues[i];
    99     }
    10087  }
    10188}
Note: See TracChangeset for help on using the changeset viewer.