wowjyu / MultiVision

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MultiVision

This repo contains the source code for the work MultiVision: Designing Analytical Dashboards with Deep Learning Based Recommendation, accepted at IEEE VIS 2021. The paper preprint is at this arxiv link.

Given a data table, MultiVision recommends a chart and/or a dashboard containing multiple charts for conducting data analysis.

Screenshot-2021-07-16-at-16-42-09.png

How to install?

This repo is wroten in python 3.6 with Pytorch 1.7.1. The full dependency can be found and installed via requirements.txt.

How to run the model & benchmark?

Demo.ipynb demonstrates how to run the trained model.

  • Input: a data table in CSV format
  • Output: an MV, describled as a list of charts (as shown below, where the `indices' is the indices of data columns encoded by this chart.
## The first chart is a line chart encoding data columns 2, 3, 5. The second chart is a bar chart encoding data columns 0, 1, 6.
[{'indices': (2, 3, 5),
  'column_selection_score': 0.17087826005069967,
  'chart_type': 'line',
  'chart_type_prob': 0.9999961295181747,
  'final_score': 0.1708775986694998},
 {'indices': (0, 1, 6),
  'column_selection_score': 0.953993421295783,
  'chart_type': 'bar',
  'chart_type_prob': 0.9747984895572608,
  'final_score': 0.9299513461266928}]

VegaLiteRender.py provides a toolkit for rendering the above results into a Vega-Lite chart. Screenshot 2021-12-16 at 13 44 57

Content

This repo is under construction.

  • The trained model and demo
  • Tutorial for running the scoring model
  • The visual encoding recommender
  • The interface
  • The training script

For the training dataset, please refer to udpates from Table2Charts.

About


Languages

Language:Jupyter Notebook 62.1%Language:Python 37.9%