chg fobj back to obj, to keep parameter name unchanged

This commit is contained in:
tqchen 2014-09-02 23:15:41 -07:00
parent ac8958b284
commit 06b5533209

View File

@ -399,7 +399,7 @@ class Booster:
fmap[fid]+= 1 fmap[fid]+= 1
return fmap return fmap
def train(params, dtrain, num_boost_round = 10, evals = [], fobj=None, feval=None): def train(params, dtrain, num_boost_round = 10, evals = [], obj=None, feval=None):
""" train a booster with given paramaters """ train a booster with given paramaters
Args: Args:
params: dict params: dict
@ -410,14 +410,14 @@ def train(params, dtrain, num_boost_round = 10, evals = [], fobj=None, feval=Non
num of round to be boosted num of round to be boosted
evals: list evals: list
list of items to be evaluated list of items to be evaluated
fobj: function obj: function
cutomized objective function cutomized objective function
feval: function feval: function
cutomized evaluation function cutomized evaluation function
""" """
bst = Booster(params, [dtrain]+[ d[0] for d in evals ] ) bst = Booster(params, [dtrain]+[ d[0] for d in evals ] )
for i in range(num_boost_round): for i in range(num_boost_round):
bst.update( dtrain, i, fobj ) bst.update( dtrain, i, obj )
if len(evals) != 0: if len(evals) != 0:
sys.stderr.write(bst.eval_set(evals, i, feval).decode()+'\n') sys.stderr.write(bst.eval_set(evals, i, feval).decode()+'\n')
return bst return bst
@ -487,7 +487,7 @@ def aggcv(rlist):
return ret return ret
def cv(params, dtrain, num_boost_round = 10, nfold=3, eval_metrics = [], \ def cv(params, dtrain, num_boost_round = 10, nfold=3, eval_metrics = [], \
weightscale=None, fobj=None, feval=None): weightscale=None, obj=None, feval=None):
""" cross validation with given paramaters """ cross validation with given paramaters
Args: Args:
params: dict params: dict
@ -500,12 +500,12 @@ def cv(params, dtrain, num_boost_round = 10, nfold=3, eval_metrics = [], \
folds to do cv folds to do cv
evals: list evals: list
list of items to be evaluated list of items to be evaluated
fobj: obj:
feval: feval:
""" """
cvfolds = mknfold(dtrain, nfold, params, 0, weightscale, evals_metrics) cvfolds = mknfold(dtrain, nfold, params, 0, weightscale, evals_metrics)
for i in range(num_boost_round): for i in range(num_boost_round):
for f in cvfolds: for f in cvfolds:
f.update(i, fobj) f.update(i, obj)
res = aggcv([f.eval(i, fval) for f in cvfolds]) res = aggcv([f.eval(i, fval) for f in cvfolds])
sys.stderr.write(res+'\n') sys.stderr.write(res+'\n')