# namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut architecture

> Architecture diagram of the GitHub repository namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut
- Repository: https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut

## Overview

SS-FFGC is a notebook-based semi-supervised clustering research project. Its documented workflow prepares datasets and labeled anchors, builds an RBF anchor graph, alternates cluster-center and soft-membership updates while fixing labeled rows, then compares clustering results and produces plots. The README describes these stages and outputs; notebook internals were not available to verify finer-grained calls.

Main entry points: [`SS_FFGC.ipynb`](https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb) (Experiment Notebook), [`outputs`](https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/tree/main/outputs) (Generated Results)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data["Data Preparation"]
  node_notebook["Experiment Notebook<br/>[SS_FFGC.ipynb]"]
  node_datasets["Benchmark Datasets<br/>[SS_FFGC.ipynb]"]
  node_anchors["Labeled Anchors<br/>[SS_FFGC.ipynb]"]
  node_features["COIL Features<br/>[SS_FFGC.ipynb]"]
end

subgraph group_algorithm["Clustering Algorithm"]
  node_anchor_graph["RBF Anchor Graph<br/>[SS_FFGC.ipynb]"]
  node_centers["Center Update<br/>[SS_FFGC.ipynb]"]
  node_memberships["Soft Membership Update<br/>[SS_FFGC.ipynb]"]
  node_simplex["Simplex Projection<br/>[SS_FFGC.ipynb]"]
  node_constraints["Hard Label Constraints<br/>[SS_FFGC.ipynb]"]
  node_convergence["Convergence Check<br/>[SS_FFGC.ipynb]"]
end

subgraph group_evaluation["Experiments"]
  node_baselines["Clustering Baselines<br/>[SS_FFGC.ipynb]"]
  node_predictions["Cluster Predictions<br/>[SS_FFGC.ipynb]"]
  node_metrics["ACC NMI ARI Timing<br/>[SS_FFGC.ipynb]"]
  node_plots["Result Charts<br/>[SS_FFGC.ipynb]"]
  node_outputs["Generated Results"]
end

node_researcher(("Researcher"))

node_researcher -->|"runs experiments"| node_notebook
node_notebook -->|"prepares data"| node_datasets
node_notebook -->|"selects labels"| node_anchors
node_notebook -->|"extracts features"| node_features
node_anchors -->|"provides anchors"| node_anchor_graph
node_datasets -->|"provides points"| node_anchor_graph
node_features -->|"provides vectors"| node_anchor_graph
node_anchor_graph -->|"provides graph"| node_centers
node_centers -->|"updates centers"| node_memberships
node_memberships -->|"projects scores"| node_simplex
node_simplex -->|"returns memberships"| node_constraints
node_constraints -->|"checks change"| node_convergence
node_convergence -->|"repeats until converged"| node_centers
node_convergence -->|"yields memberships"| node_predictions
node_notebook -->|"runs comparisons"| node_baselines
node_predictions -->|"evaluates clusters"| node_metrics
node_baselines -->|"compares results"| node_metrics
node_metrics -->|"summarizes results"| node_plots
node_plots -->|"writes charts"| node_outputs

click node_notebook "https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb"
click node_datasets "https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb"
click node_anchors "https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb"
click node_features "https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb"
click node_anchor_graph "https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb"
click node_centers "https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb"
click node_memberships "https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb"
click node_simplex "https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb"
click node_constraints "https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb"
click node_convergence "https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb"
click node_baselines "https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb"
click node_predictions "https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb"
click node_metrics "https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb"
click node_plots "https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb"
click node_outputs "https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/tree/main/outputs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_notebook,node_datasets,node_anchors,node_features toneBlue
class node_anchor_graph,node_centers,node_memberships,node_simplex,node_constraints,node_convergence toneAmber
class node_baselines,node_predictions,node_metrics,node_plots,node_outputs toneMint
class node_researcher toneIndigo
```

## Components

### Data Preparation

- [Experiment Notebook](https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb): `SS_FFGC.ipynb`
- [Benchmark Datasets](https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb): `SS_FFGC.ipynb`
- [Labeled Anchors](https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb): `SS_FFGC.ipynb`
- [COIL Features](https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb): `SS_FFGC.ipynb`

### Clustering Algorithm

- [RBF Anchor Graph](https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb): `SS_FFGC.ipynb`
- [Center Update](https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb): `SS_FFGC.ipynb`
- [Soft Membership Update](https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb): `SS_FFGC.ipynb`
- [Simplex Projection](https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb): `SS_FFGC.ipynb`
- [Hard Label Constraints](https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb): `SS_FFGC.ipynb`
- [Convergence Check](https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb): `SS_FFGC.ipynb`

### Experiments

- [Clustering Baselines](https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb): `SS_FFGC.ipynb`
- [Cluster Predictions](https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb): `SS_FFGC.ipynb`
- [ACC NMI ARI Timing](https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb): `SS_FFGC.ipynb`
- [Result Charts](https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/blob/main/SS_FFGC.ipynb): `SS_FFGC.ipynb`
- [Generated Results](https://github.com/namanhvu29/ss-ffgc-semi-supervised-fast-fuzzy-graph-cut/tree/main/outputs): `outputs`

### Other components

- **Researcher**

## Connections

- Researcher → Experiment Notebook: runs experiments
- Experiment Notebook → Benchmark Datasets: prepares data
- Experiment Notebook → Labeled Anchors: selects labels
- Experiment Notebook → COIL Features: extracts features
- Labeled Anchors → RBF Anchor Graph: provides anchors
- Benchmark Datasets → RBF Anchor Graph: provides points
- COIL Features → RBF Anchor Graph: provides vectors
- RBF Anchor Graph → Center Update: provides graph
- Center Update → Soft Membership Update: updates centers
- Soft Membership Update → Simplex Projection: projects scores
- Simplex Projection → Hard Label Constraints: returns memberships
- Hard Label Constraints → Convergence Check: checks change
- Convergence Check → Center Update: repeats until converged
- Convergence Check → Cluster Predictions: yields memberships
- Experiment Notebook → Clustering Baselines: runs comparisons
- Cluster Predictions → ACC NMI ARI Timing: evaluates clusters
- Clustering Baselines → ACC NMI ARI Timing: compares results
- ACC NMI ARI Timing → Result Charts: summarizes results
- Result Charts → Generated Results: writes charts
