prediction api

52
Google Prediction API Workshop Matias Molinas

Upload: gdg-lima

Post on 13-Jun-2015

132 views

Category:

Engineering


2 download

TRANSCRIPT

Page 1: Prediction API

Google Prediction API

Workshop

Matias Molinas

Page 2: Prediction API

Google Cloud Storage

Es un servicio REST

En la infraestructura de Google

Para almacenar datos ilimitados

Page 3: Prediction API

Google Cloud Storage

Puede guardar objetos de hasta 5T

Se organizan en buckets

El usuario les asigna una key unica

Page 4: Prediction API

Google Cloud Storage

Interoperabilidad: con Amazon S3 y Eucalyptus

Consistencia: uploads atómicos

Control de Acceso: access control list (ACLs)

Page 5: Prediction API

Google Cloud Storage

Herramientas:

Google Storage Manager (un explorador.. )https://storage.cloud.google.com

gsutil (línea de comandos)http://code.google.com/p/gsutil/

Page 6: Prediction API

Google Cloud Storage

Como activarlo?

- Crear un proyecto en la consola de APIs de Google

https://code.google.com/apis/console/

- Activar el servicio en ese proyecto

Page 7: Prediction API

Google Cloud Storage

Es un servicio REST, lo podemos utilizar desde:

- Las aplicaciones de Google

- Por medio de mensajes XML o JSON

- Desde APIs que encapsulan la mensajería

Page 8: Prediction API

Google Cloud Storage

Casos de éxito:

- Ubisoft, los utiliza para guardar datos de niveles de juegos de Chrome

Page 9: Prediction API

Google Cloud Storage

Caso de éxito:

Page 11: Prediction API

Google Cloud Storage

Ejemplo:

Predicción de cáncer Maligno o Benigno a partir de imagen digitalizada de un aspirado con aguja fina (FNA) de una masa en la mama

https://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Diagnostic%29

Page 12: Prediction API

Google Cloud Storage

Ejemplo:

Page 13: Prediction API

Google Cloud Storage

Ejemplo:

breast-cancer-wisconsin-diagnostic.csv

patrones1.csv

test1.csv

Page 14: Prediction API

Google Cloud Storage - Ejemplo

Page 15: Prediction API

Google Cloud Storage

Otras APIs que trabajan con Cloud Storage:

- Google Prediction API

- BigQuery

Page 16: Prediction API

Google Prediction API

Qué es Google Prediction API?

Es un servicio en la nube de "Aprendizaje automático"

Page 17: Prediction API

Google Prediction API

Para qué sirve?

- Análisis de sentimientos del cliente- Detección de spam- Ruteo de mensajes inteligente- Clasificación de documentos y correos electrónicos

Page 18: Prediction API

Google Prediction API

Para qué sirve?

- Identificación de consumidores que pueden dejar de utilizar su servicio o producto- Recomendaciones- inducir al cliente a comprar productos más caros, actualizaciones u otros add-ons

Page 19: Prediction API

Google Prediction API

Para qué sirve?

- Diagnostico médico- Identificación de actividad sospechosa

- Mucho más ...

Page 20: Prediction API

Google Prediction API

Que es Machine Learning?

El Aprendizaje Automático es una rama de la Inteligencia Artificial cuyo objetivo es desarrollar técnicas que permitan a las computadoras aprender.

Page 21: Prediction API

Google Prediction API

Que nos simplifica Prediction API?

- Selecciona el algoritmo más adecuado en forma automática- Escala- Simplemente consumimos un servicio REST

Page 22: Prediction API

Google Prediction API

Como lo podemos utilizar?

- Tenemos que crear un set de datos - Tiene que ser representativo!- Tiene que responder lo que esperamos que resuelva el servicio!

Es el paso más crítico

Page 23: Prediction API

Google Prediction API

Ejemplo:

"French", "«Eh! votre dépense», v"Spanish", " Esto es una prueba"English", "'He took me for his h"Spanish", "YO, EL REY.""English", "'Well, perhaps you ha"Spanish", "Sólo quisiera

Page 24: Prediction API

Google Prediction API

Repositorio con set de datos:

https://archive.ics.uci.edu/ml/datasets.html

Page 25: Prediction API

Google Prediction API

Los dos aspectos más importantes :

- La formulación correcta de la pregunta que va a responder el servicio

- La formulación correcta de la pregunta que va a responder el servicio

Page 26: Prediction API

Google Prediction API

Pero, que es una predicción??

- Dado un item, predecir un valor numérico

