The_Project
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
README.md
Study Material Recommender
Система рекомендации учебных материалов студентам на основе их предпочтений, уровня знаний и истории обучения. Проект демонстрирует гибридный подход (collaborative filtering + content-based) и автоматизацию через GitVerse Actions.
Автор: Кравченко Владислава
Возможности
- Гибридные рекомендации с настраиваемым весом
.alpha - Обработка cold-start пользователей (fallback на популярные материалы).
- Оценка качества (RMSE) и пример отчета в CI.
- Минимальный датасет
для быстрого запуска.data/sample.csv
Требования
- Python 3.8+
- Установленный pip
- Зависимости из
(numpy, pandas, scikit-learn, pytest и др.).requirements.txt
Установка
Предварительно установите Python 3.8+ и pip.
Быстрый старт
Генерация отчета локально
Примеры результатов
- В файле
после генерации отчета будут, например:artifacts/report.md- размер датасета, количество пользователей и материалов;
- значение RMSE на тестовой выборке;
- список рекомендованных материалов для одного из пользователей с их оценками-рейтингами.
Тесты и качество кода
Структура проекта
src/ # Основной код (гибридный алгоритм)
tests/ # Unit-тесты (pytest)
data/ # Пример датасета
scripts/ # Служебные скрипты (генерация отчета)
docs/ # Доп. документация (архитектура)
.gitverse/workflows # CI/CD (lint/test + отчеты по расписанию)
CI/CD
— линт, формат, тесты на Python 3.8-3.10..gitverse/workflows/tests.yml— cron и ручной.gitverse/workflows/report.ymlдля генерации отчета с метриками, артефактworkflow_dispatch.artifacts/report.md
Ключевые файлы
— классsrc/main.py, предсказания, RMSE.StudyMaterialRecommender— загрузка данных, разбиение, утилиты.src/utils.py— формирует markdown-отчет.scripts/generate_report.py— краткое описание подхода.docs/architecture.md
Идеи для расширения
- Добавить хранение моделей и метрик в объектное хранилище.
- Поддержать матрицу признаков по авторам/длительности материалов.
- Реализовать REST API (FastAPI) для онлайн-рекомендаций.