© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Machine Learning para Desenvolvedores
(…não para cientista de dados...)
Alex Coqueiro
Gerente de Arquitetura para o Setor Público
@alexbcbr
Machine Learning
Machine Learning é um campo de pesquisa
que busca implementar algorítimos por meio
de técnicas estatísticas e matemáticas que
automatizam a descoberta de padrões
existentes oriundos da análise de dados
Quero ver fazendo !!!
http://tdc.abcgov.com.br
Conceitos de Aprendizagem
Machine
Learning
Supervisionado
Não
Supervisionado
Modelos preditivos
Classificação,
Regressão
Modelos descritivos
Clusterização,
Redução de Dimensão
Amazon Machine Learning (AML)
Facilidade de uso, serviço gerenciado de
machine learning construído para
desenvolvedores
Robustes em tecnologia de machine learning
Criação de modelos usando dados
armazenados na cloud da AWS
Deploy de modelos em produção em
segundos
Algoritmos de Aprendizado Supervisionados
1. Classificação Binária
- Prever uma resposta de Sim ou Não
- O cliente irá comprar o produto ou migrar para um plano mais
sofisticado?
2. Classificação Multinomial
- Classificação categórica a partir de uma lista de possibilidades
- Organização produtos em categorias
3. Regressão
- Prever o Valor de uma Variável Numérica
- Previsão de preços ou uma demanda futura de produtos
Construção do
modelo
Avaliação e
Otimização
Recuperar
Previsões
1 2 3
Treinar
Modelo
Avaliação e
Otimização
Recuperar
Previsões
1 2 3
Criar o Datasource
>>> import boto
>>> ml = boto.connect_machinelearning()
>>> ds = ml.create_data_source_from_s3(
data_source_id = ’my_datasource',
data_spec= {
'DataLocationS3':'s3://bucket/input/',
'DataSchemaLocationS3':'s3://bucket/input/.schema'},
compute_statistics = True)
Explorar e entender os dados
Treinar seu modelo
>>> 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')
Treinar
Modelo
Avaliação e
Otimização
Recuperar
Previsões
1 2 3
Explorar qualidade do modelo
Refinamento na interpretação do modelo
Refinamento na interpretação do modelo
Treinar
Modelo
Avaliação e
Otimização
Recuperar
Previsões
1 2 3
Batch Predictions
Assíncrono, geração de dados a partir de grande volume
de dados
Requisição por meio de console ou API
>>> 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
Síncrono, baixa latência, alto throughput na geração de previsões
Requisição por API ou server ou SDK mobile
Lida com aplicações que necessitam avaliar registros individualmente
>>> 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’
}
}
}
Muito Obrigado!
Alex Coqueiro
Gerente de Arquitetura para o Setor Público
@alexbcbr

TDC2016SP - Trilha BigData