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