SlideShare a Scribd company logo
1 of 51
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
John Chang
Ecosystem Solutions Architect
September 2016
Build a Recommendation Engine and
Use Amazon ML in Real Time
Agenda
• Machine learning and the data ecosystem
• Smart applications by example (and counterexample)
• Amazon Machine Learning (Amazon ML) features and
benefits
• Developing with Amazon ML
• Q&A
Three types of data-driven development
Retrospective
analysis and
reporting
Amazon Redshift,
Amazon RDS
Amazon S3
Amazon EMR
Three types of data-driven development
Retrospective
analysis and
reporting
Here-and-now
real-time processing
and dashboards
Amazon Kinesis
Amazon EC2
AWS Lambda
Amazon Redshift,
Amazon RDS
Amazon S3
Amazon EMR
Three types of data-driven development
Retrospective
analysis and
reporting
Here-and-now
real-time processing
and dashboards
Predictions
to enable smart
applications
Amazon Kinesis
Amazon EC2
AWS Lambda
Amazon Redshift,
Amazon RDS
Amazon S3
Amazon EMR
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.
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
Smart applications by example
Based on what you
know about the user:
Will they use your
product?
Smart applications by example
Based on what you
know about the user:
Will they use your
product?
Based on what you
know about an order:
Is this order
fraudulent?
Smart applications by example
Based on what you
know about the user:
Will they use your
product?
Based on what you
know about an order:
Is this order
fraudulent?
Based on what you know
about a news article:
What other articles are
interesting?
And a few more examples…
Fraud detection Detecting fraudulent transactions, filtering spam emails,
flagging suspicious reviews,…
Personalization Recommending content, predictive content loading,
improving user experience,…
Targeted marketing Matching customers and offers, choosing marketing
campaigns, cross-selling and up-selling,…
Content classification Categorizing documents, matching hiring managers and
resumes,…
Churn prediction Finding customers who are likely to stop using the
service, upgrade targeting,…
Customer support Predictive routing of customer emails, social media
listening,…
Smart applications by counterexample
Dear Alex,
This awesome quadcopter is on sale
for just $49.99!
Smart applications by counterexample
SELECT c.ID
FROM customers c
LEFT JOIN orders o
ON c.ID = o.customer
GROUP BY c.ID
HAVING o.date > GETDATE() – 30
We can start by sending
the offer to all customers
who placed an order in
the last 30 days
Smart applications by counterexample
SELECT c.ID
FROM customers c
LEFT JOIN orders o
ON c.ID = o.customer
GROUP BY c.ID
HAVING O.CATEGORY = ‘TOYS’
AND o.date > GETDATE() – 30
…let’s narrow it down to
just customers who
bought toys
Smart applications by counterexample
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 ‘%HELICOPTER%’
AND O.DATE > GETDATE() - 60)
OR (COUNT(*) > 2
AND SUM(o.price) > 200
AND o.date > GETDATE() – 30)
)
…and expand the query
to customers who
purchased other toy
helicopters recently, or
made several expensive
toy purchases
Smart applications by counterexample
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() - 60)
OR (COUNT(*) > 2
AND SUM(o.price) > 200
AND o.date > GETDATE() – 30)
)
…but what about
quadcopters?
Smart applications by counterexample
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() - 120)
OR (COUNT(*) > 2
AND SUM(o.price) > 200
AND o.date > GETDATE() – 30)
)
…maybe we should go
back further in time
Smart applications by counterexample
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() - 120)
OR (COUNT(*) > 2
AND SUM(o.price) > 200
AND o.date > GETDATE() – 40)
)
…tweak the query more
Smart applications by counterexample
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() - 120)
OR (COUNT(*) > 2
AND SUM(o.price) > 150
AND o.date > GETDATE() – 40)
)
…again
Smart applications by counterexample
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() - 90)
OR (COUNT(*) > 2
AND SUM(o.price) > 150
AND o.date > GETDATE() – 40)
)
…and again
Smart applications by counterexample
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() - 90)
OR (COUNT(*) > 2
AND SUM(o.price) > 150
AND o.date > GETDATE() – 40)
)
Use machine learning
technology to learn your
business rules from data!
Why aren’t there more smart applications?
1. Machine learning expertise is rare.
2. Building and scaling machine learning technology is
hard.
3. Closing the gap between models and applications is
time-consuming and expensive.
Building smart applications today
Expertise Technology Operationalization
Limited supply of
data scientists
Many choices, few
mainstays
Complex and error-prone
data workflows
Expensive to hire
or outsource
Difficult to use and scale Custom platforms and
APIs
Many moving pieces lead
to custom solutions every
time
Reinventing the model
lifecycle management
wheel
What if there were a better
way?
Introducing Amazon Machine Learning
Easy-to-use, managed machine learning
service built for developers
Robust, powerful machine learning
technology based on Amazon’s internal
systems
Create models using your data already
stored in the AWS cloud
Deploy models to production in seconds
Easy-to-use and developer-friendly
Use the intuitive, powerful service console to build
and explore your initial models
• Data retrieval
• Model training, quality evaluation, fine-tuning
• Deployment and management
Automate model lifecycle with fully featured APIs and
SDKs
• Java, Python, .NET, JavaScript, Ruby, PHP
Easily create smart iOS and Android applications with
AWS Mobile SDK
Powerful machine learning technology
Based on Amazon’s battle-hardened internal systems
Not just the algorithms:
• Smart data transformations
• Input data and model quality alerts
• Built-in industry best practices
Grows with your needs
• Train on up to 100 GB of data
• Generate billions of predictions
• Obtain predictions in batches or real-time
Integrated with the AWS data ecosystem
Access data that is stored in Amazon S3,
Amazon Redshift, or MySQL databases in
Amazon RDS
Output predictions to Amazon S3 for easy
integration with your data flows
Use AWS Identity and Access Management
(IAM) for fine-grained data access permission
policies
Fully-managed model and prediction services
End-to-end service, with no servers to provision
and manage
One-click production model deployment
Programmatically query model metadata to
enable automatic retraining workflows
Monitor prediction usage patterns with Amazon
CloudWatch metrics
Pay-as-you-go and inexpensive
Data analysis, model training, and
evaluation: $0.42/instance hour
Batch predictions: $0.10/1000
Real-time predictions: $0.10/1000
+ hourly capacity reservation charge
Three supported types of predictions
Binary classification
Predict the answer to a Yes/No question
Multiclass classification
Predict the correct category from a list
Regression
Predict the value of a numeric variable
Train
model
Evaluate and
optimize
Retrieve
predictions
1 2 3
Building smart applications with Amazon ML
Train
model
Evaluate and
optimize
Retrieve
predictions
1 2 3
Building smart applications with Amazon ML
- Create a datasource object pointing to your data
- Explore and understand your data
- Transform data and train your model
Create a datasource object
>>> import boto
>>> ml = boto.connect_machinelearning()
>>> ds = ml.create_data_source_from_s3(
data_source_id = ’my_datasource',
data_spec = {
'DataLocationS3': 's3://bucket/input/data.csv',
'DataSchemaLocationS3': 's3://bucket/input/data.schema',
’compute_statistics’: True } )
Explore and understand your data
Train your model
>>> import boto
>>> ml = boto.connect_machinelearning()
>>> model = ml.create_ml_model(
ml_model_id = ’my_model',
ml_model_type = 'REGRESSION',
training_data_source_id = 'my_datasource')
Train
model
Evaluate and
optimize
Retrieve
predictions
1 2 3
Building smart applications with Amazon ML
- Measure and understand model quality
- Adjust model interpretation
Explore model quality
Fine-tune model interpretation
Fine-tune model interpretation
Train
model
Evaluate and
optimize
Retrieve
predictions
1 2 3
Building smart applications with Amazon ML
- Batch predictions
- Real-time predictions
Batch predictions
Asynchronous, large-volume prediction generation
Request through service console or API
Best for applications that deal with batches of data records
>>> import boto
>>> ml = boto.connect_machinelearning()
>>> model = ml.create_batch_prediction(
batch_prediction_id = 'my_batch_prediction’,
batch_prediction_data_source_id = ’my_datasource’,
ml_model_id = ’my_model',
output_uri = 's3://examplebucket/output/’)
Real-time predictions
Synchronous, low-latency, high-throughput prediction generation
Request through service API, server, or mobile SDKs
Best for interaction applications that deal with individual data records
>>> import boto
>>> ml = boto.connect_machinelearning()
>>> ml.predict(
ml_model_id = ’my_model',
predict_endpoint = ’example_endpoint’,
record = {’key1':’value1’, ’key2':’value2’})
{
'Prediction': {
'predictedValue': 13.284348,
'details': {
'Algorithm': 'SGD',
'PredictiveModelType': 'REGRESSION’
}
}
}
Architecture patterns for
smart applications
Get predictions with
Amazon ML batch API
Process data with
EMR
Raw data in S3
Aggregated data
in S3
Predictions
in S3 Your application
Batch predictions with EMR
Structured data
In Amazon Redshift
Load predictions into
Amazon Redshift
- or -
Read prediction results
directly from S3
Predictions
in S3
Get predictions with
Amazon ML batch API
Your application
Batch predictions with Amazon Redshift
Your application
Get predictions with
Amazon ML real-time API
Amazon ML service
Real-time predictions for interactive
applications
Your application Amazon
DynamoDB
+
Trigger events with Lambda
+
Get predictions with
Amazon ML real-time API
Adding predictions to an existing data flow
Recommendation engine
Amazon S3 Amazon Redshift
Amazon ML
Data Cleansing
Raw Data
Train model
Build
Models
S3 Static
Website
Predictions
Q&A
http://aws.amazon.com/machine-learning
Remember to complete
your evaluations!

More Related Content

What's hot

Recommender systems for E-commerce
Recommender systems for E-commerceRecommender systems for E-commerce
Recommender systems for E-commerceAlexander Konduforov
 
Recommender systems using collaborative filtering
Recommender systems using collaborative filteringRecommender systems using collaborative filtering
Recommender systems using collaborative filteringD Yogendra Rao
 
Recommender system introduction
Recommender system   introductionRecommender system   introduction
Recommender system introductionLiang Xiang
 
Recommendation techniques
Recommendation techniques Recommendation techniques
Recommendation techniques sun9413
 
Introduction to Recommendation Systems
Introduction to Recommendation SystemsIntroduction to Recommendation Systems
Introduction to Recommendation SystemsTrieu Nguyen
 
Collaborative Filtering using KNN
Collaborative Filtering using KNNCollaborative Filtering using KNN
Collaborative Filtering using KNNŞeyda Hatipoğlu
 
Recommender systems: Content-based and collaborative filtering
Recommender systems: Content-based and collaborative filteringRecommender systems: Content-based and collaborative filtering
Recommender systems: Content-based and collaborative filteringViet-Trung TRAN
 
Recommendation System Explained
Recommendation System ExplainedRecommendation System Explained
Recommendation System ExplainedCrossing Minds
 
Personalized news recommendation engine
Personalized news recommendation enginePersonalized news recommendation engine
Personalized news recommendation enginePrateek Sachdev
 
Recommender Systems in E-Commerce
Recommender Systems in E-CommerceRecommender Systems in E-Commerce
Recommender Systems in E-CommerceRoger Chen
 
Bringing Amazon Personalize to life with Domino’s Pizza Enterprises - AWS Sum...
Bringing Amazon Personalize to life with Domino’s Pizza Enterprises - AWS Sum...Bringing Amazon Personalize to life with Domino’s Pizza Enterprises - AWS Sum...
Bringing Amazon Personalize to life with Domino’s Pizza Enterprises - AWS Sum...Amazon Web Services
 
Movie Recommendation engine
Movie Recommendation engineMovie Recommendation engine
Movie Recommendation engineJayesh Lahori
 
Machine Learning & Amazon SageMaker
Machine Learning & Amazon SageMakerMachine Learning & Amazon SageMaker
Machine Learning & Amazon SageMakerAmazon Web Services
 
Recommendation Systems
Recommendation SystemsRecommendation Systems
Recommendation SystemsRobin Reni
 
Recommendation System
Recommendation SystemRecommendation System
Recommendation SystemAnamta Sayyed
 
Amazon Relational Database Service (Amazon RDS)
Amazon Relational Database Service (Amazon RDS)Amazon Relational Database Service (Amazon RDS)
Amazon Relational Database Service (Amazon RDS)Amazon Web Services
 

What's hot (20)

Collaborative filtering
Collaborative filteringCollaborative filtering
Collaborative filtering
 
Recommender systems for E-commerce
Recommender systems for E-commerceRecommender systems for E-commerce
Recommender systems for E-commerce
 
Recommender systems using collaborative filtering
Recommender systems using collaborative filteringRecommender systems using collaborative filtering
Recommender systems using collaborative filtering
 
Recommender system introduction
Recommender system   introductionRecommender system   introduction
Recommender system introduction
 
Recommendation techniques
Recommendation techniques Recommendation techniques
Recommendation techniques
 
Introduction to Recommendation Systems
Introduction to Recommendation SystemsIntroduction to Recommendation Systems
Introduction to Recommendation Systems
 
Introducing Amazon Personalize
Introducing Amazon PersonalizeIntroducing Amazon Personalize
Introducing Amazon Personalize
 
Collaborative Filtering using KNN
Collaborative Filtering using KNNCollaborative Filtering using KNN
Collaborative Filtering using KNN
 
Recommender systems: Content-based and collaborative filtering
Recommender systems: Content-based and collaborative filteringRecommender systems: Content-based and collaborative filtering
Recommender systems: Content-based and collaborative filtering
 
Recommendation System Explained
Recommendation System ExplainedRecommendation System Explained
Recommendation System Explained
 
Recommender Systems
Recommender SystemsRecommender Systems
Recommender Systems
 
Personalized news recommendation engine
Personalized news recommendation enginePersonalized news recommendation engine
Personalized news recommendation engine
 
Recommender system
Recommender systemRecommender system
Recommender system
 
Recommender Systems in E-Commerce
Recommender Systems in E-CommerceRecommender Systems in E-Commerce
Recommender Systems in E-Commerce
 
Bringing Amazon Personalize to life with Domino’s Pizza Enterprises - AWS Sum...
Bringing Amazon Personalize to life with Domino’s Pizza Enterprises - AWS Sum...Bringing Amazon Personalize to life with Domino’s Pizza Enterprises - AWS Sum...
Bringing Amazon Personalize to life with Domino’s Pizza Enterprises - AWS Sum...
 
Movie Recommendation engine
Movie Recommendation engineMovie Recommendation engine
Movie Recommendation engine
 
Machine Learning & Amazon SageMaker
Machine Learning & Amazon SageMakerMachine Learning & Amazon SageMaker
Machine Learning & Amazon SageMaker
 
Recommendation Systems
Recommendation SystemsRecommendation Systems
Recommendation Systems
 
Recommendation System
Recommendation SystemRecommendation System
Recommendation System
 
Amazon Relational Database Service (Amazon RDS)
Amazon Relational Database Service (Amazon RDS)Amazon Relational Database Service (Amazon RDS)
Amazon Relational Database Service (Amazon RDS)
 

Similar to Build a Recommendation Engine using Amazon Machine Learning in Real-time

Getting Started with Amazon Machine Learning
Getting Started with Amazon Machine LearningGetting Started with Amazon Machine Learning
Getting Started with Amazon Machine LearningAmazon Web Services
 
Amazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart ApplicationsAmazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart ApplicationsAmazon Web Services
 
Getting Started with Amazon Machine Learning
Getting Started with Amazon Machine LearningGetting Started with Amazon Machine Learning
Getting Started with Amazon Machine LearningAmazon Web Services
 
Amazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart ApplicationsAmazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart ApplicationsAmazon Web Services
 
Amazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart ApplicationsAmazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart ApplicationsAmazon Web Services
 
AWS April Webinar Series - Introduction to Amazon Machine Learning
AWS April Webinar Series - Introduction to Amazon Machine LearningAWS April Webinar Series - Introduction to Amazon Machine Learning
AWS April Webinar Series - Introduction to Amazon Machine LearningAmazon Web Services
 
Einführung in Amazon Machine Learning - AWS Machine Learning Web Day
Einführung in Amazon Machine Learning  - AWS Machine Learning Web DayEinführung in Amazon Machine Learning  - AWS Machine Learning Web Day
Einführung in Amazon Machine Learning - AWS Machine Learning Web DayAWS Germany
 
Amazon Machine Learning #AWSLoft Berlin
Amazon Machine Learning #AWSLoft BerlinAmazon Machine Learning #AWSLoft Berlin
Amazon Machine Learning #AWSLoft BerlinAWS Germany
 
Introducing Amazon Machine Learning
Introducing Amazon Machine LearningIntroducing Amazon Machine Learning
Introducing Amazon Machine LearningAmazon Web Services
 
Exploring the Business Use Cases for Amazon Machine Learning - June 2017 AWS ...
Exploring the Business Use Cases for Amazon Machine Learning - June 2017 AWS ...Exploring the Business Use Cases for Amazon Machine Learning - June 2017 AWS ...
Exploring the Business Use Cases for Amazon Machine Learning - June 2017 AWS ...Amazon Web Services
 
An introduction to Machine Learning
An introduction to Machine LearningAn introduction to Machine Learning
An introduction to Machine LearningJulien SIMON
 
Machine Learning & Data Lake for IoT scenarios on AWS
Machine Learning & Data Lake for IoT scenarios on AWSMachine Learning & Data Lake for IoT scenarios on AWS
Machine Learning & Data Lake for IoT scenarios on AWSAmazon Web Services
 
Machine Learning for Developers
Machine Learning for DevelopersMachine Learning for Developers
Machine Learning for DevelopersDanilo Poccia
 
AWS ML and SparkML on EMR to Build Recommendation Engine
AWS ML and SparkML on EMR to Build Recommendation Engine AWS ML and SparkML on EMR to Build Recommendation Engine
AWS ML and SparkML on EMR to Build Recommendation Engine Amazon Web Services
 
Real-World Smart Applications with Amazon Machine Learning - AWS Machine Lear...
Real-World Smart Applications with Amazon Machine Learning - AWS Machine Lear...Real-World Smart Applications with Amazon Machine Learning - AWS Machine Lear...
Real-World Smart Applications with Amazon Machine Learning - AWS Machine Lear...AWS Germany
 
(BDT302) Real-World Smart Applications With Amazon Machine Learning
(BDT302) Real-World Smart Applications With Amazon Machine Learning(BDT302) Real-World Smart Applications With Amazon Machine Learning
(BDT302) Real-World Smart Applications With Amazon Machine LearningAmazon Web Services
 
AWS January 2016 Webinar Series - Building Smart Applications with Amazon Mac...
AWS January 2016 Webinar Series - Building Smart Applications with Amazon Mac...AWS January 2016 Webinar Series - Building Smart Applications with Amazon Mac...
AWS January 2016 Webinar Series - Building Smart Applications with Amazon Mac...Amazon Web Services
 

Similar to Build a Recommendation Engine using Amazon Machine Learning in Real-time (20)

Getting Started with Amazon Machine Learning
Getting Started with Amazon Machine LearningGetting Started with Amazon Machine Learning
Getting Started with Amazon Machine Learning
 
Amazon Machine Learning
Amazon Machine LearningAmazon Machine Learning
Amazon Machine Learning
 
Amazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart ApplicationsAmazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart Applications
 
Getting Started with Amazon Machine Learning
Getting Started with Amazon Machine LearningGetting Started with Amazon Machine Learning
Getting Started with Amazon Machine Learning
 
Amazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart ApplicationsAmazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart Applications
 
Amazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart ApplicationsAmazon Machine Learning: Empowering Developers to Build Smart Applications
Amazon Machine Learning: Empowering Developers to Build Smart Applications
 
AWS April Webinar Series - Introduction to Amazon Machine Learning
AWS April Webinar Series - Introduction to Amazon Machine LearningAWS April Webinar Series - Introduction to Amazon Machine Learning
AWS April Webinar Series - Introduction to Amazon Machine Learning
 
Einführung in Amazon Machine Learning - AWS Machine Learning Web Day
Einführung in Amazon Machine Learning  - AWS Machine Learning Web DayEinführung in Amazon Machine Learning  - AWS Machine Learning Web Day
Einführung in Amazon Machine Learning - AWS Machine Learning Web Day
 
Amazon Machine Learning #AWSLoft Berlin
Amazon Machine Learning #AWSLoft BerlinAmazon Machine Learning #AWSLoft Berlin
Amazon Machine Learning #AWSLoft Berlin
 
Amazon Machine Learning
Amazon Machine LearningAmazon Machine Learning
Amazon Machine Learning
 
Introducing Amazon Machine Learning
Introducing Amazon Machine LearningIntroducing Amazon Machine Learning
Introducing Amazon Machine Learning
 
Exploring the Business Use Cases for Amazon Machine Learning - June 2017 AWS ...
Exploring the Business Use Cases for Amazon Machine Learning - June 2017 AWS ...Exploring the Business Use Cases for Amazon Machine Learning - June 2017 AWS ...
Exploring the Business Use Cases for Amazon Machine Learning - June 2017 AWS ...
 
An introduction to Machine Learning
An introduction to Machine LearningAn introduction to Machine Learning
An introduction to Machine Learning
 
Amazon Machine Learning
Amazon Machine LearningAmazon Machine Learning
Amazon Machine Learning
 
Machine Learning & Data Lake for IoT scenarios on AWS
Machine Learning & Data Lake for IoT scenarios on AWSMachine Learning & Data Lake for IoT scenarios on AWS
Machine Learning & Data Lake for IoT scenarios on AWS
 
Machine Learning for Developers
Machine Learning for DevelopersMachine Learning for Developers
Machine Learning for Developers
 
AWS ML and SparkML on EMR to Build Recommendation Engine
AWS ML and SparkML on EMR to Build Recommendation Engine AWS ML and SparkML on EMR to Build Recommendation Engine
AWS ML and SparkML on EMR to Build Recommendation Engine
 
Real-World Smart Applications with Amazon Machine Learning - AWS Machine Lear...
Real-World Smart Applications with Amazon Machine Learning - AWS Machine Lear...Real-World Smart Applications with Amazon Machine Learning - AWS Machine Lear...
Real-World Smart Applications with Amazon Machine Learning - AWS Machine Lear...
 
(BDT302) Real-World Smart Applications With Amazon Machine Learning
(BDT302) Real-World Smart Applications With Amazon Machine Learning(BDT302) Real-World Smart Applications With Amazon Machine Learning
(BDT302) Real-World Smart Applications With Amazon Machine Learning
 
AWS January 2016 Webinar Series - Building Smart Applications with Amazon Mac...
AWS January 2016 Webinar Series - Building Smart Applications with Amazon Mac...AWS January 2016 Webinar Series - Building Smart Applications with Amazon Mac...
AWS January 2016 Webinar Series - Building Smart Applications with Amazon Mac...
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Recently uploaded

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Build a Recommendation Engine using Amazon Machine Learning in Real-time

  • 1. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. John Chang Ecosystem Solutions Architect September 2016 Build a Recommendation Engine and Use Amazon ML in Real Time
  • 2. Agenda • Machine learning and the data ecosystem • Smart applications by example (and counterexample) • Amazon Machine Learning (Amazon ML) features and benefits • Developing with Amazon ML • Q&A
  • 3. Three types of data-driven development Retrospective analysis and reporting Amazon Redshift, Amazon RDS Amazon S3 Amazon EMR
  • 4. Three types of data-driven development Retrospective analysis and reporting Here-and-now real-time processing and dashboards Amazon Kinesis Amazon EC2 AWS Lambda Amazon Redshift, Amazon RDS Amazon S3 Amazon EMR
  • 5. Three types of data-driven development Retrospective analysis and reporting Here-and-now real-time processing and dashboards Predictions to enable smart applications Amazon Kinesis Amazon EC2 AWS Lambda Amazon Redshift, Amazon RDS Amazon S3 Amazon EMR
  • 6. 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.
  • 7. 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
  • 8. Smart applications by example Based on what you know about the user: Will they use your product?
  • 9. Smart applications by example Based on what you know about the user: Will they use your product? Based on what you know about an order: Is this order fraudulent?
  • 10. Smart applications by example Based on what you know about the user: Will they use your product? Based on what you know about an order: Is this order fraudulent? Based on what you know about a news article: What other articles are interesting?
  • 11. And a few more examples… Fraud detection Detecting fraudulent transactions, filtering spam emails, flagging suspicious reviews,… Personalization Recommending content, predictive content loading, improving user experience,… Targeted marketing Matching customers and offers, choosing marketing campaigns, cross-selling and up-selling,… Content classification Categorizing documents, matching hiring managers and resumes,… Churn prediction Finding customers who are likely to stop using the service, upgrade targeting,… Customer support Predictive routing of customer emails, social media listening,…
  • 12. Smart applications by counterexample Dear Alex, This awesome quadcopter is on sale for just $49.99!
  • 13. Smart applications by counterexample SELECT c.ID FROM customers c LEFT JOIN orders o ON c.ID = o.customer GROUP BY c.ID HAVING o.date > GETDATE() – 30 We can start by sending the offer to all customers who placed an order in the last 30 days
  • 14. Smart applications by counterexample SELECT c.ID FROM customers c LEFT JOIN orders o ON c.ID = o.customer GROUP BY c.ID HAVING O.CATEGORY = ‘TOYS’ AND o.date > GETDATE() – 30 …let’s narrow it down to just customers who bought toys
  • 15. Smart applications by counterexample 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 ‘%HELICOPTER%’ AND O.DATE > GETDATE() - 60) OR (COUNT(*) > 2 AND SUM(o.price) > 200 AND o.date > GETDATE() – 30) ) …and expand the query to customers who purchased other toy helicopters recently, or made several expensive toy purchases
  • 16. Smart applications by counterexample 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() - 60) OR (COUNT(*) > 2 AND SUM(o.price) > 200 AND o.date > GETDATE() – 30) ) …but what about quadcopters?
  • 17. Smart applications by counterexample 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() - 120) OR (COUNT(*) > 2 AND SUM(o.price) > 200 AND o.date > GETDATE() – 30) ) …maybe we should go back further in time
  • 18. Smart applications by counterexample 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() - 120) OR (COUNT(*) > 2 AND SUM(o.price) > 200 AND o.date > GETDATE() – 40) ) …tweak the query more
  • 19. Smart applications by counterexample 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() - 120) OR (COUNT(*) > 2 AND SUM(o.price) > 150 AND o.date > GETDATE() – 40) ) …again
  • 20. Smart applications by counterexample 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() - 90) OR (COUNT(*) > 2 AND SUM(o.price) > 150 AND o.date > GETDATE() – 40) ) …and again
  • 21. Smart applications by counterexample 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() - 90) OR (COUNT(*) > 2 AND SUM(o.price) > 150 AND o.date > GETDATE() – 40) ) Use machine learning technology to learn your business rules from data!
  • 22. Why aren’t there more smart applications? 1. Machine learning expertise is rare. 2. Building and scaling machine learning technology is hard. 3. Closing the gap between models and applications is time-consuming and expensive.
  • 23. Building smart applications today Expertise Technology Operationalization Limited supply of data scientists Many choices, few mainstays Complex and error-prone data workflows Expensive to hire or outsource Difficult to use and scale Custom platforms and APIs Many moving pieces lead to custom solutions every time Reinventing the model lifecycle management wheel
  • 24. What if there were a better way?
  • 25. Introducing Amazon Machine Learning Easy-to-use, managed machine learning service built for developers Robust, powerful machine learning technology based on Amazon’s internal systems Create models using your data already stored in the AWS cloud Deploy models to production in seconds
  • 26. Easy-to-use and developer-friendly Use the intuitive, powerful service console to build and explore your initial models • Data retrieval • Model training, quality evaluation, fine-tuning • Deployment and management Automate model lifecycle with fully featured APIs and SDKs • Java, Python, .NET, JavaScript, Ruby, PHP Easily create smart iOS and Android applications with AWS Mobile SDK
  • 27. Powerful machine learning technology Based on Amazon’s battle-hardened internal systems Not just the algorithms: • Smart data transformations • Input data and model quality alerts • Built-in industry best practices Grows with your needs • Train on up to 100 GB of data • Generate billions of predictions • Obtain predictions in batches or real-time
  • 28. Integrated with the AWS data ecosystem Access data that is stored in Amazon S3, Amazon Redshift, or MySQL databases in Amazon RDS Output predictions to Amazon S3 for easy integration with your data flows Use AWS Identity and Access Management (IAM) for fine-grained data access permission policies
  • 29. Fully-managed model and prediction services End-to-end service, with no servers to provision and manage One-click production model deployment Programmatically query model metadata to enable automatic retraining workflows Monitor prediction usage patterns with Amazon CloudWatch metrics
  • 30. Pay-as-you-go and inexpensive Data analysis, model training, and evaluation: $0.42/instance hour Batch predictions: $0.10/1000 Real-time predictions: $0.10/1000 + hourly capacity reservation charge
  • 31. Three supported types of predictions Binary classification Predict the answer to a Yes/No question Multiclass classification Predict the correct category from a list Regression Predict the value of a numeric variable
  • 32. Train model Evaluate and optimize Retrieve predictions 1 2 3 Building smart applications with Amazon ML
  • 33. Train model Evaluate and optimize Retrieve predictions 1 2 3 Building smart applications with Amazon ML - Create a datasource object pointing to your data - Explore and understand your data - Transform data and train your model
  • 34. Create a datasource object >>> import boto >>> ml = boto.connect_machinelearning() >>> ds = ml.create_data_source_from_s3( data_source_id = ’my_datasource', data_spec = { 'DataLocationS3': 's3://bucket/input/data.csv', 'DataSchemaLocationS3': 's3://bucket/input/data.schema', ’compute_statistics’: True } )
  • 36. Train your model >>> import boto >>> ml = boto.connect_machinelearning() >>> model = ml.create_ml_model( ml_model_id = ’my_model', ml_model_type = 'REGRESSION', training_data_source_id = 'my_datasource')
  • 37. Train model Evaluate and optimize Retrieve predictions 1 2 3 Building smart applications with Amazon ML - Measure and understand model quality - Adjust model interpretation
  • 41. Train model Evaluate and optimize Retrieve predictions 1 2 3 Building smart applications with Amazon ML - Batch predictions - Real-time predictions
  • 42. Batch predictions Asynchronous, large-volume prediction generation Request through service console or API Best for applications that deal with batches of data records >>> import boto >>> ml = boto.connect_machinelearning() >>> model = ml.create_batch_prediction( batch_prediction_id = 'my_batch_prediction’, batch_prediction_data_source_id = ’my_datasource’, ml_model_id = ’my_model', output_uri = 's3://examplebucket/output/’)
  • 43. Real-time predictions Synchronous, low-latency, high-throughput prediction generation Request through service API, server, or mobile SDKs Best for interaction applications that deal with individual data records >>> import boto >>> ml = boto.connect_machinelearning() >>> ml.predict( ml_model_id = ’my_model', predict_endpoint = ’example_endpoint’, record = {’key1':’value1’, ’key2':’value2’}) { 'Prediction': { 'predictedValue': 13.284348, 'details': { 'Algorithm': 'SGD', 'PredictiveModelType': 'REGRESSION’ } } }
  • 45. Get predictions with Amazon ML batch API Process data with EMR Raw data in S3 Aggregated data in S3 Predictions in S3 Your application Batch predictions with EMR
  • 46. Structured data In Amazon Redshift Load predictions into Amazon Redshift - or - Read prediction results directly from S3 Predictions in S3 Get predictions with Amazon ML batch API Your application Batch predictions with Amazon Redshift
  • 47. Your application Get predictions with Amazon ML real-time API Amazon ML service Real-time predictions for interactive applications
  • 48. Your application Amazon DynamoDB + Trigger events with Lambda + Get predictions with Amazon ML real-time API Adding predictions to an existing data flow
  • 49. Recommendation engine Amazon S3 Amazon Redshift Amazon ML Data Cleansing Raw Data Train model Build Models S3 Static Website Predictions

Editor's Notes

  1. In this session, I’d like to tell you about our service, our motivation for building the service, and the types of smart applications it enables our customers to build.
  2. Our customers have told us that their uses of data collected as part of their businesses fall into three major categories. First is the retrospective data analysis, where data is collected, stored and analyzed to answer specific questions about what happened in the past. Many of our customers use Amazon S3 to store large volumes of structured data, and then process is with EMR, using tools like Hive and Pig. Others store data in Amazon Redshift, our PB-scale data warehouse, or in traditional database systems that are managed by Amazon RDS. No matter the mechanism, this approach is valuable for understanding how customers use your applications, or how data flows through them, and using this information to improve your businesses. For example, gathering information about how long customers spend in each part of your application, and how often they are able to successfully complete their task can lead to identifying and improving problematic flows in these applications.
  3. The second type of data-driven development is to capture the information as it comes in, and use it to immediately take action. Using AWS products like Kinesis, EC2 and Lambda, customers are able to immediately extract value from incoming data streams – for example, by dashboarding the real-time state of their applications, or by building applications that immediately respond to events as they happen. It is very powerful to be able to not only know what has happened to your business in the past, but also what is happening here and now.
  4. There is one more step beyond knowing what is happening here and now. We can use the data we already have to make accurate, actionable predictions about what will happen in the future. We can build a new breed of smart applications using these predictions. It’s really exciting.
  5. This brings us to machine learning, which is a broad umbrella term for the technology that finds patterns in your existing data, and using them to make predictions on new data points.
  6. The equation is simple: you can build smart applications by leveraging your existing data and machine learning technology.
  7. Condense these slides into 3-box
  8. Condense these slides into 3-box
  9. Condense these slides into 3-box
  10. Let’s get all customers who placed an order in the last 30 days
  11. Narrow this list down to only the customers who bought toys in the last 30 days
  12. Toys are a very broad term. I am going to make my query more complex: I will merge order table with the product table, and look for customers who either (a) purchased a toy whose description had the word “helicopter” in the last 60 days, or had an expensive order in the last 30 days.
  13. “Helicopter” doesn’t cover everyone I want to reach. Luckily, I can do a fuzzy match on just “copter”. That’s better, right?
  14. Maybe I should look further back in time – it’s not every day that one buys an expensive flying toy.
  15. 30 days, 40 days, I don’t really know what the right number is.
  16. 200 dollars is a lot to spend in a single purchase, let me try to lower that
  17. Too many results, let me bring the results in again.
  18. Stop. Just stop. We won’t find the right business rule by tweaking SQL queries. And even if we do find a good rule by sheer luck, it will get out of date immediately. Machine learning lets us build smart applications by finding patterns in existing data, and making them actionable as predictions.
  19. So now that we have seen several examples of smart applications, and talked about how machine learning enables their development, here is an important questions: why aren’t there more smart applications? Our customers tell us that there are three primary barriers: JUST READ THE BARRIERS, DON’T GO INTO DETAILS One barrier is that you need experts to use ML technology, and there are not enough experts to keep up with the demand. Companies of all size, in all industries are feeling the talent shortage. Another barrier is the technology – and specifically, finding the right technology, that scales to their needs And a third barrier is being able to tie machine learning into their business applications, to go from having a model to having a product app using that model
  20. One barrier is that you need experts to use ML technology, and there are not enough experts to keep up with the demand. Companies of all size, in all industries are feeling the talent shortage. Outsourcing machine learning model and smart application development is a very expensive option. Another barrier is the technology. It takes significant time and engineering expertise to build machine learning software that scales to your business. While there are many tools out there, these tools are often oriented at machine learning experts, and are not built for the demands of large datasets with data types often encountered in real-world. And there is a tremendous fragmentation of tooling out there – to build an end-to-end ML application requires not just the learning technology, but also data connectors and transformers to get data to the learning algorithms, deployment technology to make models available, metric computation and evaluation scripts and so on. Our customers tell us that no matter which technology they start with, they end up doing a lot of the engineering work themselves, just to connect all the pieces and make them play nice. And a third barrier is being able to tie machine learning into their business applications, to go from having a model to having an application that is using that model. This is the lesson many early adopters of ML technology learned the hard way – much of the ML software that is out there is focused on making ML models, and not on using these models to make predictions. Often, generating predictions is an after-thought, and the prediction generating runtimes can only run on a single machine, are not robust, and are very limited in the volume of predictions, and the latency at which these predictions can arrive. In addition to predictions, work needs to be done on things like automating data pipelines, and managing, updating and retiring models as they are deployed to production. This is a lot of work. The end result is this: to do ML today requires teams of engineers and data scientists working together, and much of what they will build can end up being custom code that will not be reused on your next ML application. It is slow, expensive and risky.
  21. Today, we have announced Amazon ML, the newest addition to the Amazon Web Services family. Amazon ML is easy to use, and intended for developers – people who are already most connected and familiar with data instrumentation, pipelines and storage/ Amazon ML is based on the same robust ML technology that is already used within Amazon’s internal systems, generating billions of predictions weekly Amazon ML is built to make it simple and reliable to use the data that you are already storing in the AWS cloud, in products like Amazon S3, Amazon Redshift and Amazon RD And lastly, Amazon ML is built to eliminate the gap between having models and using these models to build smart applications. Production deployment is only a click away – and sometimes you won’t even need that one click.
  22. I want to start by talking about ease of use, because it was so incredibly important to us as we built this product. We wanted to make machine learning accessible to all AWS developers. What we know from both our internal experience and speaking with our customers is that using machine learning to build real-world falls into two types. The first stage is experimentation: trying out different data sources, different ways to transform data, different ways to use ML technology to approach a problem. In this stage, it is really helpful to work with interactive tools that let you do many experiments easily. The second stage is productizing the models. This involves automating model training, deployment and use – for example, tying the prediction generation activities with your application’s business logic. And there is just no substitute for having a capable API to achieve this – that enables the ML piece to act just as robustly as the rest of your application. Most ML toolkits out there do one or the other. We knew that to enable AWS developers to easily use ML we needed to support both types of ML development. And so what you will see in Amazon ML is a powerful service console that enables you to connect to your data source, to train new models, to measure their quality, and to manage these models easily, without writing any code. This enables you to spend more time thinking about your business problem and your data, not tinkering with the technology pieces. Once you have models that are ready to be productized, you have a full API available to deploy these models, to query them for predictions, and to train and evaluate new models on schedule. It’s a complete lifecycle. We have included Amazon ML API support into all the major AWS SDKs. And, we have also bundled prediction querying capability into the AWS mobile SDKs, making it really simple to create mobile applications that use predictions.
  23. Next, let’s talk about technology. Amazon ML is based on the same ML technology that has long been deployed within Amazon, and is used to generate tens of billions of predictions weekly. When I say technology, I mean not just the learning algorithm – which is important but by no means only part of ML systems. Amazon Machine Learning comes with technology that suggests data transformations based on your data that will improve model’s quality – and you are able to use these transformations as they are, or adjust the transformation instructions without writing any data transforming code. Amazon ML also includes functionality to provide alerts when known pitfalls are encountered in your input data – for example, when some attributes have many missing values, or when the model was evaluated with data that is significantly different from what was used to train it. This – ensuring that data is evaluated on a fair dataset is an example of an industry best practice that we have built into the product, among many others, all around the goal of making the resulting models more powerful. Finally, a word about speed and scale. Amazon ML can create models from up to 100 GB of data. You can use it to generate billions of predictions, and obtain them in batches or real-time. I will get to the prediction interfaces soon.
  24. Binary Classification: predict the answer to a yes/no question Is this order fraudulent? Will this customer convert? Which article should I show next? Multi-class classification: predict the correct category from list: What is the genre of this movie? What is the root cause of this customer contact? Regression: predict the value of a numeric variable How many units of this item will sell next week? How long will this user session last?
  25. Example of where false positives are bad: predicting if an email is a spam or not. False negative: email is spam, but we mark it as not spam. Business cost: a small amount of annoyance. False positive: email is not spam, but we mark it as spam. Business cost: an important messae =
  26. Example: my application periodically receives new product descriptions, and needs to classify them into categories. For example, assign genre to movies based on the movie metadata. Example: my application aggregates user activity over time period, and then we call the prediction API to decide which of them will need follow-up. E.g. bizdev followup with customers in free tier.
  27. Example: my application periodically receives new product descriptions, and needs to classify them into categories. For example, assign genre to movies based on the movie metadata. Example: my application aggregates user activity over time period, and then we call the prediction API to decide which of them will need follow-up. E.g. bizdev followup with customers in free tier.
  28. This is example of consuming real-time predictions Can also add example of consuming batch prediction with EMR
  29. This is example of consuming real-time predictions Can also add example of consuming batch prediction with EMR