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]
SilhouettePlotExplorerLoad 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
SilhouettePlotExplorerCompute 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'
SilhouettePlotExplorerExtend 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
SilhouettePlotExplorerSave 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)
ConfigObjectResolve 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]
BaseExplorerGet 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
ConfigObjectGenerates the component related Json Schema.
Returns
- dict
- Dictionary representing the Json Schema of the component.
set_context(self, context: Dict[str, Any]) -> None
BaseExplorerSet optional runtime context for explorers that need extra inputs.
validate_and_transform(self, raw_data: dict) -> dict
ConfigObjectIt 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
BaseExplorerValidate 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
BaseExplorerValidate 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.