diff --git a/wrapper/xgboost.py b/wrapper/xgboost.py index 5c8199c4d..7919686f6 100644 --- a/wrapper/xgboost.py +++ b/wrapper/xgboost.py @@ -764,20 +764,27 @@ class XGBModel(BaseEstimator): nthread : int Number of parallel threads used to run xgboost. + gamma : float + Minimum loss reduction required to make a further partition on a leaf node of the tree. min_child_weight : int - minimum sum of instance weight(hessian) needed in a child. + Minimum sum of instance weight(hessian) needed in a child. + max_delta_step : int + Maximum delta step we allow each tree's weight estimation to be. subsample : float Subsample ratio of the training instance. colsample_bytree : float Subsample ratio of columns when constructing each tree. + + base_score: + The initial prediction score of all instances, global bias. eval_metric : string Evaluation metrics for validation data. seed : int Random number seed. """ def __init__(self, max_depth=3, learning_rate=0.1, n_estimators=100, silent=True, objective="reg:linear", - nthread=-1, min_child_weight=1, subsample=1, colsample_bytree=1, - eval_metric='error', seed=0): + nthread=-1, gamma=0, min_child_weight=1, max_delta_step=0, subsample=1, colsample_bytree=1, + base_score=0.5, eval_metric='error', seed=0): if not SKLEARN_INSTALLED: raise Exception('sklearn needs to be installed in order to use this module') self.max_depth = max_depth @@ -787,9 +794,13 @@ class XGBModel(BaseEstimator): self.objective = objective self.nthread = nthread + self.gamma = gamma self.min_child_weight = min_child_weight + self.max_delta_step = max_delta_step self.subsample = subsample self.colsample_bytree = colsample_bytree + + self.base_score = base_score self.eval_metric = eval_metric self.seed = seed @@ -816,11 +827,11 @@ class XGBModel(BaseEstimator): class XGBClassifier(XGBModel, ClassifierMixin): def __init__(self, max_depth=3, learning_rate=0.1, n_estimators=100, silent=True, objective="binary:logistic", - nthread=-1, min_child_weight=1, subsample=1, colsample_bytree=1, - eval_metric='error', seed=0): + nthread=-1, gamma=0, min_child_weight=1, max_delta_step=0, subsample=1, colsample_bytree=1, + base_score=0.5, eval_metric='error', seed=0): super(XGBClassifier, self).__init__(max_depth, learning_rate, n_estimators, silent, objective, - nthread, min_child_weight, subsample, colsample_bytree, - eval_metric, seed) + nthread, gamma, min_child_weight, max_delta_step, subsample, colsample_bytree, + base_score, eval_metric, seed) def fit(self, X, y, sample_weight=None): y_values = list(np.unique(y))