Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Ivory - Concepts
Search
Ambiata
October 20, 2014
Technology
930
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ivory - Concepts
Ambiata
October 20, 2014
More Decks by Ambiata
See All by Ambiata
Improving feature engineering in the lab and production with Ivory
ambiata
3
690
Ivory - A Data Store for Data Science
ambiata
1
750
Ivory - Data Modelling
ambiata
0
540
Ivory - An Introduction
ambiata
1
1.4k
Other Decks in Technology
See All in Technology
Classmethod Company Deck
satoshi7
1
730
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
200
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
6
5k
Kiro Crewで「みのるん式」仕事術やってみた
minorun365
PRO
1
240
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
650
ウォンテッドリーの最近のプロダクトと技術の紹介
stomk
0
120
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
180
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
PRO
0
440
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
930
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.4k
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
170
FinOps Agentが生んだ技術負債:コスト自動調査の落とし穴と解消までの道のり
oasis1994liveforever
1
120
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
460
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
480
The Curious Case for Waylosing
cassininazir
1
570
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Transcript
IVORY CONCEPTS http://github.com/ambiata/ivory © Ambiata 2014
IVORY A scalable and extensible data store for storing facts
and extracting features © Ambiata 2014
Ivory Repository Ingest facts Extract features © Ambiata 2014
REPOSITORY • Storing and extracting data for a single class
of entity, e.g.: • customer • account • asset © Ambiata 2014
DATA MODEL © Ambiata 2014
customer-1 balance 634 @ 2014-02-01 single “fact” Fact: Entity -
Attribute - Value - Time The value of a feature (attribute) for a given entity known to be valid from a certain point in time. © Ambiata 2014
customer-1 balance 634 @ 2014-02-01 customer-2 customer-3 customer-4 469 @
2014-02-01 276 @ 2014-04-01 1966 @ 2014-03-01 © Ambiata 2014 scalable
customer-2 customer-3 customer-4 customer-1 gender balance purchases zipcode 634 @
2014-02-01 extensible 469 @ 2014-02-01 276 @ 2014-04-01 1966 @ 2014-03-01 ‘M’ @ 2012-01-01 3 @ 2014-03-27 ‘4670’ @ 2009-05-13 © Ambiata 2014
736 @ 2014-01-01 3 @ 2014-02-19 184 @ 2014-02-01 312
@ 2014-03-01 customer-1 customer-2 customer-3 customer-4 gender balance purchases zipcode ‘M’ @ 2012-01-01 276 @ 2014-04-01 4 @ 2014-04-04 2 @ 2014-03-12 3 @ 2014-03-27 ‘2381’ @ 2004-08-19 ‘4670’ @ 2009-05-13 ‘F’ @ 2007-04-01 ‘3001’ @ 2011-09-14 1876 @ 2014-02-01 1966 @ 2014-03-01 634 @ 2014-02-01 Sparse 469 @ 2014-02-01 © Ambiata 2014
INGESTING FACTS © Ambiata 2014
• Facts are ingested in atomic units called factsets •
Facts in a factset can span any set of: • entities • attributes • dates/times © Ambiata 2014
customer-1 balance 634 2014-02-01 customer-3 balance 184 2014-02-01 customer-4 purchases
4 2014-02-04 cusomter-2 balance 312 2014-03-01 customer-3 gender F 2007-04-01 customer-2 zipcode 3001 2011-03-14 © Ambiata 2014
ATTRIBUTE DICTIONARY © Ambiata 2014
• Any attribute that is ingested must be declared in
the repository’s dictionary • Dictionary stores metadata for each attribute • Updated dictionaries can be imported into a repository at any time © Ambiata 2014
namespace name encoding type description demographics gender string categorical Gender
demographics zipcode string categorical Post-code, zip-code accounts balance double numerical Balance of savings account accounts purchases int numerical Number of credit-card purchases © Ambiata 2014
EXTRACTING FEATURES © Ambiata 2014
© Ambiata 2014 0.00 3 3001 634.83 16 4670 15.12
2 - 33.56 2 - 98.34 12 3303 523.81 23 2046 1086.05 17 - 224.81 9 - 78.21 2 2134 126.48 4 - M - F M F - F F M - gender balance purchases zipcode 89340218 feature instance 48149407 18452274 07499337 62948721 93754723 00272446 13374497 31989993 46474236
SNAPSHOTS • Attribute values for entities at a point in
time • Same time for all entities • Select latest attribute values with respect to that time • Typically used in preparing instances for scoring © Ambiata 2014
736 @ 2014-01-01 6 @ 2014-02-19 184 @ 2014-02-01 312
@ 2014-03-01 customer-1 customer-2 customer-3 customer-4 gender balance purchases zipcode ‘M’ @ 2012-01-01 276 @ 2014-04-01 4 @ 2014-02-04 2 @ 2014-03-12 3 @ 2014-03-27 ‘2381’ @ 2004-08-19 ‘4670’ @ 2009-05-13 ‘F’ @ 2007-04-01 ‘3001’ @ 2011-09-14 1876 @ 2014-02-01 1966 @ 2014-03-01 634 @ 2014-02-01 snapshot @ 2014-03-01 469 @ 2014-02-01 © Ambiata 2014
customer-1 customer-2 customer-3 customer-4 gender balance purchases zipcode ‘M’ 312
4 ‘4670’ ‘F’ ‘3001’ 1966 634 469 © Ambiata 2014
• It is assumed snapshots run periodically - e.g. daily,
weekly • Ivory exploits this assumption to improve the runtime of successive snapshots
CHORDS • Attribute values for entities at a point in
time • Different times for different entities • Select latest attribute values with respect to the times • Typically used in preparing instances for training © Ambiata 2014
736 @ 2014-01-01 6 @ 2014-02-19 184 @ 2014-02-01 312
@ 2014-03-01 customer-1 customer-2 customer-3 customer-4 gender balance purchases zipcode ‘M’ @ 2012-01-01 276 @ 2014-04-01 4 @ 2014-04-04 2 @ 2014-03-12 3 @ 2014-03-27 ‘2381’ @ 2004-08-19 ‘4670’ @ 2009-05-13 ‘F’ @ 2007-04-01 ‘3001’ @ 2011-09-14 1876 @ 2014-02-01 1966 @ 2014-03-01 634 @ 2014-02-01 469 @ 2014-02-01 customer2 @ 2014-03-01 customer4 @ 2014-01-01 © Ambiata 2014
customer-2 @ 2014-03-01 customer-4 @ 2014-01-01 gender balance purchases postcode
‘M’ 312 6 ‘4670’ ‘3001’ 1876 © Ambiata 2014
DERIVED FACTS © Ambiata 2014
184 @ 2014-02-01 312 @ 2014-03-01 customer-2 balance max.balance.4M 276
@ 2014-04-01 ? © Ambiata 2014 Maximum balance over last 4 months can be derived from set of balance facts
Many facts can be derived from a time series of
base facts © Ambiata 2014
base fact derived facts balance Maximum balance over the last
month Mean balance over the last 2 months Balance gradient over the last 3 months purchase Number of purchases in the last 3 weeks Proportion of supermarket purchases in the last 2 weeks zipcode Number of times the zipcode has change in the last 5 years Longest period where the zipcode has not changed in the last 5 years © Ambiata 2014
VIRTUAL FEATURES © Ambiata 2014
• Ivory represents derived facts as virtual features • Virtual
features are declared in the dictionary • Specify expressions against base facts • Are computed lazily when features extracted © Ambiata 2014
name source expression window max.balance.4M balance max 4 month mean.balance.6M
balance mean 6 months num.purchases.3W purchase count 3 weeks changes.zipcode.5Y zipcode num_flips 5 years © Ambiata 2014
COMMITS © Ambiata 2014
Ivory Repository Ingest facts Extract features Import dictionary © Ambiata
2014
• A commit is recorded for any repository change: •
factset ingestions • dictionary imports • The repository at a given commit is an immutable data store • Snapshot and chord can be done at a specific commit © Ambiata 2014
1 2 3 4 5 0 create repository import dictionary
ingest factset ingest factset import dictionary ingest factset snapshot snapshot chord © Ambiata 2014
KEY CONCEPTS © Ambiata 2014
• Repository • Commit • Dictionary • Factset • Base
fact • Virtual feature • Snapshot • Chord © Ambiata 2014