SlideShare a Scribd company logo
1 of 69
Download to read offline
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Alex Ingerman, Product Manager, Amazon ML
October 2015
BDT302
Real-World Smart Applications with
Amazon Machine Learning
Agenda
• Why social media + machine learning = happy customers
• Using Amazon ML to find important social media
conversations
• Building an end-to-end application to act on these
conversations
Application details
Goal: build a smart application for social media listening in the cloud
Full source code and documentation are on GitHub:
http://bit.ly/AmazonMLCodeSample
Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
Amazon
Mechanical Turk
Motivation for listening to social media
Customer is reporting a possible service issue
Motivation for listening to social media
Customer is making a feature request
Motivation for listening to social media
Customer is angry or unhappy
Motivation for listening to social media
Customer is asking a question
Why do we need machine learning for this?
The social media stream is high-volume, and most of the
messages are not CS-actionable
Amazon Machine Learning in one slide
• 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
Formulating the problem
We would like to…
Instantly find new tweets mentioning @awscloud, ingest and
analyze each one to predict whether a customer service agent
should act on it, and, if so, send that tweet to customer service
agents.
Formulating the problem
We would like to…
Instantly find new tweets mentioning @awscloud, ingest and
analyze each one to predict whether a customer service agent
should act on it, and, if so, send that tweet to customer service
agents.
Twitter API
Formulating the problem
We would like to…
Instantly find new tweets mentioning @awscloud, ingest and
analyze each one to predict whether a customer service agent
should act on it, and, if so, send that tweet to customer service
agents.
Twitter API Amazon
Kinesis
Formulating the problem
We would like to…
Instantly find new tweets mentioning @awscloud, ingest and
analyze each one to predict whether a customer service agent
should act on it, and, if so, send that tweet to customer service
agents.
Twitter API Amazon
Kinesis
AWS
Lambda
Formulating the problem
We would like to…
Instantly find new tweets mentioning @awscloud, ingest and
analyze each one to predict whether a customer service
agent should act on it, and, if so, send that tweet to customer
service agents.
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Formulating the problem
We would like to…
Instantly find new tweets mentioning @awscloud, ingest and
analyze each one to predict whether a customer service agent
should act on it, and, if so, send that tweet to customer
service agents.
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
Building smart applications
Pick the ML
strategy
1
Prepare
dataset
2 3
Create
ML model
4
Write and
configure code
5
Try it out!
Picking the machine learning strategy
Question we want to answer:
Is this tweet customer service-actionable, or not?
Our dataset:
Text and metadata from past tweets mentioning @awscloud
Machine learning approach:
Create a binary classification model to answer a yes/no question, and
provide a confidence score
Building smart applications
Pick the ML
strategy
1
Prepare
dataset
2 3
Create
ML model
4
Write and
configure code
5
Try it out!
Retrieve past tweets
Twitter API can be used to search for tweets containing our
company’s handle (e.g., @awscloud)
import twitter
twitter_api = twitter.Api(**twitter_credentials)
twitter_handle = ‘awscloud’
search_query = '@' + twitter_handle + ' -from:' + twitter_handle
results = twitter_api.GetSearch(term=search_query, count=100, result_type='recent’)
# We can go further back in time by issuing additional search requests
Retrieve past tweets
Twitter API can be used to search for tweets containing our
company’s handle (e.g., @awscloud)
import twitter
twitter_api = twitter.Api(**twitter_credentials)
twitter_handle = ‘awscloud’
search_query = '@' + twitter_handle + ' -from:' + twitter_handle
results = twitter_api.GetSearch(term=search_query, count=100, result_type='recent')
# We can go further back in time by issuing additional search requests
Good news: data is well-structured and clean
Bad news: tweets are not categorized (labeled) for us
Labeling past tweets
Why label tweets?
(Many) machine learning algorithms work by discovering
patterns connecting data points and labels
How many tweets need to be labeled?
Several thousands to start with
Can I pay someone to do this?
Yes! Amazon Mechanical Turk is a marketplace for tasks that
require human intelligence
Creating the Mechanical Turk task
Creating the Mechanical Turk task
Creating the Mechanical Turk task
Creating the Mechanical Turk task
Creating the Mechanical Turk task
Publishing the task
Publishing the task
Preview labeling results
Sample tweets from our previously collected dataset + their labels
This column was
created from
Mechanical Turk
responses
Preview labeling results
Sample tweets and labels (most metadata fields removed for clarity)
Preview labeling results
Sample tweets and labels (most metadata fields removed for clarity)
Preview labeling results
Sample tweets and labels (most metadata fields removed for clarity)
Preview labeling results
Sample tweets and labels (most metadata fields removed for clarity)
Preview labeling results
Sample tweets and labels (most metadata fields removed for clarity)
Building smart applications
Pick the ML
strategy
1
Prepare
dataset
2 3
Create
ML model
4
Write and
configure code
5
Try it out!
Amazon ML process, in a nutshell
1. Create your datasources
Two API calls to create your training and evaluation data
Sanity-check your data in service console
2. Create your ML model
One API call to build a model, with smart default or custom setting
3. Evaluate your ML model
One API call to compute your model’s quality metric
4. Adjust your ML model
Use console to align performance trade-offs to your business goals
Create the data schema string
{
"dataFileContainsHeader": true,
"dataFormat": "CSV",
"targetAttributeName": "trainingLabel",
"attributes": [
{
"attributeName": "description",
"attributeType": "TEXT"
},
<additional attributes here>,
{
"attributeName": "trainingLabel",
"attributeType": "BINARY"
}
]
}
Schemas communicate metadata about your dataset:
• Data format
• Attributes’ names, types, and order
• Names of special attributes
Create the training datasource
import boto
ml = boto.connect_machinelearning()
data_spec = {
'DataLocationS3’ : s3_uri # E.g.: s3://my-bucket/dir/data.csv
'DataSchema’ : data_schema } # Schema string (previous slide)
# Use only the first 70% of the datasource for training.
data_spec['DataRearrangement'] = ‘{ "splitting”: {"percentBegin": 0, "percentEnd”: 70 } }’
ml.create_data_source_from_s3( data_source_id = “ds-tweets-train”,
data_source_name = “Tweet training data (70%)”,
data_spec,
compute_statistics = True)
Create the evaluation datasource
import boto
ml = boto.connect_machinelearning()
data_spec = {
'DataLocationS3’ : s3_uri # E.g.: s3://my-bucket/dir/data.csv
'DataSchema’ : data_schema } # Schema string (previous slide)
# Use the last 30% of the datasource for evaluation.
data_spec['DataRearrangement'] = ‘{ "splitting”: {"percentBegin": 70, "percentEnd”: 100 } }’
ml.create_data_source_from_s3( data_source_id = “ds-tweets-eval”,
data_source_name = “Tweet evaluation data (30%)”,
data_spec,
compute_statistics = True)
Demo: Data exploration
Create the ML model
import boto
ml = boto.connect_machinelearning()
ml.create_ml_model( ml_model_id = “ml-tweets”,
ml_model_name = “Tweets screening model”,
ml_model_type = “BINARY”,
training_data_source_id = “ds-tweets-train”)
Input data location is looked up from the training datasource ID
Default model parameters and automatic data transformations are used, or you
can provide your own
Evaluate the ML model
import boto
ml = boto.connect_machinelearning()
ml.create_evaluation( evaluation_id = “ev-tweets”,
evaluation_name = “Evaluation of tweet screening model”,
ml_model_id = “ml-tweets”,
evaluation_data_source_id = “ds-tweets-eval”)
Input data location is looked up from the evaluation datasource ID
Amazon ML automatically selects and computes an industry-standard
evaluation metric based on your ML model type
Demo: ML model exploration
and adjustment
Building smart applications
Pick the ML
strategy
1
Prepare
dataset
2 3
Create
ML model
4
Write and
configure code
5
Try it out!
Reminder: Our data flow
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
Create an Amazon ML endpoint for retrieving real-
time predictions
import boto
ml = boto.connect_machinelearning()
ml.create_realtime_endpoint(“ml-tweets”)
# Endpoint information can be retrieved using the get_ml_model() method. Sample output:
#"EndpointInfo": {
# "CreatedAt": 1424378682.266,
# "EndpointStatus": "READY",
# "EndpointUrl": ”https://realtime.machinelearning.us-east-1.amazonaws.com",
# "PeakRequestsPerSecond": 200}
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
Create an Amazon Kinesis stream for receiving
tweets
import boto
kinesis = boto.connect_kinesis()
kinesis.create_stream(stream_name = ‘tweetStream’, shard_count = 1)
# Each open shard can support up to 5 read transactions per second, up to a
# maximum total of 2 MB of data read per second. Each shard can support up to
# 1000 records written per second, up to a maximum total of 1 MB data written
# per second.
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
Set up AWS Lambda to coordinate the data flow
The Lambda function is our application’s backbone. We will:
1. Write the code that will process and route tweets
2. Configure the Lambda execution policy (what is it allowed to do?)
3. Add the Kinesis stream as the data source for the Lambda function
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
Create Lambda functions
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
// These are our function’s signatures and globals only. See GitHub repository for full source.
var ml = new AWS.MachineLearning();
var endpointUrl = '';
var mlModelId = ’ml-tweets';
var snsTopicArn = 'arn:aws:sns:{region}:{awsAccountId}:{snsTopic}';
var snsMessageSubject = 'Respond to tweet';
var snsMessagePrefix = 'ML model '+mlModelId+': Respond to this tweet:
https://twitter.com/0/status/';
var processRecords = function() {…} // Base64 decode the Kinesis payload and parse JSON
var callPredict = function(tweetData) {…} // Call Amazon ML real-time prediction API
var updateSns = function(tweetData) {…} // Publish CS-actionable tweets to SNS topic
var checkRealtimeEndpoint = function(err, data) {…} // Get Amazon ML endpoint URI
Create Lambda functions
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
// These are our function’s signatures and globals only. See GitHub repository for full source.
var ml = new AWS.MachineLearning();
var endpointUrl = '';
var mlModelId = ’ml-tweets';
var snsTopicArn = 'arn:aws:sns:{region}:{awsAccountId}:{snsTopic}';
var snsMessageSubject = 'Respond to tweet';
var snsMessagePrefix = 'ML model '+mlModelId+': Respond to this tweet:
https://twitter.com/0/status/';
var processRecords = function() {…} // Base64 decode the Kinesis payload and parse JSON
var callPredict = function(tweetData) {…} // Call Amazon ML real-time prediction API
var updateSns = function(tweetData) {…} // Publish CS-actionable tweets to SNS topic
var checkRealtimeEndpoint = function(err, data) {…} // Get Amazon ML endpoint URI
Configure Lambda execution policy
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
{ "Statement": [
{ "Action": [ "logs:*” ],
"Effect": "Allow",
"Resource": "arn:aws:logs:{region}:{awsAccountId}:log-group:/aws/lambda/{lambdaFunctionName}:*"
},
{ "Action": [ "sns:publish” ],
"Effect": "Allow",
"Resource": "arn:aws:sns:{region}:{awsAccountId}:{snsTopic}"
},
{ "Action": [ "machinelearning:GetMLModel”, "machinelearning:Predict” ],
"Effect": "Allow",
"Resource": "arn:aws:machinelearning:{region}:{awsAccountId}:mlmodel/{mlModelId}”
},
{ "Action": [ "kinesis:ReadStream”, "kinesis:GetRecords”, "kinesis:GetShardIterator”,
"kinesis:DescribeStream”,"kinesis:ListStreams” ],
"Effect": "Allow",
"Resource": "arn:aws:kinesis:{region}:{awsAccountId}:stream/{kinesisStream}"
}
] }
Configure Lambda execution policy
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
{ "Statement": [
{ "Action": [ "logs:*” ],
"Effect": "Allow",
"Resource": "arn:aws:logs:{region}:{awsAccountId}:log-group:/aws/lambda/{lambdaFunctionName}:*"
},
{ "Action": [ "sns:publish” ],
"Effect": "Allow",
"Resource": "arn:aws:sns:{region}:{awsAccountId}:{snsTopic}"
},
{ "Action": [ "machinelearning:GetMLModel”, "machinelearning:Predict” ],
"Effect": "Allow",
"Resource": "arn:aws:machinelearning:{region}:{awsAccountId}:mlmodel/{mlModelId}”
},
{ "Action": [ "kinesis:ReadStream”, "kinesis:GetRecords”, "kinesis:GetShardIterator”,
"kinesis:DescribeStream”,"kinesis:ListStreams” ],
"Effect": "Allow",
"Resource": "arn:aws:kinesis:{region}:{awsAccountId}:stream/{kinesisStream}"
}
] }
Allow request
logging in
Amazon
CloudWatch
Configure Lambda execution policy
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
{ "Statement": [
{ "Action": [ "logs:*” ],
"Effect": "Allow",
"Resource": "arn:aws:logs:{region}:{awsAccountId}:log-group:/aws/lambda/{lambdaFunctionName}:*"
},
{ "Action": [ "sns:publish” ],
"Effect": "Allow",
"Resource": "arn:aws:sns:{region}:{awsAccountId}:{snsTopic}"
},
{ "Action": [ "machinelearning:GetMLModel”, "machinelearning:Predict” ],
"Effect": "Allow",
"Resource": "arn:aws:machinelearning:{region}:{awsAccountId}:mlmodel/{mlModelId}”
},
{ "Action": [ "kinesis:ReadStream”, "kinesis:GetRecords”, "kinesis:GetShardIterator”,
"kinesis:DescribeStream”,"kinesis:ListStreams” ],
"Effect": "Allow",
"Resource": "arn:aws:kinesis:{region}:{awsAccountId}:stream/{kinesisStream}"
}
] }
Allow
publication of
notifications to
SNS topic
Configure Lambda execution policy
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
{ "Statement": [
{ "Action": [ "logs:*” ],
"Effect": "Allow",
"Resource": "arn:aws:logs:{region}:{awsAccountId}:log-group:/aws/lambda/{lambdaFunctionName}:*"
},
{ "Action": [ "sns:publish” ],
"Effect": "Allow",
"Resource": "arn:aws:sns:{region}:{awsAccountId}:{snsTopic}"
},
{ "Action": [ "machinelearning:GetMLModel”, "machinelearning:Predict” ],
"Effect": "Allow",
"Resource": "arn:aws:machinelearning:{region}:{awsAccountId}:mlmodel/{mlModelId}”
},
{ "Action": [ "kinesis:ReadStream”, "kinesis:GetRecords”, "kinesis:GetShardIterator”,
"kinesis:DescribeStream”,"kinesis:ListStreams” ],
"Effect": "Allow",
"Resource": "arn:aws:kinesis:{region}:{awsAccountId}:stream/{kinesisStream}"
}
] }
Allow calls to
Amazon ML
real-time
prediction APIs
Configure Lambda execution policy
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
{ "Statement": [
{ "Action": [ "logs:*” ],
"Effect": "Allow",
"Resource": "arn:aws:logs:{region}:{awsAccountId}:log-group:/aws/lambda/{lambdaFunctionName}:*"
},
{ "Action": [ "sns:publish” ],
"Effect": "Allow",
"Resource": "arn:aws:sns:{region}:{awsAccountId}:{snsTopic}"
},
{ "Action": [ "machinelearning:GetMLModel”, "machinelearning:Predict” ],
"Effect": "Allow",
"Resource": "arn:aws:machinelearning:{region}:{awsAccountId}:mlmodel/{mlModelId}”
},
{ "Action": [ "kinesis:ReadStream”, "kinesis:GetRecords”, "kinesis:GetShardIterator”,
"kinesis:DescribeStream”,"kinesis:ListStreams” ],
"Effect": "Allow",
"Resource": "arn:aws:kinesis:{region}:{awsAccountId}:stream/{kinesisStream}"
}
] }
Allow reading of
data from
Kinesis stream
Connect Kinesis stream and Lambda function
import boto
aws_lambda = boto.connect_awslambda()
aws_lambda.add_event_source(
event_source = 'arn:aws:kinesis:' + region + ':' + aws_account_id + ':stream/' + “tweetStream”,
function_name = “process_tweets”,
role = 'arn:aws:iam::' + aws_account_id + ':role/' + lambda_execution_role)
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
Building smart applications
Pick the ML
strategy
1
Prepare
dataset
2 3
Create
ML model
4
Write and
configure code
5
Try it out!
Amazon ML real-time predictions
Here is a tweet:
Amazon ML real-time predictions
Here is the same tweet…as a JSON blob:
{
"statuses_count": "8617",
"description": "Software Developer",
"friends_count": "96",
"text": "`scala-aws-s3` A Simple Amazon #S3 Wrapper for #Scala 1.10.20 available :
https://t.co/q76PLTovFg",
"verified": "False",
"geo_enabled": "True",
"uid": "3800711",
"favourites_count": "36",
"screen_name": "turutosiya",
"followers_count": "640",
"user.name": "Toshiya TSURU",
"sid": "647222291672100864"
}
Amazon ML real-time predictions
Let’s use the AWS Command Line Interface to request a prediction for this tweet:
aws machinelearning predict 
--predict-endpoint https://realtime.machinelearning.us-east-1.amazonaws.com 
--ml-model-id ml-tweets 
--record ‘<json_blob>’
DEMOS
Recap: Our application’s data flow
Twitter API Amazon
Kinesis
AWS
Lambda
Amazon
Machine Learning
Amazon
SNS
Generalizing to more feedback channels
Amazon
Kinesis
AWS
Lambda
Model 1 Amazon
SNS
Model 2
Model 3
What’s next?
Try the service:
http://aws.amazon.com/machine-learning/
Download the Social Media Listening application code:
http://bit.ly/AmazonMLCodeSample
Get in touch!
ingerman@amazon.com
Thank you!
Remember to complete
your evaluations!
Demo screenshots
Inspecting training data
Inspecting and adjusting the ML model

More Related Content

What's hot

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
 
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 Case Study: Predicting Customer Churn
Amazon Machine Learning Case Study: Predicting Customer ChurnAmazon Machine Learning Case Study: Predicting Customer Churn
Amazon Machine Learning Case Study: Predicting Customer ChurnAmazon Web Services
 
Predictive Analytics: Getting started with Amazon Machine Learning
Predictive Analytics: Getting started with Amazon Machine LearningPredictive Analytics: Getting started with Amazon Machine Learning
Predictive Analytics: 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
 
AWS November Webinar Series - Advanced Analytics with Amazon Redshift and the...
AWS November Webinar Series - Advanced Analytics with Amazon Redshift and the...AWS November Webinar Series - Advanced Analytics with Amazon Redshift and the...
AWS November Webinar Series - Advanced Analytics with Amazon Redshift and the...Amazon Web Services
 
1시간만에 머신러닝 개념 따라 잡기
1시간만에 머신러닝 개념 따라 잡기1시간만에 머신러닝 개념 따라 잡기
1시간만에 머신러닝 개념 따라 잡기Sungmin Kim
 
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
 
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축Sungmin Kim
 
Amazon Machine Learning #AWSLoft Berlin
Amazon Machine Learning #AWSLoft BerlinAmazon Machine Learning #AWSLoft Berlin
Amazon Machine Learning #AWSLoft BerlinAWS Germany
 
An introduction to Machine Learning
An introduction to Machine LearningAn introduction to Machine Learning
An introduction to Machine LearningJulien SIMON
 
Build Computer Vision Applications with Amazon Rekognition and SageMaker
Build Computer Vision Applications with Amazon Rekognition and SageMakerBuild Computer Vision Applications with Amazon Rekognition and SageMaker
Build Computer Vision Applications with Amazon Rekognition and SageMakerSungmin Kim
 
End-to-End Machine Learning with Amazon SageMaker
End-to-End Machine Learning with Amazon SageMakerEnd-to-End Machine Learning with Amazon SageMaker
End-to-End Machine Learning with Amazon SageMakerSungmin Kim
 
Machine Learning for Developers
Machine Learning for DevelopersMachine Learning for Developers
Machine Learning for DevelopersDanilo Poccia
 
7 Leading machine learning Use-cases (AWS)
7 Leading machine learning Use-cases (AWS)7 Leading machine learning Use-cases (AWS)
7 Leading machine learning Use-cases (AWS)Johnny Le
 
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
 
Use Amazon Rekognition to Build a Facial Recognition System
Use Amazon Rekognition to Build a Facial Recognition SystemUse Amazon Rekognition to Build a Facial Recognition System
Use Amazon Rekognition to Build a Facial Recognition SystemAmazon Web Services
 

What's hot (20)

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
 
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
 
Machine Learning On AWS
Machine Learning On AWSMachine Learning On AWS
Machine Learning On AWS
 
Amazon Machine Learning Case Study: Predicting Customer Churn
Amazon Machine Learning Case Study: Predicting Customer ChurnAmazon Machine Learning Case Study: Predicting Customer Churn
Amazon Machine Learning Case Study: Predicting Customer Churn
 
Predictive Analytics: Getting started with Amazon Machine Learning
Predictive Analytics: Getting started with Amazon Machine LearningPredictive Analytics: Getting started with Amazon Machine Learning
Predictive Analytics: Getting started with Amazon Machine Learning
 
Machine Learning on AWS
Machine Learning on AWSMachine Learning on AWS
Machine Learning on AWS
 
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 November Webinar Series - Advanced Analytics with Amazon Redshift and the...
AWS November Webinar Series - Advanced Analytics with Amazon Redshift and the...AWS November Webinar Series - Advanced Analytics with Amazon Redshift and the...
AWS November Webinar Series - Advanced Analytics with Amazon Redshift and the...
 
1시간만에 머신러닝 개념 따라 잡기
1시간만에 머신러닝 개념 따라 잡기1시간만에 머신러닝 개념 따라 잡기
1시간만에 머신러닝 개념 따라 잡기
 
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 Personalize 중심으로 살펴본 추천 시스템 원리와 구축
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축
 
Amazon Machine Learning #AWSLoft Berlin
Amazon Machine Learning #AWSLoft BerlinAmazon Machine Learning #AWSLoft Berlin
Amazon Machine Learning #AWSLoft Berlin
 
An introduction to Machine Learning
An introduction to Machine LearningAn introduction to Machine Learning
An introduction to Machine Learning
 
Build Computer Vision Applications with Amazon Rekognition and SageMaker
Build Computer Vision Applications with Amazon Rekognition and SageMakerBuild Computer Vision Applications with Amazon Rekognition and SageMaker
Build Computer Vision Applications with Amazon Rekognition and SageMaker
 
End-to-End Machine Learning with Amazon SageMaker
End-to-End Machine Learning with Amazon SageMakerEnd-to-End Machine Learning with Amazon SageMaker
End-to-End Machine Learning with Amazon SageMaker
 
Machine Learning for Developers
Machine Learning for DevelopersMachine Learning for Developers
Machine Learning for Developers
 
7 Leading machine learning Use-cases (AWS)
7 Leading machine learning Use-cases (AWS)7 Leading machine learning Use-cases (AWS)
7 Leading machine learning Use-cases (AWS)
 
2020 re:Cap
2020 re:Cap2020 re:Cap
2020 re:Cap
 
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 ...
 
Use Amazon Rekognition to Build a Facial Recognition System
Use Amazon Rekognition to Build a Facial Recognition SystemUse Amazon Rekognition to Build a Facial Recognition System
Use Amazon Rekognition to Build a Facial Recognition System
 

Viewers also liked

A product-focused introduction to Machine Learning
A product-focused introduction to Machine LearningA product-focused introduction to Machine Learning
A product-focused introduction to Machine LearningSatpreet Singh
 
Introduction to Machine Learning (case studies)
Introduction to Machine Learning (case studies)Introduction to Machine Learning (case studies)
Introduction to Machine Learning (case studies)Dmitry Efimov
 
Build a Recommendation Engine using Amazon Machine Learning in Real-time
Build a Recommendation Engine using Amazon Machine Learning in Real-timeBuild a Recommendation Engine using Amazon Machine Learning in Real-time
Build a Recommendation Engine using Amazon Machine Learning in Real-timeAmazon Web Services
 
Building prediction models with Amazon Redshift and Amazon ML
Building prediction models with  Amazon Redshift and Amazon MLBuilding prediction models with  Amazon Redshift and Amazon ML
Building prediction models with Amazon Redshift and Amazon MLJulien SIMON
 
(MBL309) Analyze Mobile App Data and Build Predictive Applications
(MBL309) Analyze Mobile App Data and Build Predictive Applications(MBL309) Analyze Mobile App Data and Build Predictive Applications
(MBL309) Analyze Mobile App Data and Build Predictive ApplicationsAmazon Web Services
 
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
 
Building a Production-ready Predictive App for Customer Service - Alex Ingerm...
Building a Production-ready Predictive App for Customer Service - Alex Ingerm...Building a Production-ready Predictive App for Customer Service - Alex Ingerm...
Building a Production-ready Predictive App for Customer Service - Alex Ingerm...PAPIs.io
 
6.3 evaluating-and-graphing-polynomila-functions
6.3 evaluating-and-graphing-polynomila-functions6.3 evaluating-and-graphing-polynomila-functions
6.3 evaluating-and-graphing-polynomila-functionsmorrobea
 
Evaluating functions basic rules (day 3)
Evaluating functions   basic rules (day 3)Evaluating functions   basic rules (day 3)
Evaluating functions basic rules (day 3)julienorman80065
 
Yr 11 5 minute lesson plan
Yr 11 5 minute lesson planYr 11 5 minute lesson plan
Yr 11 5 minute lesson planAshleigh Thomson
 
Evaluating Functions Handout 2
Evaluating Functions Handout 2Evaluating Functions Handout 2
Evaluating Functions Handout 2guest19cd1f
 
Evaluating functions and notation
Evaluating functions and notationEvaluating functions and notation
Evaluating functions and notationbwlomas
 
Extreme learning machine:Theory and applications
Extreme learning machine:Theory and applicationsExtreme learning machine:Theory and applications
Extreme learning machine:Theory and applicationsJames Chou
 
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...Amazon Web Services
 
Lesson plan 11
Lesson plan 11Lesson plan 11
Lesson plan 11shun1504
 
Roles and Functions in Controlling
Roles and Functions in ControllingRoles and Functions in Controlling
Roles and Functions in ControllingMaria Neze Dalimocon
 
Real-Time Streaming: Intro to Amazon Kinesis
Real-Time Streaming: Intro to Amazon KinesisReal-Time Streaming: Intro to Amazon Kinesis
Real-Time Streaming: Intro to Amazon KinesisAmazon Web Services
 
Evaluating functions basic rules (day 2)
Evaluating functions   basic rules (day 2)Evaluating functions   basic rules (day 2)
Evaluating functions basic rules (day 2)julienorman80065
 
(Slides) Efficient Evaluation Methods of Elementary Functions Suitable for SI...
(Slides) Efficient Evaluation Methods of Elementary Functions Suitable for SI...(Slides) Efficient Evaluation Methods of Elementary Functions Suitable for SI...
(Slides) Efficient Evaluation Methods of Elementary Functions Suitable for SI...Naoki Shibata
 

Viewers also liked (20)

A product-focused introduction to Machine Learning
A product-focused introduction to Machine LearningA product-focused introduction to Machine Learning
A product-focused introduction to Machine Learning
 
Introduction to Machine Learning (case studies)
Introduction to Machine Learning (case studies)Introduction to Machine Learning (case studies)
Introduction to Machine Learning (case studies)
 
Build a Recommendation Engine using Amazon Machine Learning in Real-time
Build a Recommendation Engine using Amazon Machine Learning in Real-timeBuild a Recommendation Engine using Amazon Machine Learning in Real-time
Build a Recommendation Engine using Amazon Machine Learning in Real-time
 
Building prediction models with Amazon Redshift and Amazon ML
Building prediction models with  Amazon Redshift and Amazon MLBuilding prediction models with  Amazon Redshift and Amazon ML
Building prediction models with Amazon Redshift and Amazon ML
 
(MBL309) Analyze Mobile App Data and Build Predictive Applications
(MBL309) Analyze Mobile App Data and Build Predictive Applications(MBL309) Analyze Mobile App Data and Build Predictive Applications
(MBL309) Analyze Mobile App Data and Build Predictive Applications
 
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
 
Building a Production-ready Predictive App for Customer Service - Alex Ingerm...
Building a Production-ready Predictive App for Customer Service - Alex Ingerm...Building a Production-ready Predictive App for Customer Service - Alex Ingerm...
Building a Production-ready Predictive App for Customer Service - Alex Ingerm...
 
Assignment noushad
Assignment noushadAssignment noushad
Assignment noushad
 
6.3 evaluating-and-graphing-polynomila-functions
6.3 evaluating-and-graphing-polynomila-functions6.3 evaluating-and-graphing-polynomila-functions
6.3 evaluating-and-graphing-polynomila-functions
 
Evaluating functions basic rules (day 3)
Evaluating functions   basic rules (day 3)Evaluating functions   basic rules (day 3)
Evaluating functions basic rules (day 3)
 
Yr 11 5 minute lesson plan
Yr 11 5 minute lesson planYr 11 5 minute lesson plan
Yr 11 5 minute lesson plan
 
Evaluating Functions Handout 2
Evaluating Functions Handout 2Evaluating Functions Handout 2
Evaluating Functions Handout 2
 
Evaluating functions and notation
Evaluating functions and notationEvaluating functions and notation
Evaluating functions and notation
 
Extreme learning machine:Theory and applications
Extreme learning machine:Theory and applicationsExtreme learning machine:Theory and applications
Extreme learning machine:Theory and applications
 
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
 
Lesson plan 11
Lesson plan 11Lesson plan 11
Lesson plan 11
 
Roles and Functions in Controlling
Roles and Functions in ControllingRoles and Functions in Controlling
Roles and Functions in Controlling
 
Real-Time Streaming: Intro to Amazon Kinesis
Real-Time Streaming: Intro to Amazon KinesisReal-Time Streaming: Intro to Amazon Kinesis
Real-Time Streaming: Intro to Amazon Kinesis
 
Evaluating functions basic rules (day 2)
Evaluating functions   basic rules (day 2)Evaluating functions   basic rules (day 2)
Evaluating functions basic rules (day 2)
 
(Slides) Efficient Evaluation Methods of Elementary Functions Suitable for SI...
(Slides) Efficient Evaluation Methods of Elementary Functions Suitable for SI...(Slides) Efficient Evaluation Methods of Elementary Functions Suitable for SI...
(Slides) Efficient Evaluation Methods of Elementary Functions Suitable for SI...
 

Similar to (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...Amazon Web Services
 
使用Amazon Machine Learning 建立即時推薦引擎
使用Amazon Machine Learning 建立即時推薦引擎使用Amazon Machine Learning 建立即時推薦引擎
使用Amazon Machine Learning 建立即時推薦引擎Amazon 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
 
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 Workshop (實作工作坊)
Amazon Machine Learning Workshop (實作工作坊)Amazon Machine Learning Workshop (實作工作坊)
Amazon Machine Learning Workshop (實作工作坊)Amazon Web Services
 
Artificial Artificial Intelligence: Using Amazon Mechanical Turk and .NET to ...
Artificial Artificial Intelligence: Using Amazon Mechanical Turk and .NET to ...Artificial Artificial Intelligence: Using Amazon Mechanical Turk and .NET to ...
Artificial Artificial Intelligence: Using Amazon Mechanical Turk and .NET to ...goodfriday
 
Building a Serverless AI Powered Twitter Bot: Collision 2018
Building a Serverless AI Powered Twitter Bot: Collision 2018Building a Serverless AI Powered Twitter Bot: Collision 2018
Building a Serverless AI Powered Twitter Bot: Collision 2018Amazon Web Services
 
Building WhereML, an AI Powered Twitter Bot for Guessing Locations of Picture...
Building WhereML, an AI Powered Twitter Bot for Guessing Locations of Picture...Building WhereML, an AI Powered Twitter Bot for Guessing Locations of Picture...
Building WhereML, an AI Powered Twitter Bot for Guessing Locations of Picture...Amazon Web Services
 
MongoDB.local Austin 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB.local Austin 2018: Building Intelligent Apps with MongoDB & Google CloudMongoDB.local Austin 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB.local Austin 2018: Building Intelligent Apps with MongoDB & Google CloudMongoDB
 
Machine Learning as a Service with Amazon Machine Learning
Machine Learning as a Service with Amazon Machine LearningMachine Learning as a Service with Amazon Machine Learning
Machine Learning as a Service with Amazon Machine LearningJulien SIMON
 
Building Intelligent Apps with MongoDB and Google Cloud - Jane Fine
Building Intelligent Apps with MongoDB and Google Cloud - Jane FineBuilding Intelligent Apps with MongoDB and Google Cloud - Jane Fine
Building Intelligent Apps with MongoDB and Google Cloud - Jane FineMongoDB
 
IBM Insight 2015 - 1824 - Using Bluemix and dashDB for Twitter Analysis
IBM Insight 2015 - 1824 - Using Bluemix and dashDB for Twitter AnalysisIBM Insight 2015 - 1824 - Using Bluemix and dashDB for Twitter Analysis
IBM Insight 2015 - 1824 - Using Bluemix and dashDB for Twitter AnalysisTorsten Steinbach
 
November 2022 CIAOPS Need to Know Webinar
November 2022 CIAOPS Need to Know WebinarNovember 2022 CIAOPS Need to Know Webinar
November 2022 CIAOPS Need to Know WebinarRobert Crane
 
MongoDB.local Sydney 2019: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB.local Sydney 2019: Building Intelligent Apps with MongoDB & Google CloudMongoDB.local Sydney 2019: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB.local Sydney 2019: Building Intelligent Apps with MongoDB & Google CloudMongoDB
 
Bridging the Gap Between Real Time/Offline and AI/ML Capabilities in Modern S...
Bridging the Gap Between Real Time/Offline and AI/ML Capabilities in Modern S...Bridging the Gap Between Real Time/Offline and AI/ML Capabilities in Modern S...
Bridging the Gap Between Real Time/Offline and AI/ML Capabilities in Modern S...Amazon Web Services
 
MongoDB.local DC 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB.local DC 2018: Building Intelligent Apps with MongoDB & Google CloudMongoDB.local DC 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB.local DC 2018: Building Intelligent Apps with MongoDB & Google CloudMongoDB
 
AWS reinvent 2019 recap - Riyadh - AI And ML - Ahmed Raafat
AWS reinvent 2019 recap - Riyadh - AI And ML - Ahmed RaafatAWS reinvent 2019 recap - Riyadh - AI And ML - Ahmed Raafat
AWS reinvent 2019 recap - Riyadh - AI And ML - Ahmed RaafatAWS Riyadh User Group
 
WhereML a Serverless ML Powered Location Guessing Twitter Bot
WhereML a Serverless ML Powered Location Guessing Twitter BotWhereML a Serverless ML Powered Location Guessing Twitter Bot
WhereML a Serverless ML Powered Location Guessing Twitter BotRandall Hunt
 

Similar to (BDT302) Real-World Smart Applications With Amazon Machine Learning (20)

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 Machine Learning 建立即時推薦引擎
使用Amazon Machine Learning 建立即時推薦引擎使用Amazon Machine Learning 建立即時推薦引擎
使用Amazon Machine Learning 建立即時推薦引擎
 
Amazon Machine Learning
Amazon Machine LearningAmazon Machine Learning
Amazon Machine Learning
 
Getting Started with Amazon Machine Learning
Getting Started with Amazon Machine LearningGetting Started with Amazon Machine Learning
Getting Started with Amazon Machine Learning
 
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 Workshop (實作工作坊)
Amazon Machine Learning Workshop (實作工作坊)Amazon Machine Learning Workshop (實作工作坊)
Amazon Machine Learning Workshop (實作工作坊)
 
Artificial Artificial Intelligence: Using Amazon Mechanical Turk and .NET to ...
Artificial Artificial Intelligence: Using Amazon Mechanical Turk and .NET to ...Artificial Artificial Intelligence: Using Amazon Mechanical Turk and .NET to ...
Artificial Artificial Intelligence: Using Amazon Mechanical Turk and .NET to ...
 
Building a Serverless AI Powered Twitter Bot: Collision 2018
Building a Serverless AI Powered Twitter Bot: Collision 2018Building a Serverless AI Powered Twitter Bot: Collision 2018
Building a Serverless AI Powered Twitter Bot: Collision 2018
 
Where ml ai_heavy
Where ml ai_heavyWhere ml ai_heavy
Where ml ai_heavy
 
Building WhereML, an AI Powered Twitter Bot for Guessing Locations of Picture...
Building WhereML, an AI Powered Twitter Bot for Guessing Locations of Picture...Building WhereML, an AI Powered Twitter Bot for Guessing Locations of Picture...
Building WhereML, an AI Powered Twitter Bot for Guessing Locations of Picture...
 
MongoDB.local Austin 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB.local Austin 2018: Building Intelligent Apps with MongoDB & Google CloudMongoDB.local Austin 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB.local Austin 2018: Building Intelligent Apps with MongoDB & Google Cloud
 
Machine Learning as a Service with Amazon Machine Learning
Machine Learning as a Service with Amazon Machine LearningMachine Learning as a Service with Amazon Machine Learning
Machine Learning as a Service with Amazon Machine Learning
 
Building Intelligent Apps with MongoDB and Google Cloud - Jane Fine
Building Intelligent Apps with MongoDB and Google Cloud - Jane FineBuilding Intelligent Apps with MongoDB and Google Cloud - Jane Fine
Building Intelligent Apps with MongoDB and Google Cloud - Jane Fine
 
IBM Insight 2015 - 1824 - Using Bluemix and dashDB for Twitter Analysis
IBM Insight 2015 - 1824 - Using Bluemix and dashDB for Twitter AnalysisIBM Insight 2015 - 1824 - Using Bluemix and dashDB for Twitter Analysis
IBM Insight 2015 - 1824 - Using Bluemix and dashDB for Twitter Analysis
 
November 2022 CIAOPS Need to Know Webinar
November 2022 CIAOPS Need to Know WebinarNovember 2022 CIAOPS Need to Know Webinar
November 2022 CIAOPS Need to Know Webinar
 
MongoDB.local Sydney 2019: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB.local Sydney 2019: Building Intelligent Apps with MongoDB & Google CloudMongoDB.local Sydney 2019: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB.local Sydney 2019: Building Intelligent Apps with MongoDB & Google Cloud
 
Bridging the Gap Between Real Time/Offline and AI/ML Capabilities in Modern S...
Bridging the Gap Between Real Time/Offline and AI/ML Capabilities in Modern S...Bridging the Gap Between Real Time/Offline and AI/ML Capabilities in Modern S...
Bridging the Gap Between Real Time/Offline and AI/ML Capabilities in Modern S...
 
MongoDB.local DC 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB.local DC 2018: Building Intelligent Apps with MongoDB & Google CloudMongoDB.local DC 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB.local DC 2018: Building Intelligent Apps with MongoDB & Google Cloud
 
AWS reinvent 2019 recap - Riyadh - AI And ML - Ahmed Raafat
AWS reinvent 2019 recap - Riyadh - AI And ML - Ahmed RaafatAWS reinvent 2019 recap - Riyadh - AI And ML - Ahmed Raafat
AWS reinvent 2019 recap - Riyadh - AI And ML - Ahmed Raafat
 
WhereML a Serverless ML Powered Location Guessing Twitter Bot
WhereML a Serverless ML Powered Location Guessing Twitter BotWhereML a Serverless ML Powered Location Guessing Twitter Bot
WhereML a Serverless ML Powered Location Guessing Twitter Bot
 

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

Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Dynamical Context introduction word sensibility orientation
Dynamical Context introduction word sensibility orientationDynamical Context introduction word sensibility orientation
Dynamical Context introduction word sensibility orientationBuild Intuit
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Dynamical Context introduction word sensibility orientation
Dynamical Context introduction word sensibility orientationDynamical Context introduction word sensibility orientation
Dynamical Context introduction word sensibility orientation
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 

(BDT302) Real-World Smart Applications With Amazon Machine Learning

  • 1. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Alex Ingerman, Product Manager, Amazon ML October 2015 BDT302 Real-World Smart Applications with Amazon Machine Learning
  • 2. Agenda • Why social media + machine learning = happy customers • Using Amazon ML to find important social media conversations • Building an end-to-end application to act on these conversations
  • 3. Application details Goal: build a smart application for social media listening in the cloud Full source code and documentation are on GitHub: http://bit.ly/AmazonMLCodeSample Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS Amazon Mechanical Turk
  • 4. Motivation for listening to social media Customer is reporting a possible service issue
  • 5. Motivation for listening to social media Customer is making a feature request
  • 6. Motivation for listening to social media Customer is angry or unhappy
  • 7. Motivation for listening to social media Customer is asking a question
  • 8. Why do we need machine learning for this? The social media stream is high-volume, and most of the messages are not CS-actionable
  • 9. Amazon Machine Learning in one slide • 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
  • 10. Formulating the problem We would like to… Instantly find new tweets mentioning @awscloud, ingest and analyze each one to predict whether a customer service agent should act on it, and, if so, send that tweet to customer service agents.
  • 11. Formulating the problem We would like to… Instantly find new tweets mentioning @awscloud, ingest and analyze each one to predict whether a customer service agent should act on it, and, if so, send that tweet to customer service agents. Twitter API
  • 12. Formulating the problem We would like to… Instantly find new tweets mentioning @awscloud, ingest and analyze each one to predict whether a customer service agent should act on it, and, if so, send that tweet to customer service agents. Twitter API Amazon Kinesis
  • 13. Formulating the problem We would like to… Instantly find new tweets mentioning @awscloud, ingest and analyze each one to predict whether a customer service agent should act on it, and, if so, send that tweet to customer service agents. Twitter API Amazon Kinesis AWS Lambda
  • 14. Formulating the problem We would like to… Instantly find new tweets mentioning @awscloud, ingest and analyze each one to predict whether a customer service agent should act on it, and, if so, send that tweet to customer service agents. Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning
  • 15. Formulating the problem We would like to… Instantly find new tweets mentioning @awscloud, ingest and analyze each one to predict whether a customer service agent should act on it, and, if so, send that tweet to customer service agents. Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS
  • 16. Building smart applications Pick the ML strategy 1 Prepare dataset 2 3 Create ML model 4 Write and configure code 5 Try it out!
  • 17. Picking the machine learning strategy Question we want to answer: Is this tweet customer service-actionable, or not? Our dataset: Text and metadata from past tweets mentioning @awscloud Machine learning approach: Create a binary classification model to answer a yes/no question, and provide a confidence score
  • 18. Building smart applications Pick the ML strategy 1 Prepare dataset 2 3 Create ML model 4 Write and configure code 5 Try it out!
  • 19. Retrieve past tweets Twitter API can be used to search for tweets containing our company’s handle (e.g., @awscloud) import twitter twitter_api = twitter.Api(**twitter_credentials) twitter_handle = ‘awscloud’ search_query = '@' + twitter_handle + ' -from:' + twitter_handle results = twitter_api.GetSearch(term=search_query, count=100, result_type='recent’) # We can go further back in time by issuing additional search requests
  • 20. Retrieve past tweets Twitter API can be used to search for tweets containing our company’s handle (e.g., @awscloud) import twitter twitter_api = twitter.Api(**twitter_credentials) twitter_handle = ‘awscloud’ search_query = '@' + twitter_handle + ' -from:' + twitter_handle results = twitter_api.GetSearch(term=search_query, count=100, result_type='recent') # We can go further back in time by issuing additional search requests Good news: data is well-structured and clean Bad news: tweets are not categorized (labeled) for us
  • 21. Labeling past tweets Why label tweets? (Many) machine learning algorithms work by discovering patterns connecting data points and labels How many tweets need to be labeled? Several thousands to start with Can I pay someone to do this? Yes! Amazon Mechanical Turk is a marketplace for tasks that require human intelligence
  • 29. Preview labeling results Sample tweets from our previously collected dataset + their labels This column was created from Mechanical Turk responses
  • 30. Preview labeling results Sample tweets and labels (most metadata fields removed for clarity)
  • 31. Preview labeling results Sample tweets and labels (most metadata fields removed for clarity)
  • 32. Preview labeling results Sample tweets and labels (most metadata fields removed for clarity)
  • 33. Preview labeling results Sample tweets and labels (most metadata fields removed for clarity)
  • 34. Preview labeling results Sample tweets and labels (most metadata fields removed for clarity)
  • 35. Building smart applications Pick the ML strategy 1 Prepare dataset 2 3 Create ML model 4 Write and configure code 5 Try it out!
  • 36. Amazon ML process, in a nutshell 1. Create your datasources Two API calls to create your training and evaluation data Sanity-check your data in service console 2. Create your ML model One API call to build a model, with smart default or custom setting 3. Evaluate your ML model One API call to compute your model’s quality metric 4. Adjust your ML model Use console to align performance trade-offs to your business goals
  • 37. Create the data schema string { "dataFileContainsHeader": true, "dataFormat": "CSV", "targetAttributeName": "trainingLabel", "attributes": [ { "attributeName": "description", "attributeType": "TEXT" }, <additional attributes here>, { "attributeName": "trainingLabel", "attributeType": "BINARY" } ] } Schemas communicate metadata about your dataset: • Data format • Attributes’ names, types, and order • Names of special attributes
  • 38. Create the training datasource import boto ml = boto.connect_machinelearning() data_spec = { 'DataLocationS3’ : s3_uri # E.g.: s3://my-bucket/dir/data.csv 'DataSchema’ : data_schema } # Schema string (previous slide) # Use only the first 70% of the datasource for training. data_spec['DataRearrangement'] = ‘{ "splitting”: {"percentBegin": 0, "percentEnd”: 70 } }’ ml.create_data_source_from_s3( data_source_id = “ds-tweets-train”, data_source_name = “Tweet training data (70%)”, data_spec, compute_statistics = True)
  • 39. Create the evaluation datasource import boto ml = boto.connect_machinelearning() data_spec = { 'DataLocationS3’ : s3_uri # E.g.: s3://my-bucket/dir/data.csv 'DataSchema’ : data_schema } # Schema string (previous slide) # Use the last 30% of the datasource for evaluation. data_spec['DataRearrangement'] = ‘{ "splitting”: {"percentBegin": 70, "percentEnd”: 100 } }’ ml.create_data_source_from_s3( data_source_id = “ds-tweets-eval”, data_source_name = “Tweet evaluation data (30%)”, data_spec, compute_statistics = True)
  • 41. Create the ML model import boto ml = boto.connect_machinelearning() ml.create_ml_model( ml_model_id = “ml-tweets”, ml_model_name = “Tweets screening model”, ml_model_type = “BINARY”, training_data_source_id = “ds-tweets-train”) Input data location is looked up from the training datasource ID Default model parameters and automatic data transformations are used, or you can provide your own
  • 42. Evaluate the ML model import boto ml = boto.connect_machinelearning() ml.create_evaluation( evaluation_id = “ev-tweets”, evaluation_name = “Evaluation of tweet screening model”, ml_model_id = “ml-tweets”, evaluation_data_source_id = “ds-tweets-eval”) Input data location is looked up from the evaluation datasource ID Amazon ML automatically selects and computes an industry-standard evaluation metric based on your ML model type
  • 43. Demo: ML model exploration and adjustment
  • 44. Building smart applications Pick the ML strategy 1 Prepare dataset 2 3 Create ML model 4 Write and configure code 5 Try it out!
  • 45. Reminder: Our data flow Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS
  • 46. Create an Amazon ML endpoint for retrieving real- time predictions import boto ml = boto.connect_machinelearning() ml.create_realtime_endpoint(“ml-tweets”) # Endpoint information can be retrieved using the get_ml_model() method. Sample output: #"EndpointInfo": { # "CreatedAt": 1424378682.266, # "EndpointStatus": "READY", # "EndpointUrl": ”https://realtime.machinelearning.us-east-1.amazonaws.com", # "PeakRequestsPerSecond": 200} Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS
  • 47. Create an Amazon Kinesis stream for receiving tweets import boto kinesis = boto.connect_kinesis() kinesis.create_stream(stream_name = ‘tweetStream’, shard_count = 1) # Each open shard can support up to 5 read transactions per second, up to a # maximum total of 2 MB of data read per second. Each shard can support up to # 1000 records written per second, up to a maximum total of 1 MB data written # per second. Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS
  • 48. Set up AWS Lambda to coordinate the data flow The Lambda function is our application’s backbone. We will: 1. Write the code that will process and route tweets 2. Configure the Lambda execution policy (what is it allowed to do?) 3. Add the Kinesis stream as the data source for the Lambda function Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS
  • 49. Create Lambda functions Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS // These are our function’s signatures and globals only. See GitHub repository for full source. var ml = new AWS.MachineLearning(); var endpointUrl = ''; var mlModelId = ’ml-tweets'; var snsTopicArn = 'arn:aws:sns:{region}:{awsAccountId}:{snsTopic}'; var snsMessageSubject = 'Respond to tweet'; var snsMessagePrefix = 'ML model '+mlModelId+': Respond to this tweet: https://twitter.com/0/status/'; var processRecords = function() {…} // Base64 decode the Kinesis payload and parse JSON var callPredict = function(tweetData) {…} // Call Amazon ML real-time prediction API var updateSns = function(tweetData) {…} // Publish CS-actionable tweets to SNS topic var checkRealtimeEndpoint = function(err, data) {…} // Get Amazon ML endpoint URI
  • 50. Create Lambda functions Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS // These are our function’s signatures and globals only. See GitHub repository for full source. var ml = new AWS.MachineLearning(); var endpointUrl = ''; var mlModelId = ’ml-tweets'; var snsTopicArn = 'arn:aws:sns:{region}:{awsAccountId}:{snsTopic}'; var snsMessageSubject = 'Respond to tweet'; var snsMessagePrefix = 'ML model '+mlModelId+': Respond to this tweet: https://twitter.com/0/status/'; var processRecords = function() {…} // Base64 decode the Kinesis payload and parse JSON var callPredict = function(tweetData) {…} // Call Amazon ML real-time prediction API var updateSns = function(tweetData) {…} // Publish CS-actionable tweets to SNS topic var checkRealtimeEndpoint = function(err, data) {…} // Get Amazon ML endpoint URI
  • 51. Configure Lambda execution policy Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS { "Statement": [ { "Action": [ "logs:*” ], "Effect": "Allow", "Resource": "arn:aws:logs:{region}:{awsAccountId}:log-group:/aws/lambda/{lambdaFunctionName}:*" }, { "Action": [ "sns:publish” ], "Effect": "Allow", "Resource": "arn:aws:sns:{region}:{awsAccountId}:{snsTopic}" }, { "Action": [ "machinelearning:GetMLModel”, "machinelearning:Predict” ], "Effect": "Allow", "Resource": "arn:aws:machinelearning:{region}:{awsAccountId}:mlmodel/{mlModelId}” }, { "Action": [ "kinesis:ReadStream”, "kinesis:GetRecords”, "kinesis:GetShardIterator”, "kinesis:DescribeStream”,"kinesis:ListStreams” ], "Effect": "Allow", "Resource": "arn:aws:kinesis:{region}:{awsAccountId}:stream/{kinesisStream}" } ] }
  • 52. Configure Lambda execution policy Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS { "Statement": [ { "Action": [ "logs:*” ], "Effect": "Allow", "Resource": "arn:aws:logs:{region}:{awsAccountId}:log-group:/aws/lambda/{lambdaFunctionName}:*" }, { "Action": [ "sns:publish” ], "Effect": "Allow", "Resource": "arn:aws:sns:{region}:{awsAccountId}:{snsTopic}" }, { "Action": [ "machinelearning:GetMLModel”, "machinelearning:Predict” ], "Effect": "Allow", "Resource": "arn:aws:machinelearning:{region}:{awsAccountId}:mlmodel/{mlModelId}” }, { "Action": [ "kinesis:ReadStream”, "kinesis:GetRecords”, "kinesis:GetShardIterator”, "kinesis:DescribeStream”,"kinesis:ListStreams” ], "Effect": "Allow", "Resource": "arn:aws:kinesis:{region}:{awsAccountId}:stream/{kinesisStream}" } ] } Allow request logging in Amazon CloudWatch
  • 53. Configure Lambda execution policy Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS { "Statement": [ { "Action": [ "logs:*” ], "Effect": "Allow", "Resource": "arn:aws:logs:{region}:{awsAccountId}:log-group:/aws/lambda/{lambdaFunctionName}:*" }, { "Action": [ "sns:publish” ], "Effect": "Allow", "Resource": "arn:aws:sns:{region}:{awsAccountId}:{snsTopic}" }, { "Action": [ "machinelearning:GetMLModel”, "machinelearning:Predict” ], "Effect": "Allow", "Resource": "arn:aws:machinelearning:{region}:{awsAccountId}:mlmodel/{mlModelId}” }, { "Action": [ "kinesis:ReadStream”, "kinesis:GetRecords”, "kinesis:GetShardIterator”, "kinesis:DescribeStream”,"kinesis:ListStreams” ], "Effect": "Allow", "Resource": "arn:aws:kinesis:{region}:{awsAccountId}:stream/{kinesisStream}" } ] } Allow publication of notifications to SNS topic
  • 54. Configure Lambda execution policy Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS { "Statement": [ { "Action": [ "logs:*” ], "Effect": "Allow", "Resource": "arn:aws:logs:{region}:{awsAccountId}:log-group:/aws/lambda/{lambdaFunctionName}:*" }, { "Action": [ "sns:publish” ], "Effect": "Allow", "Resource": "arn:aws:sns:{region}:{awsAccountId}:{snsTopic}" }, { "Action": [ "machinelearning:GetMLModel”, "machinelearning:Predict” ], "Effect": "Allow", "Resource": "arn:aws:machinelearning:{region}:{awsAccountId}:mlmodel/{mlModelId}” }, { "Action": [ "kinesis:ReadStream”, "kinesis:GetRecords”, "kinesis:GetShardIterator”, "kinesis:DescribeStream”,"kinesis:ListStreams” ], "Effect": "Allow", "Resource": "arn:aws:kinesis:{region}:{awsAccountId}:stream/{kinesisStream}" } ] } Allow calls to Amazon ML real-time prediction APIs
  • 55. Configure Lambda execution policy Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS { "Statement": [ { "Action": [ "logs:*” ], "Effect": "Allow", "Resource": "arn:aws:logs:{region}:{awsAccountId}:log-group:/aws/lambda/{lambdaFunctionName}:*" }, { "Action": [ "sns:publish” ], "Effect": "Allow", "Resource": "arn:aws:sns:{region}:{awsAccountId}:{snsTopic}" }, { "Action": [ "machinelearning:GetMLModel”, "machinelearning:Predict” ], "Effect": "Allow", "Resource": "arn:aws:machinelearning:{region}:{awsAccountId}:mlmodel/{mlModelId}” }, { "Action": [ "kinesis:ReadStream”, "kinesis:GetRecords”, "kinesis:GetShardIterator”, "kinesis:DescribeStream”,"kinesis:ListStreams” ], "Effect": "Allow", "Resource": "arn:aws:kinesis:{region}:{awsAccountId}:stream/{kinesisStream}" } ] } Allow reading of data from Kinesis stream
  • 56. Connect Kinesis stream and Lambda function import boto aws_lambda = boto.connect_awslambda() aws_lambda.add_event_source( event_source = 'arn:aws:kinesis:' + region + ':' + aws_account_id + ':stream/' + “tweetStream”, function_name = “process_tweets”, role = 'arn:aws:iam::' + aws_account_id + ':role/' + lambda_execution_role) Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS
  • 57. Building smart applications Pick the ML strategy 1 Prepare dataset 2 3 Create ML model 4 Write and configure code 5 Try it out!
  • 58. Amazon ML real-time predictions Here is a tweet:
  • 59. Amazon ML real-time predictions Here is the same tweet…as a JSON blob: { "statuses_count": "8617", "description": "Software Developer", "friends_count": "96", "text": "`scala-aws-s3` A Simple Amazon #S3 Wrapper for #Scala 1.10.20 available : https://t.co/q76PLTovFg", "verified": "False", "geo_enabled": "True", "uid": "3800711", "favourites_count": "36", "screen_name": "turutosiya", "followers_count": "640", "user.name": "Toshiya TSURU", "sid": "647222291672100864" }
  • 60. Amazon ML real-time predictions Let’s use the AWS Command Line Interface to request a prediction for this tweet: aws machinelearning predict --predict-endpoint https://realtime.machinelearning.us-east-1.amazonaws.com --ml-model-id ml-tweets --record ‘<json_blob>’
  • 61. DEMOS
  • 62. Recap: Our application’s data flow Twitter API Amazon Kinesis AWS Lambda Amazon Machine Learning Amazon SNS
  • 63. Generalizing to more feedback channels Amazon Kinesis AWS Lambda Model 1 Amazon SNS Model 2 Model 3
  • 64. What’s next? Try the service: http://aws.amazon.com/machine-learning/ Download the Social Media Listening application code: http://bit.ly/AmazonMLCodeSample Get in touch! ingerman@amazon.com
  • 69. Inspecting and adjusting the ML model