Code Monkey home page Code Monkey logo

vispur's Introduction

VISPUR

Visual Aids for Identifying and Interpreting Spurious Associations in Data-Driven Decisions

Paper/System Overview

teaser

Abstract: Big data and machine learning tools have jointly empowered humans in making data-driven decisions. However, many of them capture empirical associations that might be spurious due to confounding factors and subgroup heterogeneity. The famous Simpson's paradox is such a phenomenon where aggregated and subgroup-level associations contradict with each other, causing cognitive confusions and difficulty in making adequate interpretations and decisions. Existing tools provide little insights for humans to locate, reason about, and prevent pitfalls of spurious association in practice. We propose VISPUR, a visual analytic system that provides a causal analysis framework and a human-centric workflow for tackling spurious associations. These include a Confounder Dashboard, which can automatically identify possible confounding factors, and a Subgroup Viewer, which allows for the visualization and comparison of diverse subgroup patterns that likely or potentially result in a misinterpretation of causality. Additionally, we propose a Reasoning Storyboard, which uses a flow-based approach to illustrate paradoxical phenomena, as well as an interactive Decision Diagnosis panel that helps ensure accountable decision-making. Through an expert interview and a controlled user experiment, our qualitative and quantitative results demonstrate that the proposed ``de-paradox'' workflow and the designed visual analytic system are effective in helping human users to identify and understand spurious associations, as well as to make accountable causal decisions.

Setup

  1. Create virtual environment (preferred) and install python 3.8.12
  $ pipenv --three (or $ pipenv --python X.X)
  $ pipenv shell
  $ pipenv --python 3.8.12
  1. Install python packages for django
  $ pipenv install
  1. Install javascript packages for react
  $ cd src && npm install
  1. Install, and start Postgres
  • Install: refer to the official website and download the app
  • Start: Open the Postgres app
  • Create a database called app
  $ psql  // get into postgres shell
  ID=# create database app; // create a database

After everything is set up, start the server and frontend. (Whenever you want to start the app later, follow these steps.) (Make sure to activate the virtual environment with pipenv shell) 5. Start the server

  $ python manage.py runserver
  1. Start the frontend

Cite

vispur's People

Contributors

xit22penny avatar

Stargazers

Naj avatar

Watchers

yuru avatar  avatar

vispur's Issues

postgres connection error

Hello, your solution looks amazing! I am trying to use it but stuck at postgres connection issue.I am not sure if I am defining the conn string properly. can you please share an example of a working connection? Here is the error part I am getting . Thanks

File "/home/naj/.local/share/virtualenvs/VISPUR-K1hzGVxU/lib/python3.10/site-packages/psycopg2/init.py", line 124, in connect
conn = psycopg2.connect(database="naj", user="naj", password="SecurePass1")
[Previous line repeated 968 more times]
File "/home/naj/.local/share/virtualenvs/VISPUR-K1hzGVxU/lib/python3.10/site-packages/psycopg2/init.py", line 123, in connect
dsn = _ext.make_dsn(dsn, **kwargs)
File "/home/naj/.local/share/virtualenvs/VISPUR-K1hzGVxU/lib/python3.10/site-packages/psycopg2/extensions.py", line 163, in make_dsn
dsn = " ".join(["{}={}".format(k, _param_escape(str(v)))
File "/home/naj/.local/share/virtualenvs/VISPUR-K1hzGVxU/lib/python3.10/site-packages/psycopg2/extensions.py", line 163, in
dsn = " ".join(["{}={}".format(k, _param_escape(str(v)))
File "/home/naj/.local/share/virtualenvs/VISPUR-K1hzGVxU/lib/python3.10/site-packages/psycopg2/extensions.py", line 181, in _param_escape
s = re_escape.sub(r'\\1', s)
File "/usr/lib/python3.10/re.py", line 326, in _subx
template = _compile_repl(template, pattern)
RecursionError: maximum recursion depth exceeded in comparison

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.