Simpler Hyperparameter Optimization for Software Analytics: Why, How,
  When?
  How can we make software analytics simpler and faster? One method is to match
the complexity of analysis to the intrinsic complexity of the data being
explored. For example, hyperparameter optimizers find the control settings for
data miners that improve the predictions generated via software analytics.
Sometimes, very fast hyperparameter optimization can be achieved by
"DODGE-ing"; i.e. simply steering way from settings that lead to similar
conclusions. But when is it wise to use that simple approach and when must we
use more complex (and much slower) optimizers?} To answer this, we applied
hyperparameter optimization to 120 SE data sets that explored bad smell
detection, predicting Github issue close time, bug report analysis, defect
prediction, and dozens of other non-SE problems. We find that the simple DODGE
works best for data sets with low "intrinsic dimensionality" (u ~ 3) and very
poorly for higher-dimensional data (u > 8). Nearly all the SE data seen here
was intrinsically low-dimensional, indicating that DODGE is applicable for many
SE analytics tasks.
