Low accuracy in multi-class classification despite all data being generated from rules
I think neural network will be computationally intensive and would require you to have a good GPU along with good amount of training data. 
You can try running a clustering algorithm like k-means or logistic regression using warm_start