Amazon Machine Learning Review
Presented by RobustTechHouse – Mobile App Development specialists
We first heard about Amazon introducing Machine Learning as service at
We decided to give it a try.
The documentations by Amazon for its Machine Learning service is excellent.
For someone with prior experience with Machine Learning concepts, it really only took me 15 minutes to get familiar with it to load up data in 5 minutes, run the model for 10 minutes, run evaluation for 5 minutes and wrap up.
The cost is pretty low if you manage it well. Eg I believe
• Data analysis, model training, and model evaluation will cost $0.42 per compute hour.
• Batch predictions will cost $0.10 for every 1,000 predictions, rounded up to the next 1,000.
Loading Up Data
Here I encounter the first aspect that I didn’t like. I could only use Amazon S3 or RedShift as data source and couldn’t use existing links I had eg Dropbox. That would be very troublesome (and expensive?) if I had to migrate large volumes of data for AWS Machine Learning.
Here I loaded up a price series data of a futures contract and the size was about 3 Meg and about 150K rows of data.
The ease of use of Amazon Machine Learning started to show. It automatically figures out the data type and what model to use (numerical regression in this case).
There are plenty of default recommended settings which are industry standard best practices. So it is good that the AWS Machine Learning tools just recommend them to make things easier for the user.
Then comes another part I didn’t like. I expected the analysis to be spiffy fast. However, the modeling took about 10 minutes and evaluaton took about 5 minutes which is lower than what I took using slow Python SkLearn on my slow PC for this data set.
You can see some of the logs generated too.
Finally the model building and evaluation completes!
You can see some of the performance metrics of the numerical regression model.
Compared to Prediction.IO, 0xData, Python SkLearn etc (not really apples-to-apples comparison) Amazon Machine Learning is actually truly the easiest for Machine Learning newcomers to use due to its wonderful documentations, and easy learning curve. Standard best practice defaults are chosen for you and you frequently just have to press Next Next Next. It has really made Machine Learning a commodity and easily accessible to all developers. For all newcomers to Machine Learning that want access to Machine Learning, AWS Machine Learning is perhaps the best set of tools I have found and used.
However, for anyone that gets out of the initial learning phase and needs to customize Machine Learning techniques and parameters to use eg try out clustering, different kinds of classifications (eg SVM, Random Forest, SGD, different ensemble learning methods) etc, Amazon Machine Learning may not be for you. It seems to lack flexibility for advanced use. For anything more than basic use, I would definitely just stick to Python SkLearn running on a low cost and fast VPS like DigitalOcean instead of using AWS Machine Learning.
If you like our articles, please follow and like our Facebook page where we regularly share interesting posts and check out our other blog articles where we write about programming, eCommerce, mobile-commerce, FinTech, Machine Learning and other interesting topics.
RobustTechHouse is a leading tech company focusing on mobile app development, ECommerce, Mobile-Commerce and Financial Technology (FinTech) in Singapore. If you are interested to engage RobustTechHouse on your projects, you can contact us here.