Drug ranking using machine learning systematically predicts the efficacy of anti-cancer drugs