Приложение позволяет спрогнозировать вероятность успешной сдачи экзаменационной сессии на основе индивидуальных параметров подготовки студента с применением метода статистического моделирования (Монте-Карло).
- Выберите папку, куда склонируется репозиторий, например:
cd C:\Users\<имя_пользователя>- Клонируйте репозиторий:
git clone https://github.com/byrilo/session-predictor
cd session-predictor- Создайте и активируйте виртуальное окружение:
python -m venv venv
source venv/Scripts/activate- Установите необходимые библиотеки:
pip install -r requirements.txt- Запустите приложение:
python -m main- Выберите папку, куда склонируется репозиторий, например:
cd C:\Users\<имя_пользователя>- Клонируйте репозиторий:
git clone https://github.com/byrilo/session-predictor
cd session-predictor- Создайте и активируйте виртуальное окружение:
python -m venv venv
venv\Scripts\activate.bat- Установите необходимые библиотеки:
pip install -r requirements.txt- Запустите приложение:
python -m main- data/ - модуль получения данных из xlsx файла; разработчик модуля - Евсюков Дмитрий
- gui/ - модуль отображения визуального графического пользовательского интерфейса для ввода данных, а также проверка введённых данных на корректность; разработчик модуля - Евсюков Дмитрий
- model/:
- модуль реализации базовой формулы модели для расчёта вероятности сдачи сессии base_score; разработчик модуля - Саидов Владислав
- функция random_luck(), генерирующая число из нормального распределения с параметрами, заданными пользователем; разработчик модуля - Котова Елена
- функция P_ticket, рассчитывающая вероятность получения конкретного (выученного) билета по формуле Бернулли; разработчики модуля; разработчик модуля - Дронов Всеволод
- simulation/ - модуль, использующий информацию, полученную в остальных модулях, для предсказания вероятности сдачи сессии в виде "Сдал"/"Не сдал"; разработчик модуля - Сазонов Владимир
- stats/ - ; разработчик модуля -
- tests/ - внутренние тесты программы через pytest для выявления ошибок/проблем/нестыковок; разработчики модуля - Григорьев Вячеслав, Чивчиян Алексей
- viz/ - модуль визуализации результатов работы программы: гистограмма успехов, график зависимости вероятности сдать сессию от часов, тепловая карта зависимости выученных билетов от времени, потраченных на изучение; разработчик модуля - Степанова Татьяна
- requirements.txt - список зависимостей, необходимый для корректной работы приложения
Входной файл subjects_tusur_reduced с расширением xlsx обладает такими столбцами: название предмета - subject, ранг (сложность) предмета - rank , формат сдачи предмета - exam_form. Остальные данные получаются от пользователя с помощью модуля отображения графического окна ввода данных.
Значения, которые получает программа:
| Переменная | Описание | Тип данных | Диапазон допустимых значений |
|---|---|---|---|
| subject | Название предмета | str | Фиксированные значения из входного файла |
| rank | Ранг предмета | int | от 1 до 5 |
| exam_form | Форма сдачи экзамена | str | Фиксированные значения из входного файла |
| has_debts | Наличие академических задолженностей ("хвостов") | bool | 0 либо 1 (True либо False) |
| hours_per_day | Количество часов подготовки в день | float | От 0 до 12 |
| missed_lectures | Количество пропущенных занятий | int | от 0 до 30 |
| luck | Уровень везучести студента | int | От 1 до 10 |
| total_tickets | Общее количество билетов | int | От 10 до 50 |
| learned_tickets | Количество выученных билетов | int | От 0 до 50, <=total_tickets |