title: What does depth of decision tree depend on?
body: <p>Below is a paramter for DecisionTreeClassifier: max_depth</p>
  
  <p><a href="http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html" rel="nofollow noreferrer">http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html</a></p>
  
  <pre><code>max_depth : int or None, optional (default=None)
  
      The maximum depth of the tree. If None, then nodes are expanded until all leaves are pure or until all leaves contain less than min_samples_split samples.
  </code></pre>
  
  <p>I always thought that depth of the decision tree should be equal or less than number of the features (attributes) of a given dataset. IWhat if we find pure classes before the mentioned input for that parameter? Does it stop splitting or splits further till the mentioned input?</p>
  
  <p>Is it possible to use the same attribute in two different level of a decision tree while splitting?</p>