Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Making Scores with HiScore
Search
Hakka Labs
February 13, 2015
Programming
0
3.4k
Making Scores with HiScore
Video here:
Hakka Labs
February 13, 2015
Tweet
Share
More Decks by Hakka Labs
See All by Hakka Labs
New Workflows for Building Data Pipelines
hakka_labs
0
2.9k
Collaborative Topic Models for Users and Texts
hakka_labs
0
2.8k
Groupcache with Evan Owen
hakka_labs
2
5.4k
Testing Android at Spotify
hakka_labs
1
4.5k
It's Not a Bug, It's a Feature!
hakka_labs
0
3.2k
K-means Clustering to Understand Your Users
hakka_labs
0
2k
Building Amy: The Email-based Virtual Assistant by x.ai
hakka_labs
0
5k
Deep Learning and NLP Applications
hakka_labs
3
13k
Go and the Gophers
hakka_labs
2
11k
Other Decks in Programming
See All in Programming
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
270
PipeCDのプラグイン化で目指すところ
warashi
1
280
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
650
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
220
20250704_教育事業におけるアジャイルなデータ基盤構築
hanon52_
5
790
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
510
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
830
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
770
ふつうの技術スタックでアート作品を作ってみる
akira888
1
860
AIプログラマーDevinは PHPerの夢を見るか?
shinyasaita
1
220
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
290
Claude Code + Container Use と Cursor で作る ローカル並列開発環境のススメ / ccc local dev
kaelaela
10
5.3k
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Site-Speed That Sticks
csswizardry
10
690
Become a Pro
speakerdeck
PRO
29
5.4k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Optimizing for Happiness
mojombo
379
70k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
6
300
Visualization
eitanlees
146
16k
Into the Great Unknown - MozCon
thekraken
40
1.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Six Lessons from altMBA
skipperchong
28
3.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
GitHub's CSS Performance
jonrohan
1031
460k
Transcript
Making Scores with HiScore Abe Othman
None
None
None
None
HiScore is a python library for creating and maintaining scores
It uses a novel quasi-Kriging solution to a new methodology,
supervised scoring
What are scores?
Scores are a tool for domain experts to communicate their
expertise to a broad audience
88 51 27
} 58 Score Function Dimensions Score
There is no one correct scoring function
Scores are typically developed using the dual approach
1. Select a set of basis functions f(x ⃗) =
∑ γᵢφᵢ(x ⃗)
2. Adjust coefficients until things look right f(x ⃗) =
∑ γᵢφᵢ(x ⃗)
Dual scores ossify
Walkscore Problems Score of 100, but the highest crime in
SF
Supervised scoring: a primal approach
Experts start by labeling a reference set and the objects’
dimensions
Algorithm makes a scoring function that interpolates and obeys the
monotone relationship
Some nice features
Monotonicity is important for score acceptance and understanding
See a mis-scored point? Add it to the reference set
and re-run!
OK, but what algorithm?
Easy in one dimension
None
None
None
Hard in many dimensions
Failed approach: simplical interpolation
None
Failed approach: B-spline product bases
Supervised Scoring with Monotone Multidimensional Splines, AAAI 2014
Curse of dimensionality!
None
None
None
Failed approach: RBF with monotone row generation constraints
Failed approach: Neural Networks
None
None
Success: Beliakov
Reminder: Lipschitz Continuity |f(a)-f(b)| < C |a-b|
None
Monotone Lipschitz continuity
None
1. Project monotone Lipschitz cones from each point to generate
upper and lower bounds
2. Find the sup and inf constraints from the bounding
cones
3. Function value is halfway in-between the sup and inf
bounds
Beliakov example
Beliakov plateaux
Beliakov plateaux
How can we smooth and improve this?
Abandon Lipschitz, just project minimal cones from each point
None
`
HiScore solution
Using HiScore: Simplified Water Well Score
None
None
Two factors: Distance from nearest latrine and platform size
Label a reference set by taking high, middle and low
values in each dimension
Distance: 0m, 10m, 50m Size: 1SF, 25SF, 100SF
Score Distance Size 0 0 1 5 0 25 10
0 100 20 10 1 50 10 25 60 10 100 65 50 1 90 50 25 100 50 100 Monotone Relationship: (+, +)
import hiscore reference_set = {(0,1): 0, (0,25): 5, (0,100): 10,
(10,1): 20, (10,25): 50, … } mono_rel = [1,1] hiscore.create(reference_set, mono_rel, minval=0, maxval=100)
None
Complicate the model with additional factors
Avoid curse of dimensionality by building a tree
None
Possible to easily construct and understand scores with dozens of
input dimensions
Making dimensions monotone: blood pressure
None
S+ > 0 S- = 0 D+ > 0 D-
= 0 D+ = 0 D- > 0 S+ = 0 S- > 0
What do you want to score? github.com/aothman/ hiscore $ pip
install hiscore
Thanks!
[email protected]