ENH add randomized hyperparameter optimization