- Dado un item, predecir una categoría

Page 27: Prediction API

Google Prediction API

Ejemplo, valores numéricos:

Set de datos: Temperatura, Dia del año, Ciudad, Clima

Podemos predecir la temperatura (numérico)

(Modelo de regresión)

Page 28: Prediction API

Google Prediction API

Ejemplo, categorías:

Set de datos: Tipo de Email (Spam/Normal), Motivo

Podemos predecir si es Spam (categoría)

(Modelo de categorización)

Page 29: Prediction API

Google Prediction API

Entrenamiento:

El set de datos de entrenamiento lo debemos subir a Google Cloud Storage

Formato: Un archivo CSV (datos separados por coma)

Page 30: Prediction API

Google Prediction API

Entrenamiento:Archivo: patrones1.csv (todos los datos del dataset menos uno. Se reserva uno para evaluar el modelo..)Contenido:"M",16.13,20.68,108.1,798.8,0.117,0.2022"M",19.81,22.15,130,1260,0.09831,0.1027,"B",13.54,14.36,87.46,566.3,0.09779,0.08

Page 31: Prediction API

Google Prediction API

Entrenamiento:Archivo: patrones1.csvColumnas:1) ID number 2) Diagnosis (M = malignant, B = benign)

Page 32: Prediction API

Google Prediction API

Entrenamiento:Archivo: patrones1.csvColumnas:

Valores reales de 10 características de los núcleos de las células presentes en las muestras (29 valores por muestra..)

Page 33: Prediction API

Google Prediction API

Entrenamiento:Archivo: patrones1.csvColumnas:a) radiusb) texture c) perimeter d) área e) smoothness

Page 34: Prediction API

Google Prediction API

Entrenamiento:Archivo: patrones1.csvColumnas:f) compactnessg) concavityh) concave pointsi) symmetryj) fractal dimension

Page 35: Prediction API

Google Prediction API

Entrenamiento:

- Podemos utilizar el API desde una librería

- Podemos utilizarla desde el Google APIs Explorer

Page 36: Prediction API

Google Prediction API

Entrenamiento via Google APIs Explorer:

- invocamos el método trainedmodels.insert()

- como parámetro pasamos la ruta a nuestro archivo en el cloud storage y el id del modelo que vamos a crear

Page 37: Prediction API

Google Prediction API

Entrenamiento via Google APIs Explorer:

Page 38: Prediction API

Google Prediction API

Entrenamiento via Google APIs Explorer:

Page 39: Prediction API

Google Prediction API

Entrenamiento via Google APIs Explorer:

Page 40: Prediction API

Google Prediction API

Page 41: Prediction API

Google Prediction API

Entrenamiento via Google APIs Explorer:

Page 42: Prediction API

Google Prediction API

Entrenamiento via Google APIs Explorer:

Page 43: Prediction API

Google Prediction API

Entrenamiento via Google APIs Explorer:

Page 44: Prediction API

Google Prediction API

Ejecutar una consulta via Google APIs Explorer:

- Invocamos el método trainedmodels.predict()

- Parámetros - el id de nuestro modelo entrenado- los datos del item del que queremos una

predicción

Page 45: Prediction API

Google Prediction API

Ejecutar una consulta via Google APIs Explorer:

Evaluamos el estudio médico que dejamos fuera de la lista de patrones

test1.csv

Page 46: Prediction API

Google Prediction API

Ejecutar una consulta via Google APIs Explorer:Valores del estudio médico:

"M",17.99,10.38,122.8,1001,0.1184,0.2776,0.3001,0.1471,0.2419,0.07871,1.095,0.9053,8.589,153.4,0.006399,0.04904,0.05373,0.01587,0.03003,0.006193,25.38,17.33,184.6,2019,0.1622,0.6656,0.7119,0.2654,0.4601,0.1189

Page 47: Prediction API

Google Prediction API

Page 48: Prediction API

Google Prediction API

Page 49: Prediction API

Google Prediction API

Page 50: Prediction API

Google Prediction API

Ejemplos de cómo implementar desde una aplicación:

El código en java o en python:http://code.google.com/p/try-prediction/

En la Web:http://try-prediction.appspot.com/

Page 51: Prediction API

Google Prediction API

Casos de Exito, Ford:

- Se utiliza para optimizar el uso de combustible y energía en automóviles híbridos

- El automóvil aprende de los trayectos que normalmente realiza el conductor la estrategia para el ahorro de energía

Page 52: Prediction API

Google Prediction API

Preguntas?

Muchas Gracias!