1 write to FeatureSplitInfo
Microsoft.ML.FastTree (1)
Training\TreeLearners\LeastSquaresRegressionTreeLearner.cs (1)
842
FeatureSplitInfo
= new SplitInfo[data.NumFeatures];
66 references to FeatureSplitInfo
Microsoft.ML.FastTree (66)
Dataset\FeatureFlock.cs (44)
226
leafSplitCandidates.
FeatureSplitInfo
[leafSplitCandidates.FlockToBestFeature[flock]].Gain <
227
leafSplitCandidates.
FeatureSplitInfo
[feature].Gain)
316
leafSplitCandidates.
FeatureSplitInfo
[featureIndex].CategoricalSplit = false;
317
leafSplitCandidates.
FeatureSplitInfo
[featureIndex].Feature = featureIndex;
318
leafSplitCandidates.
FeatureSplitInfo
[featureIndex].Threshold = bestThreshold;
319
leafSplitCandidates.
FeatureSplitInfo
[featureIndex].LteOutput = leafCalculator.CalculateSplittedLeafOutput(totalCount - bestGTCount, sumTargets - bestSumGTTargets, sumWeights - bestSumGTWeights);
320
leafSplitCandidates.
FeatureSplitInfo
[featureIndex].GTOutput = leafCalculator.CalculateSplittedLeafOutput(bestGTCount, bestSumGTTargets, bestSumGTWeights);
321
leafSplitCandidates.
FeatureSplitInfo
[featureIndex].LteCount = totalCount - bestGTCount;
322
leafSplitCandidates.
FeatureSplitInfo
[featureIndex].GTCount = bestGTCount;
324
leafSplitCandidates.
FeatureSplitInfo
[featureIndex].Gain = (bestShiftedGain - gainShift) * trust - usePenalty;
326
leafSplitCandidates.
FeatureSplitInfo
[featureIndex].GainPValue = ProbabilityFunctions.Erfc(erfcArg);
463
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].CategoricalFeatureIndices =
466
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].CategoricalSplitRange = new[]
469
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].Feature = firstFlockFeature;
470
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].CategoricalSplit = true;
471
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].LteOutput =
475
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].GTOutput =
478
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].LteCount = totalCount - bestGTCount;
479
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].GTCount = bestGTCount;
481
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].Gain = (bestShiftedGain - gainShift) * trust -
486
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].GainPValue = ProbabilityFunctions.Erfc(erfcArg);
490
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].Flock = flock;
675
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].CategoricalFeatureIndices =
678
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].CategoricalSplitRange = new[]
681
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].Feature = firstFlockFeature;
682
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].CategoricalSplit = true;
683
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].LteOutput =
687
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].GTOutput =
690
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].LteCount = totalCount - bestGTCount;
691
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].GTCount = bestGTCount;
693
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].Gain = (bestShiftedGain - gainShift) * trust -
698
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].GainPValue = ProbabilityFunctions.Erfc(erfcArg);
702
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].Flock = flock;
897
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].CategoricalFeatureIndices =
900
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].CategoricalSplitRange = new[]
903
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].Feature = firstFlockFeature;
904
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].CategoricalSplit = true;
905
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].LteOutput =
909
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].GTOutput =
912
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].LteCount = totalCount - bestGTCount;
913
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].GTCount = bestGTCount;
915
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].Gain = (bestShiftedGain - gainShift) * trust -
920
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].GainPValue = ProbabilityFunctions.Erfc(erfcArg);
924
leafSplitCandidates.
FeatureSplitInfo
[firstFlockFeature].Flock = flock;
GamTrainer.cs (2)
368
if (_leafSplitCandidates.
FeatureSplitInfo
[globalFeatureIndex].Gain > 0)
577
SplitInfo splitinfo = _leafSplitCandidates.
FeatureSplitInfo
[globalFeatureIndex];
Training\TreeLearners\FastForestLeastSquaresTreeLearner.cs (1)
55
var infos = leafSplitCandidates.
FeatureSplitInfo
;
Training\TreeLearners\LeastSquaresRegressionTreeLearner.cs (19)
456
bestFeature = leafSplitCandidates.
FeatureSplitInfo
.Select(info => info.Gain)
460
var infos = leafSplitCandidates.
FeatureSplitInfo
;
486
bestFeature = leafSplitCandidates.
FeatureSplitInfo
.Select(info => info.Gain / SoftmaxTemperature).SoftArgMax(Rand);
494
BestSplitInfoPerLeaf[leaf] = leafSplitCandidates.
FeatureSplitInfo
[bestFeature];
792
leafSplitCandidates.
FeatureSplitInfo
[feature].Feature = feature;
793
leafSplitCandidates.
FeatureSplitInfo
[feature].Threshold = bestThreshold;
794
leafSplitCandidates.
FeatureSplitInfo
[feature].LteOutput = CalculateSplittedLeafOutput(totalCount - bestGTCount, sumTargets - bestSumGTTargets, sumWeights - bestSumGTWeights);
795
leafSplitCandidates.
FeatureSplitInfo
[feature].GTOutput = CalculateSplittedLeafOutput(bestGTCount, bestSumGTTargets, bestSumGTWeights);
796
leafSplitCandidates.
FeatureSplitInfo
[feature].LteCount = totalCount - bestGTCount;
797
leafSplitCandidates.
FeatureSplitInfo
[feature].GTCount = bestGTCount;
803
leafSplitCandidates.
FeatureSplitInfo
[feature].Gain = (bestShiftedGain - gainShift) * trust - usePenalty;
805
leafSplitCandidates.
FeatureSplitInfo
[feature].GainPValue = ProbabilityFunctions.Erfc(erfcArg);
810
leafSplitCandidates.
FeatureSplitInfo
[leafSplitCandidates.FlockToBestFeature[flock]].Gain <
811
leafSplitCandidates.
FeatureSplitInfo
[feature].Gain)
816
bestSplit = leafSplitCandidates.
FeatureSplitInfo
[feature];
896
+ SplitInfo.SizeInBytes(maxCatSplitPoints) *
FeatureSplitInfo
.Length
1075
for (int f = 0; f <
FeatureSplitInfo
.Length; f++)
1077
FeatureSplitInfo
[f].Feature = f;
1078
FeatureSplitInfo
[f].Gain = double.NegativeInfinity;