Machine Learning for Software Refactoring: a Large-Scale Empirical Study