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); } }
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); }