Skip to main content

A collection of machine learning models implemented from scratch

Project description

InnoML

Overview

This package is a custom-built implementation of several foundational machine learning algorithms developed entirely from scratch, without reliance on libraries like scikit-learn. It provides an educational and practical resource for understanding and applying machine learning techniques at a granular level.

Implemented Algorithms

  1. Linear Regression
  2. Multiple Linear Regression
  3. Logistic Regression
  4. K-Nearest Neighbors (KNN)
  5. Decision Tree
  6. Random Forest

Features

  • Custom Implementation: All algorithms are implemented from first principles, ensuring transparency and understanding of the underlying mechanics.
  • Versatile: Supports both regression and classification tasks.
  • No External Dependencies: Built without using pre-existing ML libraries, providing full control over model behavior and implementation details.
  • Educational Resource: Ideal for those who want to learn the inner workings of machine learning algorithms.

Installation

Clone the repository to your local machine:

git clone https://github.com/SriramR123/InnoML.git
cd InnoML

No additional libraries are required beyond Python's standard libraries.


Usage

Example: Linear Regression

from InnoML.linear_regression import LinearRegression

# Example data
X = [[1], [2], [3], [4], [5]]
y = [2, 4, 6, 8, 10]

# Initialize and fit the model
model = LinearRegression()
model.fit(X, y)

# Make predictions
predictions = model.predict([[6], [7]])
print(predictions)  # Output: [12, 14]

Available Modules

Each algorithm is implemented in a separate module for clarity and modularity:

  • linear_regression.py: Implementation of simple and multiple linear regression.
  • logistic_regression.py: Logistic regression for binary classification.
  • knn.py: K-Nearest Neighbors for classification and regression.
  • decision_tree.py: Decision tree for classification and regression.
  • random_forest.py: Ensemble learning using Random Forest.

Contributing

Contributions are welcome! If you find a bug or have a feature request, feel free to open an issue or submit a pull request.

Steps to Contribute:

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature-name.
  3. Commit your changes: git commit -m 'Add feature name'.
  4. Push to the branch: git push origin feature-name.
  5. Open a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.


Contact

For questions or feedback, feel free to reach out:


Acknowledgements

This project is inspired by the desire to understand and implement machine learning algorithms at a foundational level. Special thanks to the open-source community for their resources and support.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

InnoML-0.1.0.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

InnoML-0.1.0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file InnoML-0.1.0.tar.gz.

File metadata

  • Download URL: InnoML-0.1.0.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.7

File hashes

Hashes for InnoML-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7761a4fdce5a718088257083002291abc9e578c9f379c26dd2da1fee849129c1
MD5 236256241e48586e4f44ea8ce951bb2b
BLAKE2b-256 6e54ca217f66d1b28169d54d096b9c512241eb2c2140a92685589583b6adaa45

See more details on using hashes here.

File details

Details for the file InnoML-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: InnoML-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.7

File hashes

Hashes for InnoML-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a190236b04cea47d845ef4c380f9632bc5aa8d39ecff5c3163850379dfaad4b3
MD5 0167e28200977b3c69dfa403194fd82a
BLAKE2b-256 262cfecba2fb291684cdf0dc8f06890405cdc9a6807fc528aaf3d38a10ef9190

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page