wx-b / hover

:speedboat: Label data at scale. Fun and precision included.

Home Page:https://phurwicz.github.io/hover

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hover

Explore and label on a map of raw data.

Get enough to feed your model in no time.

PyPI Version Conda Version Downloads Build Status Codacy Grade Codacy Coverage

hover speeds up data labeling through embedding + visualization + callbacks.

  • You just need raw data and an embedding to get a map.
  • Explore the map to find "zones" that are easy and those that are tricky.
  • Start the conquest of your data by coloring the zones through wisdom!

GIF Demo

πŸš€ Live Demos

  • edit & run code in your browser to get a labeling interface, with guides along the way.
  • go directly to a labeling interface, pre-coded and hosted on Binder.

✨ Features (click bullets to show GIF)

It's fast because it labels data in bulk.

πŸ”­ A semantic scatter plot of your data for labeling, equipped with

  • Tooltip for each point on mouse hover
  • Table view for inspecting all selected points
  • Toggle buttons that clearly distinguish data subsets
  • Search widgets for ad-hoc data highlight

It's accurate because multiple angles work together.

πŸ”¬ Supplementary views to use in conjunction with the annotator, including

  • Finder: filter data by search criteria
  • Softlabel: active learning by in-the-loop model prediction score
  • Snorkel: custom functions for labeling and filtering

It's flexible (and fun!) because the process never gets old.

🧰 Additional tools and options that allow you to

  • Go to higher dimensions (3D? 4D?) and choose your xy-axes
  • Consecutively select across areas, dimensions, and views
  • Kick outliers and fix mistakes

πŸ’‘ Click on the bullet points above to view GIFs!

πŸ“¦ Install

Python: 3.8+

OS: Linux & Mac & Windows

PyPI (for all releases): pip install hover

Conda-forge (for 0.6.0 and above): conda install -c conda-forge hover

For Windows users, we recommend Windows Subsystem for Linux.

πŸ“– Resources

🎏 Announcements

  • Feb 25, 2022 version 0.7.0 is now available. Check out the changelog for details πŸ₯³. Some tl-dr for the impatient:
    • audio and image support supply audio/image files through URLs to label with hover!
      • any type supported by HTML (and your browser) will be supported here.
    • high-dimensional support you can now use higher-than-2D embeddings.
      • hover still plots in 2D, but you can dynamically choose which two dimension to use.

πŸ”” Remarks

Shoutouts

  • Thanks to Bokeh because hover would not exist without linked plots and callbacks, or be nearly as good without embeddable server apps.
  • Thanks to Philip Vollet for sharing hover with the community even when it was really green.

Contributing

  • All feedbacks are welcome, especially what you find lacking and want it fixed!
  • ./requirements-dev.txt lists required packages for development.
  • Pull requests are advised to use a superset of the pre-commit hooks listed in .pre-commit-config.yaml.

Citation

If you have found hover useful to your work, please let us know πŸ€—

@misc{hover,
  title={{hover}: label data at scale},
  url={https://github.com/phurwicz/hover},
  note={Open software from https://github.com/phurwicz/hover},
  author={
    Pavel Hurwicz and
    Haochuan Wei},
  year={2021},
}

About

:speedboat: Label data at scale. Fun and precision included.

https://phurwicz.github.io/hover

License:MIT License


Languages

Language:Python 82.3%Language:Jupyter Notebook 17.7%