68 B2DEBUG(20,
"FBDTClassifier::train(): Determining the FeatureBinnings");
69 std::vector<unsigned int> nBinningLevels;
71 for (
auto featureVec : data) {
72 m_featBins.push_back(FastBDT::FeatureBinning<double>(nBinCuts, featureVec));
73 nBinningLevels.push_back(nBinCuts);
77 B2DEBUG(20,
"FBDTClassifier::train(): Creating the EventSamples");
78 FastBDT::EventSample eventSample(nSamples, Ndims, 0, nBinningLevels);
79 for (
size_t iS = 0; iS < nSamples; ++iS) {
80 std::vector<unsigned> bins(Ndims);
81 for (
size_t iF = 0; iF < Ndims; ++iF) {
82 bins[iF] = m_featBins[iF].ValueToBin(data[iF][iS]);
84 eventSample.AddEvent(bins, 1.0, samples[iS].signal);
87 B2DEBUG(20,
"FBDTClassifier::train(): Training the FastBDT");
88 FastBDT::ForestBuilder fbdt(eventSample, nTrees, shrinkage, ratio, depth);
90 B2DEBUG(20,
"FBDTClassifier::train(): getting FastBDT to internal member");
91 FBDTForest forest(fbdt.GetF0(), fbdt.GetShrinkage(),
true);
92 for (
const auto& tree : fbdt.GetForest()) {