Thanks for your interest! Here's how to contribute.
Check the main README.md for the index table. Pick any algorithm marked ⬜.
Every algorithm folder must contain exactly:
<algorithm_name>/
├── README.md # follow the 12-section template
├── <algorithm_name>.py # from-scratch class with fit/predict
├── example.py # runnable demo
- Python 3.10+ with type hints
- NumPy only in the algorithm file (no scikit-learn, pytorch, etc.)
- scikit-learn is allowed only in
example.pyfor loading data or benchmarking - Class-based API:
.fit(X, y),.predict(X), and where relevant.predict_proba(X)/.transform(X) - NumPy-style docstrings
python example.pymust run and print output
All 12 sections must be filled in. The Interview Q&A section needs at least 4 questions.
- Fork the repo
- Create a branch:
git checkout -b add-<algorithm_name> - Add your files following the template
- Test:
python example.pyruns successfully - Open a pull request
- 4 spaces for indentation
- Max line length: 100 characters
- Descriptive variable names (not single letters, except standard math notation like X, y, w, b)