  With the continuous and vast increase in the amount of data in our digital
world, it has been acknowledged that the number of knowledgeable data
scientists can not scale to address these challenges. Thus, there was a crucial
need for automating the process of building good machine learning models. In
the last few years, several techniques and frameworks have been introduced to
tackle the challenge of automating the process of Combined Algorithm Selection
and Hyper-parameter tuning (CASH) in the machine learning domain. The main aim
of these techniques is to reduce the role of the human in the loop and fill the
gap for non-expert machine learning users by playing the role of the domain
expert.
  In this paper, we present a comprehensive survey for the state-of-the-art
efforts in tackling the CASH problem. In addition, we highlight the research
work of automating the other steps of the full complex machine learning
pipeline (AutoML) from data understanding till model deployment. Furthermore,
we provide comprehensive coverage for the various tools and frameworks that
have been introduced in this domain. Finally, we discuss some of the research
directions and open challenges that need to be addressed in order to achieve
the vision and goals of the AutoML process.
