class_docstr: Isolation Forest Algorithm
  
  Return the anomaly score of each sample using the IsolationForest algorithm
  
  The IsolationForest 'isolates' observations by randomly selecting a feature
  and then randomly selecting a split value between the maximum and minimum
  values of the selected feature.
  
  Since recursive partitioning can be represented by a tree structure, the
  number of splittings required to isolate a sample is equivalent to the path
  length from the root node to the terminating node.
  
  This path length, averaged over a forest of such random trees, is a
  measure of normality and our decision function.
  
  Random partitioning produces noticeably shorter paths for anomalies.
  Hence, when a forest of random trees collectively produce shorter path
  lengths for particular samples, they are highly likely to be anomalies.
  
  Read more in the :ref:`User Guide <isolation_forest>`.
  
  .. versionadded:: 0.18
  
  Parameters
  ----------
  n_estimators : int, optional (default=100)
      The number of base estimators in the ensemble.
  
  max_samples : int or float, optional (default="auto")
      The number of samples to draw from X to train each base estimator.
          - If int, then draw `max_samples` samples.
          - If float, then draw `max_samples * X.shape[0]` samples.
          - If "auto", then `max_samples=min(256, n_samples)`.
      If max_samples is larger than the number of samples provided,
      all samples will be used for all trees (no sampling).
  
  contamination : float in (0., 0.5), optional (default=0.1)
      The amount of contamination of the data set, i.e. the proportion
      of outliers in the data set. Used when fitting to define the threshold
      on the decision function.
  
  max_features : int or float, optional (default=1.0)
      The number of features to draw from X to train each base estimator.
  
          - If int, then draw `max_features` features.
          - If float, then draw `max_features * X.shape[1]` features.
  
  bootstrap : boolean, optional (default=False)
      If True, individual trees are fit on random subsets of the training
      data sampled with replacement. If False, sampling without replacement
      is performed.
  
  n_jobs : integer, optional (default=1)
      The number of jobs to run in parallel for both `fit` and `predict`.
      If -1, then the number of jobs is set to the number of cores.
  
  random_state : int, RandomState instance or None, optional (default=None)
      If int, random_state is the seed used by the random number generator;
      If RandomState instance, random_state is the random number generator;
      If None, the random number generator is the RandomState instance used
      by `np.random`.
  
  verbose : int, optional (default=0)
      Controls the verbosity of the tree building process.
  
  
  Attributes
  ----------
  estimators_ : list of DecisionTreeClassifier
      The collection of fitted sub-estimators.
  
  estimators_samples_ : list of arrays
      The subset of drawn samples (i.e., the in-bag samples) for each base
      estimator.
  
  max_samples_ : integer
      The actual number of samples
  
  References
  ----------
  .. [1] Liu, Fei Tony, Ting, Kai Ming and Zhou, Zhi-Hua. "Isolation forest."
         Data Mining, 2008. ICDM'08. Eighth IEEE International Conference on.
  .. [2] Liu, Fei Tony, Ting, Kai Ming and Zhou, Zhi-Hua. "Isolation-based
         anomaly detection." ACM Transactions on Knowledge Discovery from
         Data (TKDD) 6.1 (2012): 3.
