title: Classification tree in sklearn giving inconsistent answers
body: <p>I am using a classification tree from <code>sklearn</code> and when I have the the model train twice using the same data, and predict with the same test data, I am getting different results.  I tried reproducing on a smaller iris data set and it worked as predicted.  Here is some code</p>
  
  <pre><code>from sklearn import tree
  from sklearn.datasets import iris
  
  clf = tree.DecisionTreeClassifier()
  clf.fit(iris.data, iris.target)
  r1 = clf.predict_proba(iris.data)
  
  clf.fit(iris.data, iris.target)
  r2 = clf.predict_proba(iris.data)
  </code></pre>
  
  <p><code>r1</code> and <code>r2</code> are the same for this small example, but when I run on my own much larger data set I get differing results.  Is there a reason why this would occur?</p>
  
  <p><strong>EDIT</strong> After looking into some documentation I see that <code>DecisionTreeClassifier</code> has an input <code>random_state</code> which controls the starting point.  By setting this value to a constant I get rid of the problem I was previously having.  However now I'm concerned that my model is not as optimal as it could be.  What is the recommended method for doing this?  Try some randomly?  Or are all results expected to be about the same?</p>