This repository explores ideas for using Bayesian Inference to perform measurement and exploration efficiently, only where needed.
The repository includes multiple datasets and Jupyter Notebook experiments, covering model comparisons and hyperparameter search in classification tasks (e.g., KNN and Bayesian Optimization experiments).
20240821_pm_Bayesian_knn_gp.ipynb: Early experiments related to Bayesian + KNN + GP20240912_BO_knn.ipynb: KNN experiments based on Bayesian Optimization20240918_multi_knn_cl.ipynb: Multi-KNN classification experiments20250804_spiral.ipynb,20250804pm_spiral.ipynb: Experiments using spiral data
breast-cancer-wisconsin.data.csvbalance-scale.data.csvhaberman.data.csvsonar.all-data.csvletter-recognition.data.csv
- Create and activate a Python virtual environment
python -m venv .venv source .venv/bin/activate - Install Jupyter and required libraries
pip install jupyter pandas numpy scikit-learn matplotlib
- Launch Jupyter Notebook
jupyter notebook
- Explore methods to improve learning/search efficiency while quantifying uncertainty
- Evaluate performance and characteristics of Bayesian-based approaches across various datasets
This repository is a notebook-centered project for research and experimentation. Detailed descriptions of each experiment are documented in the markdown/code cells of each notebook.
flowchart TD
A[Scan Start Request] --> B[Data Collection and Preprocessing]
B --> C[Generate Scan Point Candidates]
C --> D[Input Candidates into KNN Model]
D --> E{Meets Nearest Neighbor Distance/Density Criteria?}
E -- Yes --> F[Classified as High-Confidence Region]
E -- No --> G[Classified as Uncertain Region]
F --> H[Increase Scan Interval]
G --> I[Decrease Scan Interval]
H --> J[Select Next Scan Point]
I --> J
J --> K[Update Measurements and Save to DB]
K --> L{Termination Condition Met?}
L -- No --> C
L -- Yes --> M[End Scan and Generate Result Report]