Unsupervised machine-learning identifies clinically distinct subtypes of ALS that reflect different genetic architectures and biological mechanisms