Home

Awesome

Hover

Explore and label on a map of your data.

Get enough to feed your model in no time.

en zh

PyPI Version Conda Version Downloads Main Build Status Nightly Build Status Codacy Grade Codacy Coverage

hover is a tool for mass-labeling data points that can be represented by vectors.

GIF Demo

:rocket: Live Demos

With code

Without code

:sparkles: Features

It's fast because it labels data in bulk.

:telescope: A semantic scatter plot of your data for labeling, equipped with

<details open> <summary> <b>Tooltip</b> for each point on mouse hover </summary> <img src="https://raw.githubusercontent.com/phurwicz/hover-gallery/main/0.7.0/image-tooltip.gif"> </details> <details> <summary> Table view for <b>inspecting selected</b> points </summary> <img src="https://raw.githubusercontent.com/phurwicz/hover-gallery/main/0.7.0/selection-table.gif"> </details> <details> <summary> Toggle buttons that clearly <b>distinguish data subsets</b> </summary> <img src="https://raw.githubusercontent.com/phurwicz/hover-gallery/main/0.7.0/subset-toggle.gif"> </details> <details> <summary> <b>Search</b> widgets for ad-hoc data highlight </summary> <img src="https://raw.githubusercontent.com/phurwicz/hover-gallery/main/0.7.0/text-search-response.gif"> </details>

It's accurate because multiple components work together.

:microscope: Supplementary views to use in conjunction with the annotator, including

<details> <summary> `Finder`: <b>filter</b> data by search criteria</summary> <img src="https://raw.githubusercontent.com/phurwicz/hover-gallery/main/0.7.0/finder-filter.gif"> </details> <details> <summary> `SoftLabel`: <b>active learning</b> by in-the-loop model prediction score</summary> <img src="https://raw.githubusercontent.com/phurwicz/hover-gallery/main/0.7.0/active-learning.gif"> </details> <details> <summary> `Snorkel`: <b>custom functions</b> for labeling and filtering</summary> <img src="https://raw.githubusercontent.com/phurwicz/hover-gallery/main/0.7.0/labeling-function.gif"> </details>

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

:toolbox: Additional tools and options that allow you to

<details> <summary> Go to <b>higher dimensions</b> (3D? 4D?) and choose your xy-axes </summary> <img src="https://raw.githubusercontent.com/phurwicz/hover-gallery/main/0.7.0/change-axes.gif"> </details> <details> <summary> <b>Consecutively select</b> across areas, dimensions, and views</summary> <img src="https://raw.githubusercontent.com/phurwicz/hover-gallery/main/0.7.0/keep-selecting.gif"> </details> <details> <summary> <b>Kick outliers</b> and <b>fix mistakes</b></summary> <img src="https://raw.githubusercontent.com/phurwicz/hover-gallery/main/0.7.0/evict-and-patch.gif"> </details>

:package: Install

Python: 3.8+

OS: Linux & Mac & Windows

PyPI: pip install hover

Conda: conda install -c conda-forge hover

:book: Resources

:flags: Announcements

:bell: Remarks

Shoutouts

Contributing

Citation

If you have found hover useful to your work, please let us know :hugs:

@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},
}