title: R: how does caret choose default tuning range?
body: <p>When using <code>R</code> <code>caret</code> to compare multiple models on the same data set, <code>caret</code> is smart enough to select different tuning ranges for different models if the same <code>tuneLength</code> is specified for all models and no model-specific <code>tuneGrid</code> is specified.</p>
  
  <p>For example, the tuning ranges chosen by <code>caret</code> for one particular data set are:</p>
  
  <p><code>earth(nprune)</code>: 2, 5, 8, 11, 14</p>
  
  <p><code>gamSpline(df)</code>: 1, 1.5, 2, 2.5, 3</p>
  
  <p><code>rpart(cp)</code>: 0.010, 0.054, 0.116, 0.123, 0.358</p>
  
  <p>Does anyone know how <code>caret</code> determines these default tuning ranges? I have been searching through the documentation but still haven't pinned down the algorithm to choose the ranges.</p>