class_docstr: Soft Voting/Majority Rule classifier for scikit-learn estimators.
  
  Parameters
  ----------
  clfs : array-like, shape = [n_classifiers]
      A list of classifiers.
      Invoking the `fit` method on the `VotingClassifier` will fit clones
      of those original classifiers
      be stored in the class attribute
      if `use_clones=True` (default) and
      `fit_base_estimators=True` (default).
  voting : str, {'hard', 'soft'} (default='hard')
      If 'hard', uses predicted class labels for majority rule voting.
      Else if 'soft', predicts the class label based on the argmax of
      the sums of the predicted probalities, which is recommended for
      an ensemble of well-calibrated classifiers.
  weights : array-like, shape = [n_classifiers], optional (default=`None`)
      Sequence of weights (`float` or `int`) to weight the occurances of
      predicted class labels (`hard` voting) or class probabilities
      before averaging (`soft` voting). Uses uniform weights if `None`.
  verbose : int, optional (default=0)
      Controls the verbosity of the building process.
      - `verbose=0` (default): Prints nothing
      - `verbose=1`: Prints the number & name of the clf being fitted
      - `verbose=2`: Prints info about the parameters of the clf being fitted
      - `verbose>2`: Changes `verbose` param of the underlying clf to
         self.verbose - 2
  use_clones : bool (default: True)
      Clones the classifiers for stacking classification if True (default)
      or else uses the original ones, which will be refitted on the dataset
      upon calling the `fit` method. Hence, if use_clones=True, the original
      input classifiers will remain unmodified upon using the
      StackingClassifier's `fit` method.
      Setting `use_clones=False` is
      recommended if you are working with estimators that are supporting
      the scikit-learn fit/predict API interface but are not compatible
      to scikit-learn's `clone` function.
  fit_base_estimators : bool (default: True)
      Refits classifiers in `clfs` if True; uses references to the `clfs`,
      otherwise (assumes that the classifiers were already fit).
      Note: fit_base_estimators=False will enforce use_clones to be False,
      and is incompatible to most scikit-learn wrappers!
      For instance, if any form of cross-validation is performed
      this would require the re-fitting classifiers to training folds, which
      would raise a NotFitterError if fit_base_estimators=False.
      (New in mlxtend v0.6.)
  
  Attributes
  ----------
  classes_ : array-like, shape = [n_predictions]
  clf : array-like, shape = [n_predictions]
      The input classifiers; may be overwritten if `use_clones=False`
  clf_ : array-like, shape = [n_predictions]
      Fitted input classifiers; clones if `use_clones=True`
  
  Examples
  --------
  
  >>> import numpy as np
  >>> from sklearn.linear_model import LogisticRegression
  >>> from sklearn.naive_bayes import GaussianNB
  >>> from sklearn.ensemble import RandomForestClassifier
  >>> from mlxtend.sklearn import EnsembleVoteClassifier
  >>> clf1 = LogisticRegression(random_seed=1)
  >>> clf2 = RandomForestClassifier(random_seed=1)
  >>> clf3 = GaussianNB()
  >>> X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
  >>> y = np.array([1, 1, 1, 2, 2, 2])
  >>> eclf1 = EnsembleVoteClassifier(clfs=[clf1, clf2, clf3],
  ... voting='hard', verbose=1)
  >>> eclf1 = eclf1.fit(X, y)
  >>> print(eclf1.predict(X))
  [1 1 1 2 2 2]
  >>> eclf2 = EnsembleVoteClassifier(clfs=[clf1, clf2, clf3], voting='soft')
  >>> eclf2 = eclf2.fit(X, y)
  >>> print(eclf2.predict(X))
  [1 1 1 2 2 2]
  >>> eclf3 = EnsembleVoteClassifier(clfs=[clf1, clf2, clf3],
  ...                          voting='soft', weights=[2,1,1])
  >>> eclf3 = eclf3.fit(X, y)
  >>> print(eclf3.predict(X))
  [1 1 1 2 2 2]
  >>>
  
  For more usage examples, please see
  https://rasbt.github.io/mlxtend/user_guide/classifier/EnsembleVoteClassifier/
