In a ML setup your GPU is going to be the workhorse. I'd spend less on the CPU and memory and spend more on the GPU. Throwing something together REALLY quick (I'm being lazy and not checking) I'd go something closer to this https://pcpartpicker.com/list/T9Ds27 because of the graphics card. But getting a Ti would improve a lot just for GPU memory. You could get a lot done with a machine like this though (I assume it would be good for gaming too. Disclosure: not a gamer).
tldr: upgrade GPU, downgrade CPU and ram to keep similar pricing.
This depends quite a lot on the domain. In some image processing tasks you can actually be cpu-bound during dataloading. So either you get tons of RAM and preload the dataset, or you use more cores to queue up batches. You still need a good GPU and generally I'd agree to prioritise that first.
You can get CPU bound, I am $100 under and you could put money towards that or RAM. I did also leave a path to upgrade RAM. But that said, I've been working with image generation a lot lately and CPU really isn't my bottleneck.
If doing image processing (or NLP with rec nets), I wouldn't save on VRAM. 11GB minimum (2080/1080TI). Otherwise you can't even run the bigger nets with good image resolution.
I think the more important cuts that went unmentioned are the CPU cooler and mobo. You could arguably cut the CPU cooler completely, since these Ryzen CPUs include one.
The mobo cut is also a pretty useful savings, though it will be an obstacle to multiple-GPU setups.
Also, the parent comment misleadingly suggests that a 3900X costs less than $300. That seems like an error in pcpartpicker, since clicking through reveals a true price of $400+.
12c/24t, 64G with a high end video card.