title: sklearn min_impurity_decrease explanation
body: <p>The definition of min_impurity_decrease in sklearn is </p>
  
  <blockquote>
    <p>A node will be split if this split induces a decrease of the impurity
    greater than or equal to this value.</p>
  </blockquote>
  
  <p>Using the Iris dataset, and putting min_impurity_decrease = 0.0</p>
  
  <p><a href="https://i.stack.imgur.com/vILxW.png" rel="noreferrer">How the tree looks when min_impurity_decrease = 0.0</a></p>
  
  <p>Putting min_impurity_decrease = 0.1, we will obtain this:</p>
  
  <p><a href="https://i.stack.imgur.com/KDDQ3.png" rel="noreferrer">How the tree looks when min_impurity_decrease = 0.1</a></p>
  
  <p>Looking at the green square where gini index (impurity) = 0.2041, why was it not split when we put min_impurity_decrease = 0.1 although the the gini index (impurity) left = 0.0 and the gini index (impurity) right = 0.375</p>
  
  <p>Does this mean to prune all the children node where, when pruned, their parent 
  node gini index will become less than 0.1 ?
  Becuase, if this is the case, then why did we not prune the second level node having gini = 0.487), which is bigger than 0.1 ?</p>