75 #ifndef ROOT_TMVA_MethodCFMlpANN
76 #define ROOT_TMVA_MethodCFMlpANN
94 class MethodCFMlpANN :
public MethodBase, MethodCFMlpANN_Utils {
98 MethodCFMlpANN(
const TString& jobName,
99 const TString& methodTitle,
100 DataSetInfo& theData,
101 const TString& theOption =
"3000:N-1:N-2");
103 MethodCFMlpANN( DataSetInfo& theData,
104 const TString& theWeightFile);
106 virtual ~MethodCFMlpANN(
void );
108 virtual Bool_t HasAnalysisType( Types::EAnalysisType type, UInt_t numberClasses, UInt_t );
113 using MethodBase::ReadWeightsFromStream;
116 void AddWeightsXMLTo(
void* parent )
const;
119 void ReadWeightsFromStream( std::istream& istr );
120 void ReadWeightsFromXML(
void* wghtnode );
122 Double_t GetMvaValue( Double_t* err = 0, Double_t* errUpper = 0 );
125 Double_t GetData ( Int_t isel, Int_t ivar )
const {
return (*fData)(isel, ivar); }
126 Int_t GetClass( Int_t ivar )
const {
return (*fClass)[ivar]; }
130 const Ranking* CreateRanking() {
return 0; }
135 void MakeClassSpecific( std::ostream&,
const TString& )
const;
138 void MakeClassSpecificHeader( std::ostream&,
const TString& =
"" )
const;
141 void GetHelpMessage()
const;
143 Int_t DataInterface( Double_t*, Double_t*, Int_t*, Int_t*, Int_t*, Int_t*,
144 Double_t*, Int_t*, Int_t* );
148 void PrintWeights( std::ostream & o )
const;
151 void DeclareOptions();
152 void ProcessOptions();
156 std::vector<Int_t> *fClass;
165 Int_t MethodCFMlpANN_nsel;
168 Double_t EvalANN( std::vector<Double_t>&, Bool_t& isOK );
169 void NN_ava ( Double_t* );
170 Double_t NN_fonc( Int_t, Double_t )
const;
175 ClassDef(MethodCFMlpANN,0);