finish mushroom
This commit is contained in:
@@ -284,6 +284,26 @@ namespace xgboost{
|
||||
inline int num_extra_nodes( void ) const {
|
||||
return param.num_nodes - param.num_roots - param.num_deleted;
|
||||
}
|
||||
/*! \brief dump model to text file */
|
||||
inline void DumpModel( FILE *fo ){
|
||||
this->Dump( 0, fo, 0 );
|
||||
}
|
||||
private:
|
||||
void Dump( int nid, FILE *fo, int depth ){
|
||||
for( int i = 0; i < depth; ++ i ){
|
||||
fprintf( fo, "\t" );
|
||||
}
|
||||
if( nodes[ nid ].is_leaf() ){
|
||||
fprintf( fo, "%d:leaf=%f\n", nid, nodes[ nid ].leaf_value() );
|
||||
}else{
|
||||
// right then left,
|
||||
TSplitCond cond = nodes[ nid ].split_cond();
|
||||
fprintf( fo, "%d:[f%u>%f] yes=%d,no=%d\n", nid,
|
||||
nodes[ nid ].split_index(), float(cond), nodes[ nid ].cright(), nodes[ nid ].cleft() );
|
||||
this->Dump( nodes[ nid ].cright(), fo, depth+1 );
|
||||
this->Dump( nodes[ nid ].cleft(), fo, depth+1 );
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user