Choosing and training (admitted) PhD students for research
Do you tell him to go and not to come back till getting some advanced math classes. Or do you tell him: "you did well on the general machine learning class which I taught why not come and join my group and lets have a look what we can do"?


If by "advisor" you mean "research mentor/collaborator", definitely the latter!  In my experience, strong students can jump in and learn as they go.  Even the most inexperienced student can ask useful "stupid" questions, precisely because their backgrounds aren't yet firm.  Moreover, struggling with research (either reading or thinking or coding) while taking their first topology class tends to drive the relevant topology deeper into their heads.  I don't expect most new PhD students to contribute real research results in my area (computational topology) in their first year, but I've been pleasantly surprised more than once.

On the other hand, if by "advisor" you mean "provider of research funding", my expectations are a bit higher.  Before I hire anyone as a research assistant, I need concrete evidence of research output (not just potential), preferably in the general area of the grant.

On the gripping hand, if by "advisor" you mean "guy who signs paperwork", things are different again.  Regardless of their background, I'll agree to be a student's official advisor only after we've worked together for at least a semester and they've worked with at least one other professor for at least a semester and we both agree that we're a good match.