I don't think `step_size=1` is a good default. If `n_samples_range` is able to take an array of fractional floats, or integer sizes, we can take these as a proportion of samples. So a good default might be `np.linspace(.1, 1., 10)` or a similar `logspace`. Changing this parameter's name to something like `training_ticks`, you could justify having `step_size` semantics if a single int or float is passed.