34 TMVA::TrainingHistory::TrainingHistory()
38 TMVA::TrainingHistory::~TrainingHistory()
40 for (
auto p : fHistoryData) {
45 void TMVA::TrainingHistory::AddValue(TString Property,Int_t stage, Double_t value)
47 if (!fHistoryMap.count(Property))
49 fHistoryMap[Property]=fHistoryData.size();
50 IterationRecord* data=
new IterationRecord();
51 fHistoryData.push_back(data);
53 int iHistory=fHistoryMap.at(Property);
55 fHistoryData.at(iHistory)->push_back({stage,value});
58 void TMVA::TrainingHistory::SaveHistory(TString Name)
61 for (
const auto &element : fHistoryMap ) {
62 TString
property = element.first;
63 Int_t iHistory = element.second;
64 Int_t nBins=fHistoryData.at(iHistory)->size();
65 Double_t xMin=fHistoryData.at(iHistory)->front().first;
66 Double_t xMax=fHistoryData.at(iHistory)->back().first;
67 Double_t BinSize=(xMax-xMin)/(Double_t)(nBins-1);
68 TH1D* h=
new TH1D(
"TrainingHistory_"+Name+
"_"+property,
"TrainingHistory_"+Name+
"_"+property,nBins,xMin-0.5*BinSize,xMax+0.5*BinSize);
69 for (
int i=0; i<nBins; i++) {
70 h->AddBinContent(i+1,fHistoryData.at(iHistory)->at(i).second);