spotlight
spotlight copied to clipboard
Interactively explore unstructured datasets from your dataframe.
Renumics Spotlight
Interactively explore unstructured datasets from your dataframe.
Documentation âĸ Playbook âĸ Blog âĸ API Reference
Spotlight helps you to understand unstructured datasets fast. You can quickly create interactive visualizations and leverage data enrichments (e.g. embeddings, prediction, uncertainties) to identify critical clusters in your data.
Spotlight supports most unstructured data types including images, audio, text, videos, time-series and geometric data. You can start from your existing dataframe:

And start Spotlight with just a few lines of code:
from renumics import spotlight
spotlight.show(df, dtype={"image": spotlight.Image, "embedding": spotlight.Embedding})
đ Start with a use case
Machine learning and engineering teams use Spotlight to understand and communicate on complex unstructured data problems. Here are some examples on publicly available datasets along with code snippets (đ¨âđģ), interactive demos (đšī¸) and blog articles (đ):
| Modality | Task | Description | Link |
|---|---|---|---|
| đŧī¸ Image | [Classification] | Find Issues in Any Image Classification Dataset | đ¨âđģ đ đšī¸ |
| Find data issues in the CIFAR-100 image dataset | đšī¸ | ||
| Fine-tuning image classification models from Bing image search | đ¨âđģđ | ||
| đ Audio | [Classification] | Find Issues in Any Audio Classification Dataset | đ¨âđģ đđšī¸ |
| Debug pre-trained gender detection models on the emodb dataset | đ đšī¸ | ||
| Compare gender detection models on the emodb dataset | đ đšī¸ | ||
| đ Text | [Classification] | Find Issues in Any Text Classification Dataset | đ¨âđģ đ |
| đđŧī¸ Mixed | [EDA] | Explore results from the Formula1 Montreal 2023 GP | đšī¸ |
| Explore a crash simulation dataset | đšī¸ |
âąī¸ Quickstart
Get started by installing Spotlight and loading your first dataset.
What you'll need
- Python version 3.8-3.11
Install Spotlight via pip
pip install renumics-spotlight
We recommend installing Spotlight and everything you need to work on your data in a separate virtual environment.
Load a dataset and start exploring
import pandas as pd
from renumics import spotlight
df = pd.read_csv("https://renumics.com/data/mnist/mnist-tiny.csv")
spotlight.show(df, dtype={"image": spotlight.Image})
pd.read_csv loads a sample csv file as a pandas DataFrame.
spotlight.show opens up spotlight in the browser with the pandas dataframe ready for you to explore. The dtype argument specifies custom column types for the browser viewer.
Load a Hugging Face audio dataset with embeddings and a pre-defined layout
import datasets
from renumics import spotlight
ds = datasets.load_dataset('renumics/emodb-enriched', split='all')
layout= spotlight.layouts.debug_classification(label='gender', prediction='m1_gender_prediction', embedding='m1_embedding', features=['age', 'emotion'])
spotlight.show(ds, layout=layout)
Here, the data types are discovered automatically from the dataset and we use a pre-defined layout for model debugging. Custom layouts can be built programmatically or via the UI.
The
datasets[audio]package can be installed via pip.
Usage Tracking
We have added crash report and performance collection. We do NOT collect user data other than an anonymized Machine Id obtained by py-machineid, and only log our own actions. We do NOT collect folder names, dataset names, or row data of any kind only aggregate performance statistics like total time of a table_load, crash data, etc. Collecting Spotlight crashes will help us improve stability. To opt out of the crash report collection define an environment variable called SPOTLIGHT_OPT_OUT and set it to true. e.G.export SPOTLIGHT_OPT_OUT=true
We are very happy to hear your feedback
- Open an issue on Github
- Have a coffee talk with us
- Join our channel on Discord
Learn more about unstructured data workflows
- đ¤ Huggingface example spaces and datasets
- đ Playbook for data-centric AI workflows
- đ° Sliceguard library for automatic slice detection
Contribute
We are currently participating in the running Hacktoberfest 2023.
If you would like to contribute to Spotlight, the easiest way is to have a look at our Contribution Docs and the CONTRIBUTING.md.
We are also equally happy about non-code contributions -- whether it's reporting bugs, suggesting features, contributing design ideas, or offering feedback, every non-code contribution is highly valued and helps make our project better for everyone.
