Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Visual Analysis of Class Separations with Locally Linear Segments

Paper Link

Abstract: High-dimensional labeled data widely exists in many real-world applications such as classification and clustering. One main task in analyzing such datasets is to explore class separations and class boundaries derived from machine learning models. Dimension reduction techniques are commonly applied to support analysts in exploring the underlying decision boundary structures by depicting a low-dimensional representation of the data distributions from multiple classes. However, such projection-based analyses are limited due to their lack of ability to show separations in complex non-linear decision boundary structures and can suffer from heavy distortion and low interpretability. To overcome these issues of separability and interpretability, we propose a visual analysis approach that utilizes the power of explainability from linear projections to support analysts when exploring non-linear separation structures. Our approach is to extract a set of locally linear segments that approximate the original non-linear separations. Unlike traditional projection-based analysis where the data instances are mapped to a single scatterplot, our approach supports the exploration of complex class separations through multiple local projection results. We conduct case studies on two labeled datasets to demonstrate the effectiveness of our approach.


The system consists of two parts: the backend server, and the frontend web interface.


Python 3.7+

Node 6.4+

yarn 1.22.* (version 2+ not tested)

Google Chrome Browser (Firefox or other modern browsers should work as well)

Setup the Backend

Install the dependencies for the Python backend:

$ pip install -r requirements.txt

Start the server:

$ python3.7

The server runs at http://localhost:5000. Please keep it running while using the frontend interface.

Setup the Frontend

Install yarn:

$ npm -g install yarn

Install the dependencies with yarn:

$ cd frontend
$ yarn

Start the frontend:

$ yarn start

It starts a node development server at http://localhost:3000 by default. Please access it in a web browser to view the interface.

Note: the proxy setting in frontend/package.json is enabled to redirect the requests to the Python backend server, which is http://localhost:5000 by default.


Please refer to the documents in the replicate folder for more details.


No description, website, or topics provided.






No releases published


No packages published