/usr/include/root/TMVA/MethodLD.h is in libroot-tmva-dev 5.34.19+dfsg-1.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | // Author: Krzysztof Danielowski, Kamil Kraszewski, Maciej Kruk, Jan Therhaag
/**********************************************************************************
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA *
* Class : MethodLD *
* Web : http://tmva.sourceforge.net *
* *
* Description: *
* Linear Discriminant (Simple Linear Regression) *
* *
* Authors (alphabetical): *
* Krzysztof Danielowski <danielow@cern.ch> - IFJ PAN & AGH, Poland *
* Kamil Kraszewski <kalq@cern.ch> - IFJ PAN & UJ, Poland *
* Maciej Kruk <mkruk@cern.ch> - IFJ PAN & AGH, Poland *
* Peter Speckmayer <peter.speckmayer@cern.ch> - CERN, Switzerland *
* Jan Therhaag <therhaag@physik.uni-bonn.de> - Uni Bonn, Germany *
* *
* Copyright (c) 2008-2011: *
* CERN, Switzerland *
* PAN, Poland *
* U. of Bonn, Germany *
* *
* Redistribution and use in source and binary forms, with or without *
* modification, are permitted according to the terms listed in LICENSE *
* (http://tmva.sourceforge.net/LICENSE) *
* *
**********************************************************************************/
#ifndef ROOT_TMVA_MethodLD
#define ROOT_TMVA_MethodLD
//////////////////////////////////////////////////////////////////////////
// //
// MethodLD //
// //
// Linear Discriminant //
// Can compute multidimensional output for regression //
// (although it computes every dimension separately) //
// //
//////////////////////////////////////////////////////////////////////////
#include <vector>
#ifndef ROOT_TMVA_MethodBase
#include "TMVA/MethodBase.h"
#endif
#ifndef ROOT_TMatrixDfwd
#include "TMatrixDfwd.h"
#endif
namespace TMVA {
class MethodLD : public MethodBase {
public:
// constructor
MethodLD( const TString& jobName,
const TString& methodTitle,
DataSetInfo& dsi,
const TString& theOption = "LD",
TDirectory* theTargetDir = 0 );
// constructor
MethodLD( DataSetInfo& dsi,
const TString& theWeightFile,
TDirectory* theTargetDir = 0 );
// destructor
virtual ~MethodLD( void );
Bool_t HasAnalysisType( Types::EAnalysisType type, UInt_t numberClasses, UInt_t numberTargets );
// training method
void Train( void );
// calculate the MVA value
Double_t GetMvaValue( Double_t* err = 0, Double_t* errUpper = 0 );
// calculate the Regression value
virtual const std::vector<Float_t>& GetRegressionValues();
using MethodBase::ReadWeightsFromStream;
void AddWeightsXMLTo ( void* parent ) const;
void ReadWeightsFromStream( std::istream & i );
void ReadWeightsFromXML ( void* wghtnode );
const Ranking* CreateRanking();
void DeclareOptions();
void ProcessOptions();
protected:
void MakeClassSpecific( std::ostream&, const TString& ) const;
void GetHelpMessage() const;
private:
Int_t fNRegOut; // size of the output
TMatrixD *fSumMatx; // Sum of coordinates product matrix
TMatrixD *fSumValMatx; // Sum of values multiplied by coordinates
TMatrixD *fCoeffMatx; // Matrix of coefficients
std::vector< std::vector<Double_t>* > *fLDCoeff; // LD coefficients
// default initialisation called by all constructors
void Init( void );
// Initialization and allocation of matrices
void InitMatrices( void );
// Compute fSumMatx
void GetSum( void );
// Compute fSumValMatx
void GetSumVal( void );
// get LD coefficients
void GetLDCoeff( void );
// nice output
void PrintCoefficients( void );
ClassDef(MethodLD,0) //Linear discriminant analysis
};
} // namespace TMVA
#endif // MethodLD_H
|