Skip to main content

SilhouettePlotExplorer

Explorer
DashAI.back.exploration.explorers.SilhouettePlotExplorer

Per-sample silhouette diagram coloured by cluster.

Recomputes the silhouette coefficient for every sample using sklearn.metrics.silhouette_samples and renders a horizontal silhouette plot: each cluster occupies a vertical band, bars extend right (positive) or left (negative) according to each sample's score, and a vertical dashed line marks the dataset mean silhouette score.

The plot reveals poorly separated clusters (many samples with low or negative silhouette), uneven cluster sizes, and samples that may be mis-assigned.

Noise points produced by density-based algorithms (label -1) are shown as a separate "Noise" band but are excluded from the mean score.

Requires at least two valid (non-noise) clusters. Select the same numeric feature columns that were used to fit the clustering algorithm.

Methods​

get_results(self, exploration_path: str, options: Dict[str, Any]) -> Dict[str, Any]

Defined on SilhouettePlotExplorer

Load the saved silhouette figure and return it for the frontend.

Parameters

exploration_path : str
Path to the JSON file saved by save_notebook.
options : Dict[str, Any]
Rendering options from the frontend (unused).

Returns

Dict[str, Any]
Dictionary with keys "data" (JSON-serialised Plotly figure), "type" ("plotly_json"), and "config" (empty dict).

launch_exploration(self, dataset: 'DashAIDataset', explorer_info: DashAI.back.dependencies.database.models.Explorer) -> Any

Defined on SilhouettePlotExplorer

Compute per-sample silhouette scores and render a horizontal silhouette plot.

Parameters

dataset : DashAIDataset
Dataset with the selected feature columns and the cluster label column (injected by prepare_dataset). The feature columns should be the same ones used to fit the clustering algorithm.
explorer_info : Explorer
Explorer record with column descriptors and optional custom title.

Returns

plotly.graph_objects.Figure
A horizontal silhouette diagram.

prepare_dataset(self, loaded_dataset: 'DashAIDataset', columns: List[Dict[str, Any]]) -> 'DashAIDataset'

Defined on SilhouettePlotExplorer

Extend column selection to include the cluster label column.

Parameters

loaded_dataset : DashAIDataset
The full dataset.
columns : List[Dict[str, Any]]
Explicitly selected column descriptors (numeric feature columns that were used to fit the clustering algorithm).

Returns

DashAIDataset
Dataset restricted to the selected feature columns plus the cluster label column.

save_notebook(self, notebook_info: DashAI.back.dependencies.database.models.Notebook, explorer_info: DashAI.back.dependencies.database.models.Explorer, save_path: 'Path', result: Any) -> str

Defined on SilhouettePlotExplorer

Save the silhouette figure to disk as a JSON file.

Parameters

notebook_info : Notebook
The notebook database record (unused).
explorer_info : Explorer
The explorer record used for filename generation.
save_path : Path
Directory where the file will be saved.
result : Any
The Plotly figure returned by launch_exploration.

Returns

str
The path of the saved JSON file as a POSIX string.

get_credential(self, name: str)

Defined on ConfigObject

Resolve a registered credential component by name.

Parameters

name : str
Credential component class name (e.g. "HuggingFaceCredential").

Returns

BaseCredential
An instance of the requested credential component.

get_metadata(cls) -> Dict[str, Any]

Defined on BaseExplorer

Get metadata for the explorer, used by the DashAI frontend.

Returns

Dict[str, Any]
Dictionary containing display name, description, image preview path, category, icon, color, allowed semantic types, allowed dtypes, input cardinality constraints, and any optional capability flags declared by the explorer.

get_schema(cls) -> dict

Defined on ConfigObject

Generates the component related Json Schema.

Returns

dict
Dictionary representing the Json Schema of the component.

set_context(self, context: Dict[str, Any]) -> None

Defined on BaseExplorer

Set optional runtime context for explorers that need extra inputs.

validate_and_transform(self, raw_data: dict) -> dict

Defined on ConfigObject

It takes the data given by the user to initialize the model and returns it with all the objects that the model needs to work.

Parameters

raw_data : dict
A dictionary with the data provided by the user to initialize the model.

Returns

dict
A validated dictionary with the necessary objects.

validate_columns(cls, explorer_info: DashAI.back.dependencies.database.models.Explorer, column_spec: Dict[str, Dict[str, str]]) -> bool

Defined on BaseExplorer

Validate that the selected columns satisfy the explorer's constraints.

Parameters

explorer_info : Explorer
The database record for the explorer instance, including the selected columns.
column_spec : Dict[str, Dict[str, str]]
A mapping from column name to a dict with at least "type" (semantic type name) and "dtype" (dtype string).

Returns

bool
True if all column constraints are satisfied, False otherwise.

validate_parameters(cls, params: Dict[str, Any]) -> bool

Defined on BaseExplorer

Validate explorer parameters against the explorer's schema.

Parameters

params : Dict[str, Any]
The configuration parameters to validate.

Returns

BaseExplorerSchema
The validated and parsed schema instance. Subclasses that override this method may return a bool to indicate pass/fail without returning the model instance.