Amazon Machine Learning allows users to easily build predictive models. The presentation discusses:
1) Examples of how companies like BuildFax and Upserve use Amazon ML to provide roof condition estimates and predict restaurant customer numbers.
2) The process for building smart applications with Amazon ML, including creating a data source, training a model, evaluating performance, and retrieving predictions through batch or real-time APIs.
3) How Amazon ML fits into other AWS AI services like Rekognition, Lex, and MXNet for deep learning, and is part of Amazon's goal to make machine learning widespread.
2. Agenda
Smart applications by example
Developing with Amazon ML
Demo
How Amazon ML fits into other AWS AI services
Q&A
3. Machine learning and smart applications
Machine learning is the technology that
automatically finds patterns in your data and
uses them to make predictions for new data
points as they become available
Your data + machine learning = smart applications
4. Challenge: Insurance companies spend billions of
dollars on roof losses annually
Solution: BuildFax provides roof age and condition
estimates with the help of Amazon ML.
BuildFax
Amazon Machine Learning democratizes the process of building predictive models. It's easy and fast to
use, and has machine-learning best practices encapsulated in the product, which lets us deliver results
significantly faster than in the past.
Joe Emison
Founder & Chief Technology Officer
5. Challenge: Restaurant owners want to use data to
better serve their customers
Solution: Upserve provides predictions on the
number of customers and items ordered with the
help of Amazon ML.
Upserve
Using Amazon Machine Learning, we can predict the total number of customers who will walk through a
restaurant’s doors in a night. As a result, restaurateurs can better prep and plan their staffing for that night.
Bright Fulton
Director of Infrastructure Engineering
6. And a few more examples…
Fraud detection
(binary)
Detecting fraudulent transactions, filtering spam emails,
flagging suspicious reviews, …
Personalization
(categorical)
Recommending content, predictive content loading,
improving user experience, …
Targeted marketing
(binary/categorical)
Matching customers and offers, choosing marketing
campaigns, cross-selling and up-selling, …
Content classification
(categorical)
Categorizing documents, matching hiring managers and
resumes, …
Churn prediction
(binary)
Finding customers who are likely to stop using the
service, free-tier upgrade targeting, …
Customer support
(categorical)
Predictive routing of customer emails, social media
listening, …
8. Smart applications by counter-example
SELECT c.ID
FROM customers c
LEFT JOIN orders o
ON c.ID = o.customer
LEFT JOIN products p
ON p.ID = o.product
GROUP BY c.ID
HAVING o.category = ‘toys’
AND ((p.description LIKE ‘%copter%’
AND o.date > GETDATE() - )
OR (COUNT(*) > 2
AND SUM(o.price) > 150
AND o.date > GETDATE() – 40)
)
Use machine learning
technology to learn
your business rules
from data, instead of
endlessly iterating
business rules
13. Train your model
>>> import boto3
>>> ml = boto3.client('machinelearning')
>>> model = ml.create_ml_model(
MLModelId=’my_model',
MLModelType='REGRESSION',
TrainingDataSourceId='my_datasource')
19. Batch predictions
Asynchronous, large-volume prediction generation
Request through service console or API
Best for applications that deal with batches of data records
>>> import boto3
>>> ml = boto3.client('machinelearning')
>>> model = ml.create_batch_prediction(
BatchPredictionId = 'my_batch_prediction’
BatchPredictionDataSourceId = ’my_datasource’
MLModelId = ’my_model',
OutputUri = 's3://examplebucket/output/’)
20. Real-time predictions
Synchronous, low-latency, high-throughput prediction generation
Request through service API or server or mobile SDKs
Best for interaction applications that deal with individual data
records
>>> import boto3
>>> ml = boto3.client('machinelearning')
>>> ml.predict(
MLModelId=’my_model',
PredictEndpoint=’example_endpoint’,
Record={’key1':’value1’, ’key2':’value2’})
{
'Prediction': {
'predictedValue': 13.284348,
'details': {
'Algorithm': 'SGD',
'PredictiveModelType': 'REGRESSION’
}
}
}
22. We are here to make machine learning widespread…
by sharing what we use ourselves!
Developer APIs: Rekognition, Polly, Lex, Amazon Kinesis Analytics
Developer platform components: Amazon Machine Learning
Data Scientist platform components: Apache Spark MLlib,
Apache MXNet, Deep Learning AMI
Lower level platform components: Elastic MapReduce, EC2
(CPU, GPU, and FPGA instances)
More to come, of course!
Amazon Confidential