bayesNestor 0.1.8
Nestor is a Bayesian Network implementation designed to dynamically generate personalized learning paths tailored to the unique psychological traits of each learner, optimizing educational outcomes.
License: MIT
Requires Python: <3.12,>=3.10

# bayesNestor

[![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/)

## Overview
**bayesNestor** is a Bayesian Network implementation designed to dynamically generate personalized learning paths tailored to the unique psychological traits of each learner, aiming to optimize educational outcomes.

## Installation
Ensure you are using **Python 3.10 or above**.

Install **bayesNestor** using pip:
```bash
pip install bayesnestor
```

<!-- Alternatively, install from the source
```bash
git clone https://github.com/yourusername/bayesnestor.git
cd bayesnestor
python setup.py install
``` -->

## Usage
```bash
from bayesnestor import Nestor
# Provide evidence for a query
QUERY_EVIDENCE = {
    "Active_Reflective_Dim": "Active",
    "Sensory_Intuitive_Dim": "Intuitive",
    "Visual_Verbal_Dim": "Visual",
    "Sequential_Global_Dim": "Global",
    "cs": "agree",
    "bfia": "disagree"}

# Example usage: generate learning paths
mynestor = Nestor()
lpath = mynestor.generate(evidence=QUERY_EVIDENCE)
print(lpath)
```

## Examples
The "examples/" directory contains five example scripts demonstrating key functionalities of bayesNestor:
- **example_access_backend_objs.py**: Demonstrates how to access and utilize different backend objects.
- **example_load_xmlbif.py**: Provides a step-by-step guide on loading Bayesian Networks saved in XMLBIF format, ensuring model restoration and compatibility.
- **example_nestor_generate_lepath.py**: Walks through the process of generating personalized learning paths by using bayesNestor's inference capabilities.
- **examples_model_manager.py**: Illustrates how to manage and configure models by defining the network structure and parameters, enabling efficient customization and tuning.
- **examples_reporting.py**: Shows how to generate reports that analyze model outputs, interpret results.

Feel free to run these examples to better understand how to implement and use the package.

## Authors
- Vamsi Krishna Nadimpalli - [vamsi.nadimpalli@oth-regensburg.de](mailto:vamsi.nadimpalli@oth-regensburg.de)
- Robert Maier - [robert.maier@oth-regensburg.de](mailto:robert.maier@oth-regensburg.de)

## How to Cite
If you find bayesNestor useful in your research or projects, please consider citing it as follows:

``` bibtex
@inproceedings{nadimpalli2025nestor,
author = {Nadimpalli, Vamsi Krishna and Maier, Robert and Ezer, Timur and Bugert, Flemming and Staufer, Susanne and Roehrl, Simon and Hauser, Florian and Grabinger, Lisa and Mottok, Juergen},
title = {Nestor: A Personalized Learning Path Recommendation Algorithm for Adaptive Learning Environments},
year = {2025},
isbn = {9798400712821},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3723010.3723016},
doi = {10.1145/3723010.3723016},
booktitle = {Proceedings of the 6th European Conference on Software Engineering Education},
pages = {49–59},
numpages = {11},
keywords = {Machine Learning, Bayesian Network, Psychological Models, Learner-Centered environments, Personalized Learning Paths},
location = {Kloster Seeon, Germany},
series = {ECSEE '25}
}
  ```
## Acknowledgements:
The Federal Ministry of Research, Technology, and Space (BMFTR) supports this work by funding the HASKI project (FKZ: 16DHBKI035).
<p align="center">
  <img src="zAcks/image.png" alt="alt text" width="20%" />
  <img src="zAcks/image-1.png" alt="alt text" width="20%" />
  <img src="zAcks/image-2.png" alt="alt text" width="20%" />
</p>