Cancer is considered the second lethal disease in the world, with estimated 9.6 million deaths in 2018. Early detection of cancer can increase the survival rate and decrease both treatment costs and patients suffering. At the national level, this can reduce total annual economic cost of healthcare expenditure and loss of productivity. Predictive analytics using data mining and machine learning techniques have proven successful for early detection of cancer, identification of patients with high risk of survival, cancer morbidity, and mortality rate and predicting drug response. The aim of this survey paper is to review the important role of data mining and machine learning techniques in the detection of cancer. The paper provides a comparison between the most popular predictive tools and techniques, types of data, extracted features, error rate, diagnosis, associated factors, and estimation methods.