Metadata-Version: 2.4
Name: dolphinboost
Version: 0.1.0
Summary: A lightweight machine learning library with educational implementations built from scratch.
Author-email: Peddakotla Karthikeya <karthikeyapeddakotla@gmail.com>
License: MIT
Project-URL: Homepage, https://pypi.org/project/dolphinboost/
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.20
Dynamic: license-file

# DolphinBoost

DolphinBoost is a lightweight machine learning library built from scratch in Python for learning and understanding core machine learning algorithms.

The goal of DolphinBoost is to provide clean, readable implementations that help students and developers understand how machine learning models work internally.

## Features

* Simple Linear Regression
* NumPy-based implementation
* Minimal dependencies
* Educational and beginner-friendly
* Easy-to-read source code

## Installation

```bash
pip install dolphinboost
```

## Quick Start

```python
from dolphinboost import SimpleLinearRegression

X = [1, 2, 3, 4, 5]
y = [2, 4, 5, 4, 5]

model = SimpleLinearRegression()
model.fit(X, y)

print("Coefficient:", model.coef_)
print("Intercept:", model.intercept_)

predictions = model.predict([6, 7, 8])
print(predictions)
```

## Example

```python
import pandas as pd
from sklearn.model_selection import train_test_split
from dolphinboost import SimpleLinearRegression

df = pd.read_csv("Salary_dataset.csv")

X = df["YearsExperience"]
y = df["Salary"]

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42
)

model = SimpleLinearRegression()
model.fit(X_train, y_train)

predictions = model.predict(X_test)

print(predictions)
```

## API

### SimpleLinearRegression

#### fit(X, y)

Train the model using the least-squares method.

#### predict(X)

Predict target values.

## Attributes

| Attribute  | Description                      |
| ---------- | -------------------------------- |
| coef_      | Slope of the regression line     |
| intercept_ | Intercept of the regression line |
| beta_      | Full parameter vector            |
| X_mean_    | Mean of input values             |
| y_mean_    | Mean of target values            |

## Mathematical Foundation

Slope:

β₁ = Σ[(x - x̄)(y - ȳ)] / Σ[(x - x̄)²]

Intercept:

β₀ = ȳ − β₁x̄

Prediction:

y = β₀ + β₁x

## Roadmap

Upcoming algorithms:

* Multiple Linear Regression
* Logistic Regression
* Metrics (MSE, MAE, R²)
* And Others

## Why DolphinBoost?

* Learn machine learning by reading code.
* Lightweight and easy to understand.
* Built for students and educational purposes.
* No hidden abstractions.

## License

MIT License

## Author

Peddakotla Karthikeya
