Mentioned elsewhere but classic ml seems the right tool for this problem