ASCI A17 | Visualization

Dennis Collaris
PhD Visualization

Strategy Maps for Machine Learning Models
75% risk!
Black box
model
Domain expert
Aha!
But why?
Data
EXPLAINING MACHINE LEARNING




THE IDEA
Strategy analysis
example: churn prediction
Strategy A
Strategy B
THE IDEA
tSNE
ID | Name | Age | Sex | Product | Branch | ... |
---|---|---|---|---|---|---|
1 | 💤 | 💤 | 💤 | 🔥 | 💤 | ... |
2 | 🔥 | 💤 | 💤 | 💤 | 🔥 | ... |
3 | 💤 | 🔥 | 💤 | 🔥 | 🔥 | ... |
... | ... | ... | ... | ... | ... | ... |

SHADER IMPLEMENTATIONS
Basics
- WebGL with JavaScript (ECMA 6)
- Vertex shader: simple plane
- Fragment shader: magic ✨
SHADER IMPLEMENTATIONS
Voronoi tessellation


#define NUM_POINTS 20
uniform vec2 points[NUM_POINTS];
uniform float contributions[NUM_POINTS];
float voronoi(vec2 fragPos) {
float closest = 99999999.99;
float value = 0.0;
for(int i = 0; i < NUM_POINTS; i++) {
float dist = distance(fragPos, points[i]);
if (dist < closest) {
closest = dist;
value = contributions[i];
}
}
return value;
}
void main() {
value = voronoi(gl_FragCoord.xy);
vec3 color = color(value) // colorblender
gl_FragColor = vec4(color, 1);
}
SHADER IMPLEMENTATIONS
Shepard's method
#define NUM_POINTS 20
uniform vec2 points[NUM_POINTS];
uniform float contributions[NUM_POINTS];
float IDW(vec2 fragPos) {
float sum, wsum = 0.0;
for(int i = 0; i < NUM_POINTS; i++) {
float dist = distance(fragPos, points[i]);
if (dist != 0.0) {
float w = 1.0 / pow(dist, P);
sum += contributions[i] * w;
wsum += w;
} else {
return contributions[i];
}
}
return sum / wsum;
}
void main() {
value = IDW(gl_FragCoord.xy);
vec3 color = color(value) // colorblender
gl_FragColor = vec4(color, 1);
}

SHADER IMPLEMENTATIONS
Maximum Inverse Distance Weighting
ASCI A17
By iamdecode
ASCI A17
- 35