https://github.com/bzubs/mlzero

Implementation of widely used ML algorithms in vanilla python

https://github.com/bzubs/mlzero

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

machine-learning machine-learning-algorithms machinelearning numpy python statistics
Last synced: 5 months ago · JSON representation

Repository

Implementation of widely used ML algorithms in vanilla python

Basic Info
  • Host: GitHub
  • Owner: bzubs
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 172 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
machine-learning machine-learning-algorithms machinelearning numpy python statistics
Created 10 months ago · Last pushed 8 months ago
Metadata Files
Readme

README.md

MLZero: Machine Learning from Scratch

PyPI version License: MIT

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:

  • numpy
  • matplotlib for 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

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

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 4
  • Total Committers: 1
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 4
  • Committers: 1
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
bzubs 1****s 4

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

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 321 Last month
Rankings
Dependent packages count: 9.0%
Average: 29.8%
Dependent repos count: 50.7%
Maintainers (1)
Last synced: 6 months ago

Dependencies

requirements.txt pypi
  • Matplotlib-forplottingcurvesandvisaulization *
  • Numpy-forarraycalculations *
  • PythonLibrariesforMLareamustforimplementingtheseinyourenvironment *
  • sk-learn =forgeneratingtoydatasetsinsomecase