Core ML algorithm implementations with GPU acceleration. Featuring optimized implementations across various libraries with comprehensive analysis.
Features β’ Installation β’ Quick Start β’ Documentation β’ Contributing
- Features
- Project Structure
- Prerequisites
- Installation
- Quick Start
- Documentation
- Contributing
- Versioning
- Authors
- Citation
- License
- Acknowledgments
- Classical ML algorithm implementations
- GPU-accelerated training
- Performance optimization techniques
- Comparative analysis tools
- Interactive examples and tutorials
graph TD
A[ml-algorithm-playground] --> B[algorithms]
A --> C[optimization]
A --> D[examples]
A --> E[benchmarks]
B --> F[supervised]
B --> G[unsupervised]
B --> H[ensemble]
C --> I[gpu]
C --> J[parallel]
D --> K[notebooks]
D --> L[tutorials]
E --> M[performance]
E --> N[comparison]
Click to expand full directory structure
ml-algorithm-playground/
βββ algorithms/ # Algorithm implementations
β βββ supervised/ # Supervised learning
β βββ unsupervised/ # Unsupervised learning
β βββ ensemble/ # Ensemble methods
βββ optimization/ # Optimization utilities
β βββ gpu/ # GPU acceleration
β βββ parallel/ # Parallel processing
βββ examples/ # Example implementations
βββ benchmarks/ # Performance tests
βββ tests/ # Unit tests
βββ README.md # Documentation
- Python 3.8+
- CUDA 11.8+
- scikit-learn 1.3+
- XGBoost 2.0+
- NVIDIA GPU (optional)
# Clone repository
git clone https://github.com/BjornMelin/ml-algorithm-playground.git
cd ml-algorithm-playground
# Create environment
python -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
from ml_playground import algorithms, optimization
# Initialize model with GPU support
model = algorithms.GradientBoosting(
gpu_acceleration=True,
n_estimators=100
)
# Train model with automatic optimization
trained_model = optimization.train_with_gpu(
model,
X_train,
y_train,
optimization_level='O2'
)
# Make predictions
predictions = trained_model.predict(X_test)
Algorithm | Type | GPU Support | Performance Gain |
---|---|---|---|
XGBoost | Gradient Boosting | β | 10x |
K-Means | Clustering | β | 5x |
SVM | Classification | β | 8x |
Random Forest | Ensemble | β | 4x |
- GPU acceleration
- Multi-threading
- Memory optimization
- CUDA kernels
Algorithm performance comparison:
Dataset Size | Algorithm | CPU Time | GPU Time | Speedup |
---|---|---|---|---|
1M samples | XGBoost | 45s | 5s | 9x |
500K samples | K-Means | 30s | 6s | 5x |
2M samples | Random Forest | 120s | 30s | 4x |
We use SemVer for versioning. For available versions, see the tags on this repository.
Bjorn Melin
- GitHub: @BjornMelin
- LinkedIn: Bjorn Melin
@misc{melin2024mlalgorithmplayground,
author = {Melin, Bjorn},
title = {ML Algorithm Playground: GPU-Accelerated Machine Learning Implementations},
year = {2024},
publisher = {GitHub},
url = {https://github.com/BjornMelin/ml-algorithm-playground}
}
This project is licensed under the MIT License - see the LICENSE file for details.
- scikit-learn developers
- XGBoost team
- NVIDIA for CUDA support
- Open source ML community
Made with π§ͺ and β€οΈ by Bjorn Melin