Metadata-Version: 2.4
Name: bhagya-my-ml-package
Version: 0.2.1
Summary: Custom machine learning package built from scratch
Author: Bhagyashree Patil
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: numpy
Requires-Dist: pandas
Dynamic: author
Dynamic: description
Dynamic: description-content-type
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Bhagya My ML Package

A lightweight Machine Learning package built from scratch in Python for educational purposes and algorithm understanding.

This package implements core Machine Learning algorithms without relying on scikit-learn model implementations, making it useful for students who want to learn how ML algorithms work internally.

## Features

### Linear Models

* Linear Regression
* Intercept and coefficient calculation
* Prediction using Normal Equation and Pseudoinverse

### Nearest Neighbors

* KNN Classifier
* KNN Regressor
* Euclidean Distance based similarity

### Neural Networks

* Feed Forward Neural Network
* Backpropagation Learning
* Sigmoid Activation Function
* Hebbian Learning Network

### Dimensionality Reduction

* Principal Component Analysis (PCA)

### Preprocessing

* StandardScaler
* Feature Standardization

### Model Selection

* Train-Test Split

### Metrics

#### Regression Metrics

* R² Score
* Adjusted R² Score
* Mean Squared Error (MSE)
* Mean Absolute Error (MAE)
* Root Mean Squared Error (RMSE)

#### Classification Metrics

* Accuracy Score

## Installation

```bash
pip install bhagya-my-ml-package
```

## Example Usage

### Linear Regression

```python
from my_ml_package.linear_models import LinearRegression

model = LinearRegression()

model.fit(X_train, y_train)

predictions = model.predict(X_test)

print(model.intercept_)
print(model.coef_)
```

### KNN Regression

```python
from my_ml_package.neighbors import KNNRegressor

model = KNNRegressor(k=3)

model.fit(X_train, y_train)

predictions = model.predict(X_test)
```

### PCA

```python
from my_ml_package.decomposition import PCA

pca = PCA(n_components=2)

X_reduced = pca.fit_transform(X)
```

### StandardScaler

```python
from my_ml_package.preprocessing import StandardScaler

scaler = StandardScaler()

X_scaled = scaler.fit_transform(X)
```

## Algorithms Implemented

* Linear Regression
* KNN Classification
* KNN Regression
* Artificial Neural Network
* Hebbian Learning Network
* Principal Component Analysis (PCA)

## Educational Objective

The primary goal of this package is to help students understand Machine Learning algorithms by implementing them from scratch using NumPy and core Python concepts.

## Author

Bhagyashree Patil

## License

MIT License
