{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# TMVA Cross Validation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Declare Variables" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "TMVA::DataLoader loader(\"dataset\");\n", "\n", "loader.AddVariable(\"var1\");\n", "loader.AddVariable(\"var2\");\n", "loader.AddVariable(\"var3\");\n", "loader.AddVariable(\"var4\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setup Dataset" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "DataSetInfo : [dataset] : Added class \"Signal\"\n", " : Add Tree Sig of type Signal with 6000 events\n", "DataSetInfo : [dataset] : Added class \"Background\"\n", " : Add Tree Bkg of type Background with 6000 events\n", " : Dataset[dataset] : Class index : 0 name : Signal\n", " : Dataset[dataset] : Class index : 1 name : Background\n" ] } ], "source": [ "// Load the data file\n", "TFile* inputFile = TFile::Open(\"https://raw.githubusercontent.com/iml-wg/tmvatutorials/master/inputdata.root\");\n", "\n", "// Get signal and background data from input file\n", "TTree *tsignal = (TTree*) inputFile->Get(\"Sig\");\n", "TTree *tbackground = (TTree*) inputFile->Get(\"Bkg\");\n", "\n", "// Register this data in the dataloader\n", "loader.AddSignalTree(tsignal);\n", "loader.AddBackgroundTree(tbackground); \n", "loader.PrepareTrainingAndTestTree(\"\",\n", " \"nTrain_Signal=1000:nTrain_Background=1000:SplitMode=Random:NormMode=NumEvents:!V\"); " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Perform Cross Validation" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "// Book boosted decision tree method\n", "TMVA::CrossValidation cv(&loader);\n", "cv.BookMethod(TMVA::Types::kBDT, \"BDT\",\n", " \"NTrees=10:MinNodeSize=2.5%:MaxDepth=2:nCuts=20\");" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " : Evaluate method: BDT\n", " : Evaluation done.\n", "
CrossValidation : ==== Results ====\n", " : Fold 0 ROC-Int : 0.8732\n", " : Fold 1 ROC-Int : 0.8589\n", " : Fold 2 ROC-Int : 0.8592\n", " : Fold 3 ROC-Int : 0.8614\n", " : Fold 4 ROC-Int : 0.8567\n", " : ------------------------\n", " : Average ROC-Int : 0.8619\n", " : Std-Dev ROC-Int : 0.0065\n" ] } ], "source": [ "// Run cross-validation\n", "cv.Evaluate();\n", "\n", "// Print results\n", "TMVA::CrossValidationResult results = cv.GetResults();\n", "results.Print();" ] } ], "metadata": { "kernelspec": { "display_name": "ROOT C++", "language": "c++", "name": "root" }, "language_info": { "codemirror_mode": "text/x-c++src", "file_extension": ".C", "mimetype": " text/x-c++src", "name": "c++" } }, "nbformat": 4, "nbformat_minor": 1 }