team-work-ai-Martin11
Анализ образовательных данных — Проект
Общее описание
Данный проект реализует API для анализа учебных достижений студентов на основе наборов данных из Student Performance Dataset (Kaggle / UCI). Анализ ведётся без использования предсказательных моделей, с применением статистических методов.
Обрабатываются CSV-файлы с анонимизированными данными по студентам из разных лет, в которых отражены такие параметры, как: student_id, subject, score, attendance, semester, year и difficulty_level. Особое внимание уделено сохранению конфиденциальности студентов.
Структура проекта
Папка spec/
- codex.md: Спецификация API проекта.
- Описывает три основных метода API:
— статистика по предметам и семестрам за указанный год.get_subject_statistics(year)— анализ корреляции посещаемости и оценок.analyze_attendance_impact()— сравнение успеваемости по уровням сложности предмета.compare_difficulty_levels(subject)
- Форматы входных CSV-файлов и выходных JSON-ответов.
- Ключевые требования к API и данные об анонимизации.
- Описывает три основных метода API:
Папка dev/
Здесь находятся ключевые модули и файлы, отвечающие за работу API и логику анализа:
-
solution.py
- Основной скрипт с классом
, который загружает данные, проводит аналитические вычисления и предоставляет методы для API.StudentPerformanceAnalyzer - Использование Pandas для обработки данных и SciPy для статистических тестов.
- Flask-приложение для запуска сервера API локально.
- В коде реализованы методы:
- Загрузка и очистка данных из CSV.
- Подсчёт статистики по предметам и годам.
- Корреляция посещаемости и оценок.
- Сравнение результатов по уровням сложности.
- Включены примеры sample-данных для тестирования.
- Основной скрипт с классом
-
urls.py
- Конфигурация URL-адресов API для Django-приложения.
- Маршруты для вызова трех основных API-вьюшек:
- Статистика по предметам (с возможностью фильтрации по году).
- Анализ влияния посещаемости.
- Сравнение по уровню сложности предмета.
-
views.py
- Реализация API-вьюшек с использованием Django REST framework.
- Использование класса
для получения данных и формирование ответов.StudentPerformanceAnalyzer - Обработка ошибок с соответствующими HTTP-статусами.
Папка demo/
В этой папке находятся все вспомогательные и рабочие файлы с кодом, которые задействованы в реализации алгоритмов проекта.
Это центральное хранилище кода, обеспечивающего корректное выполнение процесса анализа образовательных данных и работу всего проекта в целом.
Запуск и использование
- Разместите данные CSV-файлы в папку
(или создайте эту папку рядом с кодом).data/ - Запустите Flask-приложение из
командой:solution.pypython dev/solution.py - Используйте API-запросы по URL из
для получения статистики и аналитики.urls.py
Источники и ссылки
-
Student Performance Dataset:
https://www.kaggle.com/datasets/bhuvaneshwarisa/student-performance-dataset
https://archive.ics.uci.edu/dataset/320/student+performance -
Аналитические статьи и примеры:
https://oaorogun.co.uk/analyzing-student-performance-for-optimal-insight/
https://github.com/fhrzn/students-performance -
Документация по проекту и статистическим методам в PDF и Kaggle.
Соавторы: Иван Чернышев(ник: Flex) Александр Драчук(ник: Garfield)
Garfield - делал ревью(участник 3) Flex - создавал код(участник 2)
Я был участником №2 в проекте у Garfield