ML task: Supervised learning>Multi-calss classification problem.
Conclusion: Random forest performed best, however there is room for improvement.
For future enhancements: regularization, hyper parameter fine-tuning, optimization techniques, neural networks and deep-learning
Implemented with Python 3.6.2 :: Anaconda custom (64-bit) Note that some results depend on randomization theefore might not be fully reproduceable.
Used libraries: pandas, numpy, sklearn, matplotlib, scipy, math, ast, time