MLens is an interactive web application for visualizing machine learning algorithms, built with Three.js and React. This application serves as a supplementary learning material for students interested in machine learning, providing intuitive visual understanding of selected algorithms.
Visit https://mlens.wittlinger.dev to see the application in action.
- Interactive 2D and 3D visualizations of machine learning algorithms
- Step-by-step execution with detailed explanations
- Configurable algorithm parameters
- Mobile-friendly responsive design
- Currently implemented algorithms:
- K-means Clustering
- Linear Regression
- Support Vector Machines (SVM)
- Feed Forward Neural Network (FFNN)
- Autoencoder
- XGBoost
- TypeScript
- React
- Next.js
- Three.js
- React Three Fiber
- TailwindCSS
- ShadCN UI
- Docker
- Docker (v20.10.0 or higher)
Make sure that ports 3000 and 8000 are available on your machine.
-
Navigate to the root of the repository
-
Build and run with Docker
docker compose up
-
Open http://localhost:3000 in your browser
apps/
└── web/ # Next.js web application
└── api/ # Supplementary Python API
packages/
├── algorithms/ # Algorithm implementations and core logic
├── eslint-config/ # ESLint configuration files
├── typescript-config/ # TypeScript configuration files
└── ui/ # Reusable UI components and hooks
The application is designed to be extensible. To add a new algorithm with a certain {slug}
- Create a new file for the algorithm in
packages/algorithms/impl/{slug}/{slug}
- Implement the
AlgorithmDefinition
interface - Add algorithm's metadata to the registry in
packages/algorithms/impl/index.ts
See existing algorithm implementations for examples.
This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.
This application was created as part of a bachelor's thesis at Faculty of Informatics, Masaryk University.