Metadata-Version: 2.4
Name: skilearn
Version: 0.1.0
Summary: A FastAPI-based package for implementing Candidate Elimination, Find-S, and Hypothesis Testing algorithms
Home-page: https://github.com/yourusername/skilearn
Author: Your Name
Author-email: Your Name <your.email@example.com>
License: MIT
Project-URL: Homepage, https://github.com/yourusername/skilearn
Project-URL: Documentation, https://github.com/yourusername/skilearn#readme
Project-URL: Repository, https://github.com/yourusername/skilearn.git
Keywords: machine-learning,candidate-elimination,find-s,hypothesis-testing,fastapi
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastapi>=0.104.0
Requires-Dist: uvicorn>=0.24.0
Requires-Dist: pandas>=2.0.0
Requires-Dist: numpy>=1.24.0
Requires-Dist: scipy>=1.11.0
Provides-Extra: dev
Requires-Dist: pytest>=7.4.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Requires-Dist: httpx>=0.25.0; extra == "dev"
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# Skilearn - Machine Learning Algorithms Package

A FastAPI-based Python package implementing fundamental machine learning algorithms including Candidate Elimination, Find-S, and Hypothesis Testing.

## Installation

Install from PyPI (when published):
```bash
pip install skilearn
```

Install from source:
```bash
git clone https://github.com/yourusername/skilearn.git
cd skilearn
pip install -e .
```

## Features

- **Candidate Elimination Algorithm**: Find the version space of hypotheses consistent with training data
- **Find-S Algorithm**: Find the most specific hypothesis consistent with positive examples
- **Hypothesis Testing**: Statistical hypothesis testing utilities

## Usage

### Import the algorithms

```python
from skilearn import CandidateElimination, FindS, HypothesisTesting
import pandas as pd

# Load your data
df = pd.read_csv('your_data.csv')

# Use Find-S algorithm
find_s = FindS()
result = find_s.fit(df[['feature1', 'feature2']], df['label'])
print(f"Hypothesis: {result}")

# Use Candidate Elimination
ce = CandidateElimination()
version_space = ce.fit(df[['feature1', 'feature2']], df['label'])
print(f"Version Space Size: {len(version_space)}")
```

### FastAPI Server

Run the FastAPI server:
```bash
uvicorn skilearn.api:app --reload
```

Then access the interactive API documentation at:
- Swagger UI: `http://localhost:8000/docs`
- ReDoc: `http://localhost:8000/redoc`

## API Endpoints

- `POST /api/find-s`: Apply Find-S algorithm
- `POST /api/candidate-elimination`: Apply Candidate Elimination algorithm
- `POST /api/hypothesis-testing`: Perform statistical hypothesis testing

## Development

Install with development dependencies:
```bash
pip install -e ".[dev]"
```

Run tests:
```bash
pytest
```

## License

MIT License

