Giter Site home page Giter Site logo

hamelin / thisnotthat Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tutteinstitute/thisnotthat

0.0 1.0 0.0 12.19 MB

A visual labeling system implemented in Jupyter widgets.

License: BSD 3-Clause "New" or "Revised" License

Python 95.08% Jupyter Notebook 4.92%

thisnotthat's Introduction

TNT Logo

This Not That (TNT)

This Not That is a suite of tools for working with, exploring, and interacting with "data maps". A data map is a two (or three) dimensional representation of higher dimensional vector space data, usually produced by UMAP, t_SNE, or another manifold learning technique. The goal of This Not That is to make it quick and easy to visualize, enrich and interact with data maps. This not that also aims to make it easy to build and deploy simple web-apps on top of data maps to let other users gain access to rich interactive data maps as a means to explore data sets.

This Not That for Labelling

This Not That makes it easy to quickly build an interactive data labeller directly in your notebook, allowing you to quickly tag data for further analysis, extract interesting samples, or do an initial round of bulk labelling.

This Not That for Exploration

This Not That makes it easy to get an interactive plot of a data map, but also allows you to quickly connect other tools to it, including powerful search utilities, a rich data instance viewer, data tables tied to in-plot selections, and tools for quickly adjusting plot attributes from lists of extra variables.

This Not That also provides a variety of automated solutions for adding textual annotation layers to data maps, providing easier navigation and exploration.

This Not That for Data Map Apps

Because This Not That is built on top of the Panel library it is trivial to deploy TNT based solutions as interactive web applications.

Documentation

Get the latest on Read The Docs.

Installing

JUPYTER HUB WARNING: attempting to use a TNT notebook in conjunction with a jupyter hub instance can result in broken linkages between the selections for your various panel panes. If you are running on jupyter hub server and can select points in one of your plots but it isn't updating any other plots then this is the likely culprit. Fixing this requires that the same versions of the Panel library and bokeh are installed in the main kernel that starts the jupyter hub server and the local kernel. If you are running on a groups jupyterhub server this may require you contacting the administrator and asking them to install your favorite versions of bokeh and panel before restarting their server. I'd recommend you then record the version information for your team so that they can easily match the versions in their local kernels.

This Not That is built on top of Panel and Bokeh, so you will need these installed. In all you will need:

  • panel
  • bokeh
  • numpy >= 1.22
  • pandas
  • scikit-learn
  • matplotlib
  • umap-learn
  • hdbscan
  • glasbey
  • cmocean
  • vectorizers

We also highly recommend installing:

  • networkx
  • apricot-select

Currently you can pip install directly from this repository:

pip install git+https://github.com/TutteInstitute/thisnotthat

Contributing

Contributions are more than welcome! There are lots of opportunities for potential projects, so please get in touch if you would like to help out. Everything from code to notebooks to examples and documentation are all equally valuable so please don't feel you can't contribute. We are also keen to hear user stories and suggestions for new Pane's to add to to our catalog. We also welcome contributions to get other plot libraries integrated and working with TNT, including plotly, VTK/PyVista, and others, so if you have expertise with these please consider contributing.

To contribute please fork the project make your changes and submit a pull request. We will do our best to work through any issues with you and get your code merged into the main branch.

License

The This Not That package is 3-clause BSD licensed.

thisnotthat's People

Contributors

lmcinnes avatar hamelin avatar jc-healy avatar gclendenning avatar gc153671 avatar cakiki avatar

Watchers

James Cloos avatar

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.