A general-purpose framework for solving problems with machine learning applied to predicting customer churn