Widespread proliferation of wireless coverage has enabled culmination of number of advanced location-based services (LBS). Continuous tracking of accurate physical location is the foundation of these services, which is a challenging task especially indoors. Multitude of techniques and algorithms have been proposed for indoor positioning systems (IPS's). However, accuracy, reliability, scalability and, adaptability to the environment still remain as challenges for widespread deployment. Especially, unpredictable radio propagation characteristics in vastly varying indoor environments plus access technology limitations contribute to these challenges. Machine learning (ML) approaches have been widely attempted recently to overcome these challenges with reasonable success. In this paper, we aim to provide a comprehensive survey of ML enabled localization techniques using most common wireless technologies. First, we provide a brief background on indoor localization techniques. Afterwards, we discuss various ML techniques (supervised and unsupervised) that could alleviate different challenges in indoor localization including Non-line-ofsight (NLOS) issue, device heterogeneity and environmental variations with reasonable complexity. The trade-offs among multitude of issues are discussed using numerous published results. We also discuss how the ML algorithms can be effectively used for fusing different technologies and algorithms to achieve a comprehensive IPS. In essence, this survey will serve as a reference material to acquire a detailed knowledge on recent development of machine learning for accurate indoor positioning. INDEX TERMS Indoor positioning system (IPS), location-based services (LBS), machine learning (ML), non-line-of-sight (NLOS), wireless positioning, indoor tracking.