28 lines
810 B
Python
28 lines
810 B
Python
"""
|
|
Demo for obtaining leaf index
|
|
=============================
|
|
"""
|
|
import os
|
|
|
|
import xgboost as xgb
|
|
|
|
# load data in do training
|
|
CURRENT_DIR = os.path.dirname(__file__)
|
|
dtrain = xgb.DMatrix(os.path.join(CURRENT_DIR, '../data/agaricus.txt.train'))
|
|
dtest = xgb.DMatrix(os.path.join(CURRENT_DIR, '../data/agaricus.txt.test'))
|
|
param = {'max_depth': 2, 'eta': 1, 'objective': 'binary:logistic'}
|
|
watchlist = [(dtest, 'eval'), (dtrain, 'train')]
|
|
num_round = 3
|
|
bst = xgb.train(param, dtrain, num_round, watchlist)
|
|
|
|
print('start testing predict the leaf indices')
|
|
# predict using first 2 tree
|
|
leafindex = bst.predict(
|
|
dtest, iteration_range=(0, 2), pred_leaf=True, strict_shape=True
|
|
)
|
|
print(leafindex.shape)
|
|
print(leafindex)
|
|
# predict all trees
|
|
leafindex = bst.predict(dtest, pred_leaf=True)
|
|
print(leafindex.shape)
|