Beginner-friendly Machine Learning utility library built from scratch using pure Python
Project description
Custom_ML_Suite
Custom_ML_Suite is a beginner-friendly Machine Learning utility library built completely from scratch using pure Python.
This project focuses on understanding the mathematical foundations of Machine Learning by manually implementing core ML algorithms, preprocessing methods, distance metrics, activation functions, statistical operations, and evaluation metrics without using external ML libraries like scikit-learn.
Features
- Pure Python implementation
- Beginner-friendly code structure
- Mathematical formulas included
- Well-commented educational code
- Modular package structure
- ML utilities from scratch
- Edge-case handling
- Easy to understand and extend
Modules Included
1. activations.py
Activation functions used in neural networks.
Functions
- sigmoid()
- relu()
- tanh()
- softmax()
- log_loss()
2. distances.py
Distance and similarity metrics.
Functions
- euclidean_distance()
- manhattan_distance()
- minkowski_distance()
- cosine_similarity()
- hamming_distance()
3. preprocessing.py
Data preprocessing and scaling methods.
Functions
- standardization()
- mean()
- min_max_scaling()
- range()
- normalization()
4. stats.py
Basic statistical operations.
Functions
- mean()
- variance()
- std_dev()
- covariance()
- correlation()
5. metrics.py
Machine Learning evaluation metrics.
Functions
- accuracy_score()
- precision_score()
- recall_score()
- f1_score()
- confusion_matrix()
- mean_absolute_error()
- mean_squared_error()
- root_mean_squared_error()
- r2_score()
- binary_crossentropy()
6. model_selection.py
Dataset splitting and validation utilities.
Functions
- train_test_split()
- shuffle_data()
- batch_iterator()
- k_fold_split()
- stratified_split()
7. linear_model.py
Basic regression models and optimization.
Functions
- linear_regression()
- predict()
- gradient_descent()
- logistic_regression()
- logistic_update()
8. neighbors.py
K-Nearest Neighbors utilities.
Functions
- knn_distance()
- knn_predict()
- probability()
9. tree.py
Basic Decision Tree utilities.
Functions
- gini_impurity()
- entropy()
- information_gain()
- best_split()
- build_tree()
- predict_tree()
- majority_vote()
Project Structure
Custom_ML_Suite/
│
├── examples/
│ ├── demo.py
│ └── Formula.py
│
├── src/
│ └── Custom_ML_Suite/
│ ├── __init__.py
│ ├── activations.py
│ ├── distances.py
│ ├── linear_model.py
│ ├── metrics.py
│ ├── model_selection.py
│ ├── neighbors.py
│ ├── preprocessing.py
│ ├── stats.py
│ └── tree.py
│
├── tests/
│ └── test_all.py
│
├── README.md
├── pyproject.toml
└── .gitignore
# Authors
Aryan Kakade
Kishor Handge
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mak_mini_ml-0.1.2.tar.gz.
File metadata
- Download URL: mak_mini_ml-0.1.2.tar.gz
- Upload date:
- Size: 12.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2388954437cda8a8e398524be8a6a8a25c290c1a035afb74ff310e286af3ca7
|
|
| MD5 |
3c62433edfcd5bb78e5ee3c2432f9b99
|
|
| BLAKE2b-256 |
21bb92d924db79b3a26a9ae3fd6741039b6f986ca37c8b5e65c2d119b06cced2
|
File details
Details for the file mak_mini_ml-0.1.2-py3-none-any.whl.
File metadata
- Download URL: mak_mini_ml-0.1.2-py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3eac56702602fc7c7bf37a089afdd07fd238011bff94ee11fc4af03a44cb7cba
|
|
| MD5 |
73662756d5470fbb2051dfbfb10bfaf6
|
|
| BLAKE2b-256 |
6c867bf2189aa188e6a18f45a8a9bd754758b487ecad7d63722e8ddc19e6007a
|