class_docstr_tok: ["Soft","Voting\/Majority","Rule","classifier","for","scikit-learn","estimators",".","Parameters","--","--","--","--","--","clfs",":","array-like",",","shape","=","[","n_classifiers","]","A","list","of","classifiers",".","Invoking","the","`","fit","`","method","on","the","`","VotingClassifier","`","will","fit","clones","of","those","original","classifiers","be","stored","in","the","class","attribute","if","`","use_clones=True","`","(","default",")","and","`","fit_base_estimators=True","`","(","default",")",".","voting",":","str",",","{","'hard","'",",","'soft","'","}","(","default='hard","'",")","If","'hard","'",",","uses","predicted","class","labels","for","majority","rule","voting",".","Else","if","'soft","'",",","predicts","the","class","label","based","on","the","argmax","of","the","sums","of","the","predicted","probalities",",","which","is","recommended","for","an","ensemble","of","well-calibrated","classifiers",".","weights",":","array-like",",","shape","=","[","n_classifiers","]",",","optional","(","default=","`","None","`",")","Sequence","of","weights","(","`","float","`","or","`","int","`",")","to","weight","the","occurances","of","predicted","class","labels","(","`","hard","`","voting",")","or","class","probabilities","before","averaging","(","`","soft","`","voting",")",".","Uses","uniform","weights","if","`","None","`",".","verbose",":","int",",","optional","(","default=0",")","Controls","the","verbosity","of","the","building","process",".","-","`","verbose=0","`","(","default",")",":","Prints","nothing","-","`","verbose=1","`",":","Prints","the","number","&","name","of","the","clf","being","fitted","-","`","verbose=2","`",":","Prints","info","about","the","parameters","of","the","clf","being","fitted","-","`","verbose",">","2","`",":","Changes","`","verbose","`","param","of","the","underlying","clf","to","self.verbose","-","2","use_clones",":","bool","(","default",":","True",")","Clones","the","classifiers","for","stacking","classification","if","True","(","default",")","or","else","uses","the","original","ones",",","which","will","be","refitted","on","the","dataset","upon","calling","the","`","fit","`","method",".","Hence",",","if","use_clones=True",",","the","original","input","classifiers","will","remain","unmodified","upon","using","the","StackingClassifier","'s","`","fit","`","method",".","Setting","`","use_clones=False","`","is","recommended","if","you","are","working","with","estimators","that","are","supporting","the","scikit-learn","fit\/predict","API","interface","but","are","not","compatible","to","scikit-learn","'s","`","clone","`","function",".","fit_base_estimators",":","bool","(","default",":","True",")","Refits","classifiers","in","`","clfs","`","if","True",";","uses","references","to","the","`","clfs","`",",","otherwise","(","assumes","that","the","classifiers","were","already","fit",")",".","Note",":","fit_base_estimators=False","will","enforce","use_clones","to","be","False",",","and","is","incompatible","to","most","scikit-learn","wrappers","!","For","instance",",","if","any","form","of","cross-validation","is","performed","this","would","require","the","re-fitting","classifiers","to","training","folds",",","which","would","raise","a","NotFitterError","if","fit_base_estimators=False",".","(","New","in","mlxtend","v0.6",".",")","Attributes","--","--","--","--","--","classes_",":","array-like",",","shape","=","[","n_predictions","]","clf",":","array-like",",","shape","=","[","n_predictions","]","The","input","classifiers",";","may","be","overwritten","if","`","use_clones=False","`","clf_",":","array-like",",","shape","=","[","n_predictions","]","Fitted","input","classifiers",";","clones","if","`","use_clones=True","`","Examples","--","--","--","--",">",">",">","import","numpy","as","np",">",">",">","from","sklearn.linear_model","import","LogisticRegression",">",">",">","from","sklearn.naive_bayes","import","GaussianNB",">",">",">","from","sklearn.ensemble","import","RandomForestClassifier",">",">",">","from","mlxtend.sklearn","import","EnsembleVoteClassifier",">",">",">","clf1","=","LogisticRegression","(","random_seed=1",")",">",">",">","clf2","=","RandomForestClassifier","(","random_seed=1",")",">",">",">","clf3","=","GaussianNB","(",")",">",">",">","X","=","np.array","(","[","[","-1",",","-1","]",",","[","-2",",","-1","]",",","[","-3",",","-2","]",",","[","1",",","1","]",",","[","2",",","1","]",",","[","3",",","2","]","]",")",">",">",">","y","=","np.array","(","[","1",",","1",",","1",",","2",",","2",",","2","]",")",">",">",">","eclf1","=","EnsembleVoteClassifier","(","clfs=","[","clf1",",","clf2",",","clf3","]",",","...","voting='hard","'",",","verbose=1",")",">",">",">","eclf1","=","eclf1.fit","(","X",",","y",")",">",">",">","print","(","eclf1.predict","(","X",")",")","[","1","1","1","2","2","2","]",">",">",">","eclf2","=","EnsembleVoteClassifier","(","clfs=","[","clf1",",","clf2",",","clf3","]",",","voting='soft","'",")",">",">",">","eclf2","=","eclf2.fit","(","X",",","y",")",">",">",">","print","(","eclf2.predict","(","X",")",")","[","1","1","1","2","2","2","]",">",">",">","eclf3","=","EnsembleVoteClassifier","(","clfs=","[","clf1",",","clf2",",","clf3","]",",","...","voting='soft","'",",","weights=","[","2,1,1","]",")",">",">",">","eclf3","=","eclf3.fit","(","X",",","y",")",">",">",">","print","(","eclf3.predict","(","X",")",")","[","1","1","1","2","2","2","]",">",">",">","For","more","usage","examples",",","please","see","https",":","\/\/rasbt.github.io\/mlxtend\/user_guide\/classifier\/EnsembleVoteClassifier\/"]
docstr: Predict class labels for X.
  
  Parameters
  ----------
  X : {array-like, sparse matrix}, shape = [n_samples, n_features]
      Training vectors, where n_samples is the number of samples and
      n_features is the number of features.
  
  Returns
  ----------
  maj : array-like, shape = [n_samples]
      Predicted class labels.
