You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Star1 (1)You must be signed in to star a repository
About
Open-source machine learning visualization platform for learning algorithms from first principles. Interactive decision boundaries, real scikit-learn computation, hyperparameter tuning, and training animations.
Confluence is a hands-on way to learn machine learning. Pick an algorithm and a dataset, move the sliders, and watch the decision boundary change in front of you. Everything runs on real scikit-learn, so what you see is what the model actually does.
38 algorithms across classification, regression, clustering, and dimensionality reduction. 25 datasets (13 real-world ones from Kaggle, 12 synthetic). Training animations, explanations for individual predictions, and side-by-side comparison.
Most ML visualization tools fall into one of two traps:
Trap
Example
Problem
Toy and shallow
TensorFlow Playground, CodePen demos
Client-side-only math, covers 3-4 algorithms, no regression/clustering/dim-reduction
Static and academic
scikit-learn gallery, Distill.pub
Good math, zero interactivity, fixed datasets, no hyperparameter exploration
Confluence sits in the middle. It is one place to try things yourself, backed by real scikit-learn computation, covering all four algorithm families. You can compare models side by side, animate training step by step, and dig into why a boundary looks the way it does.
Core differentiators
┌─────────────────────────────────────────────────────────────────────────┐
│ 1. Boundary Taxonomy Algorithms tagged by geometric shape │
│ 2. Four Families, One UI Classification · Regression · Cluster │
│ 3. Real Computation Actual scikit-learn, not toy math │
│ 4. Training Playground Watch models learn step-by-step │
│ 5. Explain Every Prediction Decision paths, feature contributions │
│ 6. Algorithm Race Run multiple algorithms simultaneously │
│ 7. 25 Datasets Iris, Titanic, Housing, and more │
└─────────────────────────────────────────────────────────────────────────┘
Features
Visualization engine
Decision boundaries render as Canvas2D heatmaps with crisp contour overlays
Hyperparameter sliders update in real time, with debounced recompute (resolution 1-200)
Probability gradients, so you see confidence, not just class labels
3D mode through Three.js/react-three-fiber for GP uncertainty surfaces and embedding projections
PCA projection for high-dimensional datasets (>2 features) with explained variance labels
Feature scaling through StandardScaler for scale-sensitive algorithms (SVM, KNN, Logistic Regression, MLP)
Axis labels showing PC1/PC2 with variance percentages for PCA datasets
Legend with real dataset class names (e.g., Survived/Did Not Survive, Adelie/Chinstrap/Gentoo)
Larger points with white outlines and subtle transparency
Decision boundary contrast: a shadow pass plus a white line, so boundaries stay visible in every region
Projection canvas showing data in PC1 vs PC2 space
Scree plot with variance per component
Feature loadings showing which features contribute to each principal component
Cumulative variance explained
Code generator
Auto-generates Python code matching your current algorithm, dataset, and hyperparameters
Copy to clipboard or download as .py file
Updates automatically when you change configuration
Step-by-step tree builder
Animated tree construction: watch splits grow depth by depth
Tree visualization showing nodes, thresholds, Gini values, class counts
Synced with the decision boundary, so you see how each split changes it
ML roadmap
7 learning categories: Statistics, Linear Algebra, Optimization, Feature Engineering, Evaluation, Model Selection, Deployment
Each topic links to relevant Confluence features for hands-on practice
External resources for deeper learning
Other tools
Cross-validation with per-fold boundary visualization
Coefficient inspector for linear/tree models
Learning curves showing train vs. validation performance
Sensitivity heatmaps for hyperparameter interaction analysis
Boundary taxonomy explorer: filter algorithms by geometric boundary type
Algorithm encyclopedia: 38 algorithms with complexity, intuition, and SVG diagrams
Algorithm encyclopedia
There is a full encyclopedia built in: all 38 algorithms in one browsable reference, organized by family.
What the encyclopedia offers
Feature
Description
38 algorithm cards
Every algorithm across classification, regression, clustering, and dimensionality reduction, each with a one-line intuition, complexity notes, and boundary taxonomy tag
Organized by family
Algorithms are grouped into four families with clear visual separation: Classification, Regression, Clustering, and Dimensionality Reduction
Boundary taxonomy tags
Each algorithm is tagged by the geometric shape of its decision boundary: Linear, Tree-Based, Instance-Based, Margin/Kernel, Probabilistic, Neural, Boosting, and more
Search & filter
Instantly search algorithms by name or filter by family to find the right tool for your dataset
Complexity reference
Every card shows Big-O complexity for both fit and predict operations, helping you reason about scalability
SVG diagrams
Visual diagrams illustrate the intuition behind each algorithm's decision-making process
Interactive launch
Click any algorithm card to jump directly into the visualizer with that algorithm pre-selected
CSV upload: drag and drop any CSV, map columns to features/target
Custom points: click on canvas to place points with class labels
Data Generator Studio: generate datasets with configurable parameters
API reference
Base URL
Environment
URL
Local
http://localhost:8000
Docker
http://backend:8000
Production
https://your-api-domain.com
Endpoints
Health
GET /health
→ { "status": "ok", "version": "0.1.0" }
Classification (8 endpoints)
POST /api/classification/predict → PredictionResponse
POST /api/classification/metrics → ClassificationMetrics
POST /api/classification/cross-validation → CrossValidationResponse
POST /api/classification/coefficients → CoefficientResponse
POST /api/classification/learning-curve → LearningCurveResponse
POST /api/classification/sensitivity → SensitivityResponse
POST /api/classification/decision-path → DecisionPathResponse
GET /api/classification/datasets → DatasetListResponse
Regression (5 endpoints)
POST /api/regression/predict → RegressionResponse
POST /api/regression/metrics → RegressionMetricsResponse
POST /api/regression/learning-curve → LearningCurveResponse
POST /api/regression/cross-validation → CrossValidationResponse
GET /api/regression/datasets → DatasetListResponse
Clustering (3 endpoints)
POST /api/clustering/predict → ClusteringResponse
POST /api/clustering/elbow → ClusteringElbowResponse
GET /api/clustering/datasets → DatasetListResponse
Dimensionality Reduction (2 endpoints)
POST /api/dim-reduction/reduce → DimReductionResponse
GET /api/dim-reduction/algorithms → AlgorithmListResponse
Datasets (4 endpoints)
POST /api/datasets/upload → UploadResponse
POST /api/datasets/map-columns → ColumnMappingResponse
POST /api/datasets/custom → CustomPointsResponse
POST /api/datasets/recommend → RecommendResponse
Datasets V2 (4 endpoints)
GET /api/datasets/v2/datasets → DatasetListV2Response
GET /api/datasets/v2/datasets/{name} → DatasetDetailV2Response
GET /api/datasets/v2/categories → CategoryListResponse
POST /api/datasets/v2/generate → GeneratorResponse
Explain (3 endpoints)
POST /api/explain/prediction → ExplainPredictionResponse
POST /api/explain/metric → ExplainMetricResponse
POST /api/explain/learning-tip → LearningTipResponse
Training (1 endpoint + 2 WebSockets)
POST /api/training/wrong-predictions → WrongPredictionsResponse
WS /ws/training-playground → Training frames with loss/weights
WS /ws/tree-build → Tree construction steps
Compare (2 endpoints + 1 WebSocket)
POST /api/compare/hyperparameter-comparison → HyperparamComparisonResponse
POST /api/compare/benchmark → BenchmarkResponse
WS /ws/compare/race → Algorithm race frames
Tools (3 endpoints)
POST /api/tools/pca-explore → PCAResponse
POST /api/tools/generate-code → CodeResponse
make typecheck # Frontend TypeScript type checking
make lint # Frontend ESLint
make test-backend # Backend pytest (60 tests)
make install # Install all dependencies
Open-source machine learning visualization platform for learning algorithms from first principles. Interactive decision boundaries, real scikit-learn computation, hyperparameter tuning, and training animations.