Logo ROOT  
Reference Guide
tmva004_RStandardScaler.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_tmva
3/// \notebook -nodraw
4/// This tutorial illustrates the usage of the standard scaler as preprocessing
5/// method.
6///
7/// \macro_code
8/// \macro_output
9///
10/// \date July 2019
11/// \author Stefan Wunsch
12
13using namespace TMVA::Experimental;
14
15void tmva004_RStandardScaler()
16{
17 // Load data used to fit the parameters
18 ROOT::RDataFrame df("TreeS", "http://root.cern/files/tmva_class_example.root");
19 auto x = AsTensor<float>(df);
20
21 // Create standard scaler and fit to data
23 scaler.Fit(x);
24
25 // Compute transformation
26 auto y = scaler.Compute(x);
27
28 // Plot first variable scaled and unscaled
29 TH1F h1("h1", ";x_{4};N_{Events}", 20, -4, 4);
30 TH1F h2("h2", ";x_{4};N_{Events}", 20, -4, 4);
31 for (std::size_t i = 0; i < x.GetShape()[0]; i++) {
32 h1.Fill(x(i, 3));
33 h2.Fill(y(i, 3));
34 }
37 h2.SetLineWidth(2);
38 h2.SetLineColor(kBlue);
39
41 auto c = new TCanvas("", "", 800, 800);
42 h2.Draw("HIST");
43 h1.Draw("HIST SAME");
44
45 TLegend legend(0.7, 0.7, 0.89, 0.89);
46 legend.SetBorderSize(0);
47 legend.AddEntry("h1", "Unscaled", "l");
48 legend.AddEntry("h2", "Scaled", "l");
49 legend.Draw();
50
51 c->DrawClone();
52}
#define c(i)
Definition: RSha256.hxx:101
@ kRed
Definition: Rtypes.h:66
@ kBlue
Definition: Rtypes.h:66
R__EXTERN TStyle * gStyle
Definition: TStyle.h:413
ROOT's RDataFrame offers a high level interface for analyses of data stored in TTree,...
Definition: RDataFrame.hxx:40
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
Definition: TAttLine.h:43
virtual void SetLineColor(Color_t lcolor)
Set the line color.
Definition: TAttLine.h:40
The Canvas class.
Definition: TCanvas.h:23
1-D histogram with a float per channel (see TH1 documentation)}
Definition: TH1.h:575
virtual Int_t Fill(Double_t x)
Increment bin with abscissa X by 1.
Definition: TH1.cxx:3351
virtual void Draw(Option_t *option="")
Draw this histogram with options.
Definition: TH1.cxx:3074
This class displays a legend box (TPaveText) containing several legend entries.
Definition: TLegend.h:23
void Fit(const RTensor< T > &x)
std::vector< T > Compute(const std::vector< T > &x)
void SetOptStat(Int_t stat=1)
The type of information printed in the histogram statistics box can be selected via the parameter mod...
Definition: TStyle.cxx:1589
Double_t y[n]
Definition: legend1.C:17
Double_t x[n]
Definition: legend1.C:17
TH1F * h1
Definition: legend1.C:5