Exemplo n.º 1
0
 protected virtual double[] AdjustTargetsAndSetWeights(IChannel ch)
 {
     if (_gradientWrapper == null)
     {
         return(GetGradient(ch));
     }
     else
     {
         double[] targetWeights             = null;
         double[] targets                   = _gradientWrapper.AdjustTargetAndSetWeights(GetGradient(ch), ObjectiveFunction, out targetWeights);
         Dataset.DatasetSkeleton dsSkeleton = TrainingScores.Dataset.Skeleton;
         return(targets);
     }
 }
Exemplo n.º 2
0
        public override RegressionTree TrainingIteration(IChannel ch, bool[] activeFeatures)
        {
            Contracts.CheckValue(ch, nameof(ch));

            double[]       sampleWeights   = null;
            double[]       targets         = GetGradient(ch);
            double[]       weightedTargets = _gradientWrapper.AdjustTargetAndSetWeights(targets, ObjectiveFunction, out sampleWeights);
            RegressionTree tree            = ((RandomForestLeastSquaresTreeLearner)TreeLearner).FitTargets(ch, activeFeatures, weightedTargets,
                                                                                                           targets, sampleWeights);

            if (tree != null)
            {
                Ensemble.AddTree(tree);
            }
            return(tree);
        }