EduDataAnalyzer

0
README.md

EduDataAnalyzer

CI

Инструмент для анализа образовательных данных: считает ключевые метрики, строит простую модель риска отчисления и генерирует отчеты, которые помогают преподавателям и администраторам вовремя замечать проблемы в успеваемости.

Зачем это нужно

  • Ручная сводка по десяткам показателей занимает часы, автоматизация экономит время.
  • Простая интерпретируемая модель позволяет прозрачно обосновывать решения по поддержке студентов.
  • Регулярные отчеты по расписанию дают оперативную картину без ручного запуска скриптов.

Возможности

  • Загрузка CSV с проверкой схемы и очисткой данных.
  • Метрики по группе и по программам: средний балл, доля сдавших, корреляция посещаемости и оценок.
  • Логистическая регрессия для оценки вероятности отчисления (балансирует классы).
  • Топ студентов по риску с удобным Markdown-отчетом.
  • CLI с командами summarize, predict, report.
  • GitHub Actions: линтер, тесты и еженедельная автогенерация отчета-артефакта.

Требования

  • Python 3.8+
  • pip

Установка

Быстрый старт

Пример Python-кода:

Структура проекта

Схема данных

Ожидаемые столбцы CSV:

  • student_id (str)
  • program (str)
  • grade (float, 0–100)
  • attendance_rate (float, 0–1)
  • assignments_completed (int)
  • absences (int)
  • risk_label (0/1)

Проверки и CI/CD

  • Ruff:
    ruff check src tests
  • Pytest:
    pytest -q
  • GitHub Actions: на каждый push/PR запускается линт и тесты; по расписанию (понедельник 06:00 UTC) и вручную доступен джоб weekly-report, который генерирует Markdown-отчет на базе data/sample_students.csv и сохраняет его как артефакт.

Тесты

Что дальше

  • Добавить визуализации (heatmap корреляций, распределения рисков).
  • Интеграция с LMS API для автоматической выгрузки данных.