https://github.com/bzubs/mlzero
Implementation of widely used ML algorithms in vanilla python
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.2%) to scientific vocabulary
Keywords
Repository
Implementation of widely used ML algorithms in vanilla python
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
MLZero: Machine Learning from Scratch
Overview
MLZero is a Python library providing a collection of machine learning algorithms implemented from scratch. The goal is to offer a clear, educational codebase for understanding the fundamentals of machine learning, with practical driver scripts and a modular design for easy extension.
Features
- Classifiers: Perceptron, AdaLine, Logistic Regression, k-Nearest Neighbors (kNN), Naive Bayes, Softmax Regression
- Clusterers: K-Means clustering algorithm
- Regressors: Linear regression (closed-form and gradient descent), L1 (Lasso) and L2 (Ridge) regularization, ElasticNet, polynomial regression, multiple variable regression
- Small Neural Nets: Basic implementation of a multi-neuron layer
- Decomposers: Principal Component Analysis (PCA)
- Metrics: Regression and classification metrics (MAE, MSE, R², accuracy, precision, recall, F1, etc.)
Requirements
To run this project, you need the following Python libraries:
numpymatplotlibfor plotting purpose not necessary otherwise, recommended to have installed
Install the dependencies using:
bash
pip install -r requirements.txt
Directory Structure
mlzero/
├── classifiers/ # Classification algorithms and driversC/
├── clusterers/ # Clustering algorithms and driversK/
├── regressors/ # Regression algorithms and driversR/
├── decomposers/ # Dimensionality reduction and driversD/
├── metrics/ # Regression and classification metrics
├── small_neural_net/ # Multi-neuron layer implementations
└── requirements.txt # Dependencies list
Usage
Each algorithm has a corresponding driver script in its drivers subdirectory. For example:
Run the ElasticNet regressor:
bash
python regressors/driversR/driverElasticNet.py
Run the kNN classifier:
bash
python classifiers/driversC/driverKNNClassifier.py
Development Status
MLZero is under active development. The codebase is modular and designed for educational purposes. Contributions for new algorithms, bug fixes, and documentation improvements are welcome.
Contributing
Contributions are welcome! Feel free to fork the repo, submit issues, or open pull requests. Please ensure your code is well-documented and tested before submitting.
License
This project is licensed under the MIT License.
Owner
- Name: Bzubs
- Login: bzubs
- Kind: user
- Repositories: 4
- Profile: https://github.com/bzubs
Just a guy getting into ML, trying to build things from scratch to get the hood off Deep Learning. Dont like abstractions.
GitHub Events
Total
- Push event: 2
- Create event: 2
Last Year
- Push event: 2
- Create event: 2
Issues and Pull Requests
Last synced: 6 months ago
Packages
- Total packages: 1
-
Total downloads:
- pypi 321 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 3
- Total maintainers: 1
pypi.org: mlzero
Machine Learning from Scratch - Educational Python Library
- Homepage: https://github.com/bzubs/MLzero
- Documentation: https://mlzero.readthedocs.io/
- License: MIT
-
Latest release: 0.1.2
published 8 months ago
Rankings
Maintainers (1)
Dependencies
- Matplotlib-forplottingcurvesandvisaulization *
- Numpy-forarraycalculations *
- PythonLibrariesforMLareamustforimplementingtheseinyourenvironment *
- sk-learn =forgeneratingtoydatasetsinsomecase