Metadata-Version: 2.4
Name: mlhelper-exam
Version: 1.0.0
Summary: CLI tool that prints complete ML lab programs to stdout
License: MIT
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: scikit-learn>=1.3
Requires-Dist: numpy>=1.24
Requires-Dist: pandas>=2.0
Requires-Dist: matplotlib>=3.7
Requires-Dist: seaborn>=0.12

# mlhelper — ML Lab Programs CLI

A Python package that prints complete Machine Learning lab programs to stdout via a simple terminal command.

## Installation

### From wheel (offline)
```bash
pip install mlhelper_exam-1.0.0-py3-none-any.whl
```

### From PyPI (online)
```bash
pip install mlhelper-exam
```

### From source
```bash
cd exam/
pip install .
```

---

## Usage

### List all programs
```bash
mlhelper
```
```
+------------------------------------------+
|       mlhelper - ML Lab Programs         |
+------------------------------------------+

   1.  EDA - Outlier Counts (California)
   2.  EDA - Correlation Heatmap (California)
   3.  PCA on Iris Dataset
   4.  Find-S Algorithm
   5.  KNN Classification from Scratch
   6.  Locally Weighted Regression
   7.  Program 7 (Not Available)
   8.  Decision Tree (Breast Cancer)
   9.  Naive Bayes (Olivetti Faces)
  10.  K-Means Clustering (Breast Cancer)

Usage: mlhelper <number>
```

### Print a specific program
```bash
mlhelper 1        # prints Program 1
mlhelper 4        # prints Program 4
mlhelper 10       # prints Program 10
```

### Save a program to a file
```bash
mlhelper 3 > pca_iris.py
python pca_iris.py
```

---

## Program Mapping

| Number | Algorithm                           | Source File / Dataset               |
|--------|-------------------------------------|-------------------------------------|
| 1      | EDA - Outlier Counts                | California Housing                  |
| 2      | EDA - Correlation & Deep Dive       | California Housing                  |
| 3      | PCA on Iris                         | Iris                                |
| 4      | Find-S Algorithm                    | `training_data.csv`                 |
| 5      | KNN from Scratch (1-D)              | Synthetic 1-D Data                  |
| 6      | Locally Weighted Regression         | Synthetic LWR Data                  |
| 7      | Not Available                       | -                                   |
| 8      | Decision Tree Classifier            | Breast Cancer                       |
| 9      | Naive Bayes Classifier              | Olivetti Faces                      |
| 10     | K-Means Clustering                  | Breast Cancer                       |

---

## Build a wheel

Build the wheel using standard pip tools:
```bash
pip wheel . --no-deps -w dist
```

The `.whl` file is created in the `dist/` folder.

---

## Project Structure

```
exam/
├── pyproject.toml
├── requirements.txt
├── README.md
└── mlhelper/
    ├── __init__.py
    ├── cli.py
    └── programs/
        ├── __init__.py
        ├── p01_eda_outliers.py
        ├── p02_eda_correlation.py
        ├── p03_pca_iris.py
        ├── p04_find_s.py
        ├── p05_knn_scratch.py
        ├── p06_lwr.py
        ├── p07_not_available.py
        ├── p08_decision_tree.py
        ├── p09_naive_bayes.py
        └── p10_kmeans.py
```
