Upload
bigml
View
5.316
Download
4
Embed Size (px)
DESCRIPTION
Keynote from March 2014 Webinar on Building Predictive Apps with BigML's API
Citation preview
BigML Inc
API
BigML Inc !2
Today’s Webinar
• Speaker:
• Poul Petersen, CIO
• Moderator:
• Andrew Shikiar, VP Business Development
• Enter questions into chat box – we’ll answer some via text; others at the end of the session
• For direct follow-up, email us at [email protected]
BigML Inc !3
BigML Architecturesky
wintermute
apian
https://bigml.com
https://bigml.io API Layer
Frontend Visualization Layer
Backend Computation Layer
Other Services
BigML Inc
API Bindings Overview
!4
API Introduction / Demo with 1 Predictive Application Demo2
3 Programmatic ML Examples with 4
Agenda
BigMLer - a command line tool for ML5
BigML Inc !5
https://bigml.io/ / /{id}?{auth}
sourcedatasetmodel
ensembleprediction
batchpredictionevaluation
andromeda
dev
dev/andromeda
• Path elements:
• /andromeda specifies the API version (optional)
• /dev specifies development mode
• if not specified, then latest API in production mode
• {id} is required for PUT and DELETE
• {auth} contains url parameters username and api_key
• api_key can be an alternative key
BigML Inc !6
https://bigml.io/....{JSON} {JSON}
Operation HTTP Method Semantics
CREATE POSTCreates a new resource. Returns a JSON document including a unique identifier.
RETRIEVE GETRetrieves either a specific resource or a list of resources.
UPDATE PUT Updates a resource. Only certain fields are putable.
DELETE DELETE Deletes a resource
BigML IncBigML Inc !7
Predict Color Pref?
BigML IncBigML Inc !8
App Architecture
Web Server BrowserLogs
Batch Upload / Model Real-Time
request
predict
custom experience
BigML IncBigML Inc !9
Log Data
user_agent colorMozilla/5.0 (Windows NT 6.1; WOW64; rv YellowMozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36 GreenMozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36 GreenMozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36 YellowMozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36 RedMozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36 RedMozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36 YellowMozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36 YellowMozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36 Red
BigML IncBigML Inc !10
New FeaturesMozilla/5.0 (iPhone; CPU iPhone OS 7_0_6 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B651 Safari/9537.5
Mobile Safari
browser browser version os os version device7 iOS 7.0.6 iPhone
User-agent parser
BigML IncBigML Inc !11
New Features
browser version os os version device color
Other Windows 7 Other Yellow
Chrome 33.0.1750 Linux Other Green
Chrome 32.0.1700 Windows 8 Other Green
Chrome 32.0.1700 Windows 7 Other Yellow
Chrome 33.0.1750 Windows XP Other RedChrome 32.0.1700 Mac OS X 10.9.1 Other RedChrome 33.0.1750 Mac OS X 10.9.1 Other YellowChrome 33.0.1750 Windows 7 Other YellowChrome 33.0.1750 Mac OS X 10.9.1 Other Red
BigML IncBigML Inc !12
Model
BigML IncBigML Inc !13
JS Predictions
. . .
BigML IncBigML Inc !14
Predictions
BigML Inc !17
Operation HTTP Method Binding Method
CREATE POST api.create_<resource>(from, {opts})
RETRIEVE GETapi.get_<resource>(id, {opts})
api.list_<resource>({opts})
UPDATE PUT api.update_<resource>(id, {opts})
DELETE DELETE api.delete_<resource>(id)
Binding Overview
• Where <resource> is one of: source, dataset, model, ensemble, evaluation, etc
• id is a resource identifier or resource dict
• from is a resource identifier, dict, or string depending on context
BigML Inc !18
ToyBoost*
orig dataset
dataset +weight model
source +predict
batch predict
dataset +predict
*For Python Bindings Demonstration
BigML Inc !19
BigMLer
•BigMLer wraps BigML’s API Python bindings
•Issue complete train/evaluation cycle in one command
•Can do cross-validation
•Remote/Local predictions or even PredictServer
•Define field types in a flat file
•Multi-Label classifications
BigMLer makes BigML even easier!