Available Components#

Symphony contains a number of default components that can get you started with data and model analysis. These can be installed using pip install package_name, and passed into Symphony using symph.widget(ComponentName).

Component

Description

Package

Binary Confusion Matrix

A simple binary confusion matrix widget that takes into account a class and a label column of a Symphony table.

Additional parameters for the spec of this widget are:

  • label_column

  • prediction_column

pip install symphony_binary_confusion_matrix

To learn how to use Symphony, see the documentation.

To learn about how to build Symphony from source and how to contribute to the framework, please look at CONTRIBUTING.md and the development documentation.

symphony_binary_confusion_matrix

Data Map

A rendered map where landmarks are colored by another variable. To configure the map, the spec of this component is defined as follows:

@dataclass
class DataMapSpec(WidgetSpec):
    projection: str
    id_map: dict
    feature: str
    id_column: str
    map_url: str

The projection is a vega-projection, the id_map maps names to multiple id in a TopoJSON, the feature defines what column to color by, the id_column defines where names are to be found, and the map_url provides a link to the appropriate TopoJSON.

pip install symphony_data_map

To learn how to use Symphony, see the documentation.

To learn about how to build Symphony from source and how to contribute to the framework, please look at CONTRIBUTING.md and the development documentation.

symphony_data_map

Duplicates

A component that displays data duplicates based on a column prefixed duplicates_. This column must contain lists of numbers that signal which duplicate group an item belongs to.

pip install symphony_duplicates

To learn how to use Symphony, see the documentation.

To learn about how to build Symphony from source and how to contribute to the framework, please look at CONTRIBUTING.md and the development documentation.

symphony_duplicates

FairVis

A component that can compare subgroups of data across different metrics, originally introduced to address machine learning fairness problems. The component is based on the ClassificationSpec, but requires as additional arguments:

  • prediction_column

  • label_column

pip install symphony_fairvis

To learn how to use Symphony, see the documentation.

To learn about how to build Symphony from source and how to contribute to the framework, please look at CONTRIBUTING.md and the development documentation.

symphony_fairvis

Familiarity

A component that displays how familiar certain data points are within a dataset. This is useful for finding outliers and common instances. The familiarity metric is based on a column prefixed familiarity_, which must contain a number that indicates the familiarity value.

pip install symphony_familiarity

To learn how to use Symphony, see the documentation.

To learn about how to build Symphony from source and how to contribute to the framework, please look at CONTRIBUTING.md and the development documentation.

symphony_familiarity

Hierarchical Confusion Matrix

A hierarchical confusion matrix based on the ClassificationSpec, which requires as additional arguments:

  • prediction_column

  • label_column

pip install symphony_hierarchical_confusion_matrix

To learn how to use Symphony, see the documentation.

To learn about how to build Symphony from source and how to contribute to the framework, please look at CONTRIBUTING.md and the development documentation.

symphony_hierarchical_confusion_matrix

List

A list view that displays all data instances, which is useful for exploring data with Symphony’s built in filters and grouping interactions.

pip install symphony_list

To learn how to use Symphony, see the documentation.

To learn about how to build Symphony from source and how to contribute to the framework, please look at CONTRIBUTING.md and the development documentation.

symphony_list

Markdown

A component to render HTML from markdown files. The provided markdown can be edited within the component.

pip install symphony_markdown

To learn how to use Symphony, see the documentation.

To learn about how to build Symphony from source and how to contribute to the framework, please look at CONTRIBUTING.md and the development documentation.

symphony_markdown

Scatterplot

A scatterplot visualization based on regl. Useful for visualizing embeddings that have been been reduced to two dimensions. Visualizes data based on columns prefixed with projection_, with one column ending in _x and another ending in _y, e.g., projection_my_reduced_coordinate_x and projection_my_reduced_coordinate_y.

pip install symphony_scatterplot

To learn how to use Symphony, see the documentation.

To learn about how to build Symphony from source and how to contribute to the framework, please look at CONTRIBUTING.md and the development documentation.

symphony_scatterplot

Summary

A component that displays an overview of the provided dataset table. To configure it, pass a list of SummaryElement. One SummaryElement is defined as:

export interface SummaryElement {
    name: string;
    data: number | ChartData;
}

ChartData is defined as:

export interface ChartData {
    spec: VegaLiteSpec;
    data: Record<string, unknown>;
}
pip install symphony_summary

To learn how to use Symphony, see the documentation.

To learn about how to build Symphony from source and how to contribute to the framework, please look at CONTRIBUTING.md and the development documentation.

symphony_summary

Vega

A Vega component that displays a list of Vega-Lite specs. Specs can be provided via the prop vega_elements. If you want to access data from the table, simply provide "values": "arrow_table" to the data property of the Vega spec.

pip install symphony_vega

To learn how to use Symphony, see the documentation.

To learn about how to build Symphony from source and how to contribute to the framework, please look at CONTRIBUTING.md and the development documentation.

symphony_vega