class_docstr_tok: ["Isolation","Forest","Algorithm","Return","the","anomaly","score","of","each","sample","using","the","IsolationForest","algorithm","The","IsolationForest","'isolates","'","observations","by","randomly","selecting","a","feature","and","then","randomly","selecting","a","split","value","between","the","maximum","and","minimum","values","of","the","selected","feature",".","Since","recursive","partitioning","can","be","represented","by","a","tree","structure",",","the","number","of","splittings","required","to","isolate","a","sample","is","equivalent","to","the","path","length","from","the","root","node","to","the","terminating","node",".","This","path","length",",","averaged","over","a","forest","of","such","random","trees",",","is","a","measure","of","normality","and","our","decision","function",".","Random","partitioning","produces","noticeably","shorter","paths","for","anomalies",".","Hence",",","when","a","forest","of","random","trees","collectively","produce","shorter","path","lengths","for","particular","samples",",","they","are","highly","likely","to","be","anomalies",".","Read","more","in","the",":","ref",":","`","User","Guide","<","isolation_forest",">","`",".","..","versionadded",":",":","0.18","Parameters","--","--","--","--","--","n_estimators",":","int",",","optional","(","default=100",")","The","number","of","base","estimators","in","the","ensemble",".","max_samples",":","int","or","float",",","optional","(","default=","''","auto","''",")","The","number","of","samples","to","draw","from","X","to","train","each","base","estimator",".","-","If","int",",","then","draw","`","max_samples","`","samples",".","-","If","float",",","then","draw","`","max_samples","*","X.shape","[","0","]","`","samples",".","-","If","``","auto","''",",","then","`","max_samples=min","(","256",",","n_samples",")","`",".","If","max_samples","is","larger","than","the","number","of","samples","provided",",","all","samples","will","be","used","for","all","trees","(","no","sampling",")",".","contamination",":","float","in","(","0.",",","0.5",")",",","optional","(","default=0.1",")","The","amount","of","contamination","of","the","data","set",",","i.e",".","the","proportion","of","outliers","in","the","data","set",".","Used","when","fitting","to","define","the","threshold","on","the","decision","function",".","max_features",":","int","or","float",",","optional","(","default=1.0",")","The","number","of","features","to","draw","from","X","to","train","each","base","estimator",".","-","If","int",",","then","draw","`","max_features","`","features",".","-","If","float",",","then","draw","`","max_features","*","X.shape","[","1","]","`","features",".","bootstrap",":","boolean",",","optional","(","default=False",")","If","True",",","individual","trees","are","fit","on","random","subsets","of","the","training","data","sampled","with","replacement",".","If","False",",","sampling","without","replacement","is","performed",".","n_jobs",":","integer",",","optional","(","default=1",")","The","number","of","jobs","to","run","in","parallel","for","both","`","fit","`","and","`","predict","`",".","If","-1",",","then","the","number","of","jobs","is","set","to","the","number","of","cores",".","random_state",":","int",",","RandomState","instance","or","None",",","optional","(","default=None",")","If","int",",","random_state","is","the","seed","used","by","the","random","number","generator",";","If","RandomState","instance",",","random_state","is","the","random","number","generator",";","If","None",",","the","random","number","generator","is","the","RandomState","instance","used","by","`","np.random","`",".","verbose",":","int",",","optional","(","default=0",")","Controls","the","verbosity","of","the","tree","building","process",".","Attributes","--","--","--","--","--","estimators_",":","list","of","DecisionTreeClassifier","The","collection","of","fitted","sub-estimators",".","estimators_samples_",":","list","of","arrays","The","subset","of","drawn","samples","(","i.e.",",","the","in-bag","samples",")","for","each","base","estimator",".","max_samples_",":","integer","The","actual","number","of","samples","References","--","--","--","--","--","..","[","1","]","Liu",",","Fei","Tony",",","Ting",",","Kai","Ming","and","Zhou",",","Zhi-Hua",".","``","Isolation","forest",".","''","Data","Mining",",","2008",".","ICDM'08",".","Eighth","IEEE","International","Conference","on",".","..","[","2","]","Liu",",","Fei","Tony",",","Ting",",","Kai","Ming","and","Zhou",",","Zhi-Hua",".","``","Isolation-based","anomaly","detection",".","''","ACM","Transactions","on","Knowledge","Discovery","from","Data","(","TKDD",")","6.1","(","2012",")",":","3","."]
code: def __init__(
      self,
      n_estimators=100,
      max_samples="auto",
      contamination=0.1,
      max_features=1.0,
      bootstrap=False,
      n_jobs=1,
      random_state=None,
      verbose=0,
  ):
      super(IsolationForest, self).__init__(
          base_estimator=ExtraTreeRegressor(
              max_features=1,
              splitter="random",
              random_state=random_state,
          ),
          # here above max_features has no links with self.max_features
          bootstrap=bootstrap,
          bootstrap_features=False,
          n_estimators=n_estimators,
          max_samples=max_samples,
          max_features=max_features,
          n_jobs=n_jobs,
          random_state=random_state,
          verbose=verbose,
      )
      self.contamination = contamination
  
file_path: catboost/contrib/python/scikit-learn/py2/sklearn/ensemble/iforest.py
imports: from __future__ import division
  import numpy
  import scipy
  from warnings import warn
  from scipy.sparse import issparse
  import numbers
  from ..externals import six
  from ..tree import ExtraTreeRegressor
  from ..utils import check_random_state, check_array
  from .bagging import BaseBagging
label_desc: Use image node_id 1 to create a new IsolationForest object from inherited base classes: BaseBagging with example: obj = IsolationForest(n_estimators, max_samples, contamination, max_features, bootstrap, n_jobs, random_state, verbose)