docstr_tok: ["Predict","class","labels","for","X.","Parameters","--","--","--","--","--","X",":","{","array-like",",","sparse","matrix","}",",","shape","=","[","n_samples",",","n_features","]","Training","vectors",",","where","n_samples","is","the","number","of","samples","and","n_features","is","the","number","of","features",".","Returns","--","--","--","--","--","maj",":","array-like",",","shape","=","[","n_samples","]","Predicted","class","labels","."]
code: def predict(self, X):
      """Predict class labels for X.
  
      Parameters
      ----------
      X : {array-like, sparse matrix}, shape = [n_samples, n_features]
          Training vectors, where n_samples is the number of samples and
          n_features is the number of features.
  
      Returns
      ----------
      maj : array-like, shape = [n_samples]
          Predicted class labels.
  
      """
      if not hasattr(self, "clfs_"):
          raise NotFittedError(
              "Estimator not fitted, "
              "call `fit` before exploiting the model."
          )
  
      if self.voting == "soft":
          maj = np.argmax(self.predict_proba(X), axis=1)
  
      else:  # 'hard' voting
          predictions = self._predict(X)
  
          maj = np.apply_along_axis(
              lambda x: np.argmax(np.bincount(x, weights=self.weights)),
              axis=1,
              arr=predictions,
          )
  
      maj = self.le_.inverse_transform(maj)
      return maj
  
file_path: mlxtend/mlxtend/classifier/ensemble_vote.py
imports: import warnings
  import numpy
  from sklearn.base import BaseEstimator, ClassifierMixin, TransformerMixin, clone
  from sklearn.exceptions import NotFittedError
  from sklearn.preprocessing import LabelEncoder
  from ..externals.name_estimators import _name_estimators
label_desc: Use image node_id 3 for calling the EnsembleVoteClassifier obj's underlying member method code with example usage: obj.predict(X) and returns: maj