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)
Install the dependencies for the Python backend:
$ pip install -r requirements.txt
Start the server:
$ python3.7 app.py
The server runs at http://localhost:5000. Please keep it running while using the frontend interface.
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.