Metadata-Version: 2.4
Name: bcsl607-ml
Version: 1.0.0
Summary: Machine Learning lab programs for BCSL607 - NIE Mysuru (KNN, Linear/Polynomial Regression, Decision Tree, K-Means, Naive Bayes)
Author: NIE Mysuru - CS&E
License: MIT
Project-URL: Homepage, https://github.com/yourusername/bcsl607-ml
Keywords: machine-learning,knn,regression,decision-tree,kmeans,naive-bayes,bcsl607
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.21
Requires-Dist: matplotlib>=3.4
Requires-Dist: scikit-learn>=1.0
Requires-Dist: pandas>=1.3
Dynamic: license-file

# bcsl607_ml — Machine Learning Lab Library

**Subject:** BCSL607 — Machine Learning  
**Department:** CS&E, National Institute of Engineering, Mysuru

A clean Python package containing all 7 lab programs, each importable and runnable independently.

---

## 📁 Folder Structure

```
bcsl607_ml/
├── __init__.py
└── labs/
    ├── __init__.py
    ├── lab1_knn_basic.py           # Lab 1 - KNN (k=3)
    ├── lab2_knn_multi_k.py         # Lab 2 - KNN (k=1,2,3,4,5,20,30)
    ├── lab3_linear_regression.py   # Lab 3 - Linear Regression
    ├── lab4_polynomial_regression.py # Lab 4 - Polynomial Regression
    ├── lab5_decision_tree.py       # Lab 5 - Decision Tree
    ├── lab6_kmeans_clustering.py   # Lab 6 - K-Means Clustering
    └── lab7_naive_bayes.py         # Lab 7 - Naive Bayes
```

---

## ⚡ Installation

No installation needed. Just place the `bcsl607_ml/` folder in your project directory.

Install dependencies:
```bash
pip install numpy matplotlib scikit-learn pandas
```

---

## 🚀 Usage

### Run a specific lab
```python
from bcsl607_ml.labs import lab1_knn_basic
lab1_knn_basic.run()
```

### Run all labs (except Lab 7)
```python
import bcsl607_ml
bcsl607_ml.run_all()
```

### Lab 7 — Naive Bayes (needs CSV)
```python
from bcsl607_ml.labs import lab7_naive_bayes
lab7_naive_bayes.run("path/to/diabetes_data.csv")
```
> Download dataset from: https://www.kaggle.com/datasets/himanshunakrani/naive-bayes-classificationdata

---

## 🧪 Lab Summary

| Lab | Topic | Algorithm | Dataset |
|-----|-------|-----------|---------|
| 1 | KNN Basic | KNeighborsClassifier (k=3) | Random 100 points |
| 2 | KNN Multi-k | KNeighborsClassifier | Random 100 points |
| 3 | Linear Regression | LinearRegression | Synthetic |
| 4 | Polynomial Regression | PolynomialFeatures + LR | Synthetic |
| 5 | Decision Tree | DecisionTreeClassifier | Breast Cancer |
| 6 | K-Means Clustering | KMeans + PCA | Breast Cancer |
| 7 | Naive Bayes | GaussianNB | Diabetes CSV |

---

## 📦 Dependencies

- `numpy`
- `matplotlib`
- `scikit-learn`
- `pandas`
