class_docstr: The XGBoost classifier.
  
  Reference: http://xgboost.readthedocs.io/en/latest/model.html
  
  Parameters:
  -----------
  n_estimators: int
      The number of classification trees that are used.
  learning_rate: float
      The step length that will be taken when following the negative gradient during
      training.
  min_samples_split: int
      The minimum number of samples needed to make a split when building a tree.
  min_impurity: float
      The minimum impurity required to split the tree further. 
  max_depth: int
      The maximum depth of a tree.
class_docstr_tok: ["The","XGBoost","classifier",".","Reference",":","http",":","\/\/xgboost.readthedocs.io\/en\/latest\/model.html","Parameters",":","--","--","--","--","--","-","n_estimators",":","int","The","number","of","classification","trees","that","are","used",".","learning_rate",":","float","The","step","length","that","will","be","taken","when","following","the","negative","gradient","during","training",".","min_samples_split",":","int","The","minimum","number","of","samples","needed","to","make","a","split","when","building","a","tree",".","min_impurity",":","float","The","minimum","impurity","required","to","split","the","tree","further",".","max_depth",":","int","The","maximum","depth","of","a","tree","."]
code: def fit(self, X, y):
      y = to_categorical(y)
  
      y_pred = np.zeros(np.shape(y))
      for i in self.bar(range(self.n_estimators)):
          tree = self.trees[i]
          y_and_pred = np.concatenate((y, y_pred), axis=1)
          tree.fit(X, y_and_pred)
          update_pred = tree.predict(X)
  
          y_pred -= np.multiply(self.learning_rate, update_pred)
  
file_path: ML-From-Scratch/mlfromscratch/supervised_learning/xgboost.py
imports: from __future__ import division, print_function
  import numpy
  import progressbar
  from mlfromscratch.utils import train_test_split, standardize, to_categorical, normalize
  from mlfromscratch.utils import mean_squared_error, accuracy_score
  from mlfromscratch.supervised_learning import XGBoostRegressionTree
  from mlfromscratch.deep_learning.activation_functions import Sigmoid
  from mlfromscratch.utils.misc import bar_widgets
  from mlfromscratch.utils import Plot
label_desc: Use image node_id 2 for calling the XGBoost obj's underlying member method code with example usage: obj.fit(X, y) without return types