beta_solver
beta_solver is a personal project where I implement Machine Learning algorithms from scratch to understand the mathematics behind the "black box."
I am currently practicing core algorithms, starting with Linear Regression using the Normal Equation. As I learn and practice more algorithms, I will update this library to include them.
🎯 Project Goal
The goal of this project is not to replace libraries like scikit-learn, but to:
- Demystify the math behind ML algorithms.
- Implement pure Python/Numpy solutions without high-level wrappers.
- Document my learning journey in code.
📐 Current Algorithm
Linear Regression
Right now, the library solves for the coefficient vector $\beta$ using Linear Algebra:
$$\beta = (X^T X)^{-1} (X^T Y)$$
Where:
- $X$: The input feature matrix.
- $Y$: The target vector.
- $\beta$: The resulting coefficients (Intercept + Slopes).
Logistic Regression
Logistic Regression is implemented using the Gradient Descent optimization technique to minimize the Log Loss function. The model predicts probabilities using the Sigmoid function: $$P(Y=1|X) = \sigma(X\beta) = \frac{1}{1 + e^{-X\beta}}$$ Where:
- $X$: The input feature matrix.
- $Y$: The target vector (0 or 1).
- $\beta$: The coefficient vector (Intercept + Slopes).
🚀 Installation
You can install beta_solver using pip:
pip install beta_solver
🤝 Contributing
This is a learning repository. If you see a way to optimize the math or make the code cleaner, feel free to open a Pull Request!
📄 License
Distributed under the MIT License. See LICENSE for more information.
👤 Author
Abhish Bondre GitHub: abhishbondre
Release files for beta-solver 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| beta_solver-0.0.2.tar.gz | 4.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| beta_solver-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.3 kB
Release files / beta_solver-0.0.2.tar.gz
| Download URL | beta_solver-0.0.2.tar.gz |
|---|---|
| Size | 4.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f54812b81875e280d4561a96580319346ff9e5218dd5379789cd6e7c9673d3bb
|
|
BLAKE2b-256 checksum How to use checksums |
ee3b79cd29acc9005807e904b6f7f6b15cdf89ada1de50a94fa3573b2a6a6b16
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / beta_solver-0.0.2-py3-none-any.whl
| Download URL | beta_solver-0.0.2-py3-none-any.whl |
|---|---|
| Size | 5.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6ab7c3033ce5def4c49248147bcca4e56a2b24ae85f6d3e063f3800eba4389ec
|
|
BLAKE2b-256 checksum How to use checksums |
349243ed45b72aa4287ad32de0c9aacd944f9ed2b86ed079d39912343738e2a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|