Настройки аналитики
Система аналитики обуч ения Moodle требует некоторой начальной настройки, прежде чем её можно будет использовать. Вы можете получить доступ к Настройкам аналитики из Администрирования сайта > Аналитика > Настройки аналитики.
Информация о сайте
Информация о сайте будет использоваться, чтобы помочь моделям аналитики обучения учитывать особенности учреждения. Эта информация также будет отправлена как часть сбора данных о сайте при регистрации вашего сайта. Это позволит штаб-квартире понять, какие области в аналитике обучения используются наиболее активно, и соответствующим образом расставить приоритеты в ресурсах для разработки.
Настройка параметров аналитики обучения
Аналит ика может быть отключена в разделе Администрирование сайта / Расширенные возможности.
Затем их можно настроить в разделе Администрирование сайта / Аналитика.
Обработчик прогнозов
Обработчики прогнозов — это серверы машинного обучения, которые обрабатывают наборы данных, созданные на основе вычисляемых показателей и целей, и возвращают прогнозы. В ядре Moodle включены два обработчика прогнозов:
Обработчик прогнозов PHP
Обработчик PHP используется по умолчанию. Для использования этого обработчика нет других системных требований.
Обработчик прогнозов Python
Обработчик Python более мощный, и он генерирует графики, объясняющие производительность модели. Для его использования необходимо настроить дополнительные инструменты: сам Python (https://wiki.python.org/moin/BeginnersGuide/Download) и пакет Python moodlemlbackend. Пакет может быть установлен на веб-сервере (на всех узлах, если используется кластерная среда) или на отдельном сервере.
Версии
- Moodle 4.0 и выше использует пакет 3.0.* (минимум 3.0.4)
Установлен на веб-сервере
Последние версии пакетов для Moodle 3.8 и выше совместимы с Python 3.4, 3.5, 3.6 и 3.7. Обратите внимание, что пакет должен быть доступен как для пользователя интерфейса командной строки (CLI), так и для пользователя, который запускает веб-сервер (например, www-data).
- При необходимости установите Python 3 (и pip для Python 3).
- Убедитесь, что вы используете Python 3 для установки пакета moodlemlbackend (для VERSION см. предыдущий раздел):
sudo -H python3 -m pip install "moodlemlbackend==VERSION"
- Вы также должны ввести путь к исполняемому файлу Python 3 в Администрировании сайта -> Сервер -> Системные пути:
Установлен на отдельном сервере
Установка пакета Python на отдельном сервере вместо установки на веб-сервере имеет некоторые преимущества:
- Сохраняет сервер машинного обучения Python как внешнюю службу.
- Позволяет отдельно контролировать ресурсы, которые веб-сервер выделяет для обслуживания Moodle, и ресурсы, выделенные для сервера машинного обучения Python.
- Вы можете повторно использовать один и тот же сервер машинного обучения для нескольких сайтов Moodle. Проще настроить и поддерживать, чем устанавливать/обновлять пакет Python на всех узлах кластера.
- Вы можете установить пакет как новый контейнер Docker в вашей докеразированной среде.
- Вы можете предоставить сервер машинного обучения через AWS через шлюз API и AWS lambda, храня файлы обученной модели в S3.
С другой стороны, ожидается, что может возникнуть некоторая дополнительная задержка при подключении к серверу машинного обучения Python.
Сервер Python представлен как приложение Flask. Приложение Flask является частью официального пакета Python 'moodlemlbackend', и его скрипт FLASK_APP называется 'webapp', в корне пакета. Вы можете использовать настройку, которая лучше всего подходит вашей существующей инфраструктуре.
Новый сервер в вашей инфраструктуре
Сервер машинного обучения Python представлен как приложение Flask, которое использует сервер WSGI (https://wsgi.readthedocs.io/en/latest/what.html) для подключения к Интернету. Официальная документация по развёрт ыванию приложения Flask доступна по адресу https://flask.palletsprojects.com/en/1.0.x/tutorial/deploy/.
- Используйте переменную окружения MOODLE_MLBACKEND_PYTHON_USERS, чтобы задать список пользователей и паролей (через запятую). Значение по умолчанию: 'default:sshhhh' (пользователь: default, пароль: sshhhh).
- Установите MOODLE_MLBACKEND_PYTHON_DIR в путь, который вы хотите использовать для хранения данных, сгенерированных пакетом.
Docker
https://hub.docker.com/r/moodlehq/moodle-mlbackend-python — это официальный образ Docker moodle-mlbackend-python. Мы используем его внутри Moodle HQ для внутреннего тестирования, и вы также можете его использовать. Если вам нужно больше контроля над образом, в этом случае https://github.com/moodlehq/moodle-docker-mlbackend-python/blob/master/Dockerfile может служить примером того, что необходимо для работы пакета python moodlemlbackend.
- Используйте переменную окружения MOODLE_MLBACKEND_PYTHON_USERS, чтобы задать список пользователей и паролей (через запятую). Значение по умолчанию: 'default:sshhhh' (пользователь: default, пароль: sshhhh).
Для запуска контейнера Docker локально вы можете выполнить (для VERSION см. раздел Версии выше):
docker pull moodlehq/moodle-mlbackend-python:VERSION-python3.7.5
docker run -d -p 5000:5000 --name=mlbackendpython --rm --add-host=mlbackendpython:0.0.0.0 moodlehq/moodle-mlbackend-python:VERSION-python3.7.5
Примечание: вам нужно добавить --network=moodledocker_default, если вы используете moodle-docker и хотите, чтобы этот контейнер был виден с веб-серве ра.
Затем добавьте это в ваш файл config.php:
$CFG->pathtopython = 'python';
define('TEST_MLBACKEND_PYTHON_HOST', 'localhost'); // Измените на "mlbackendpython", если вы используете moodle-docker.
define('TEST_MLBACKEND_PYTHON_PORT', 5000);
define('TEST_MLBACKEND_PYTHON_USERNAME', 'default');
define('TEST_MLBACKEND_PYTHON_PASSWORD', 'sshhhh');
Чтобы проверить, работает ли это, эта команда не должна пропускать ни одного теста:
vendor/bin/phpunit analytics/tests/prediction_test.php --verbose
Бессерверный сервис AWS
Вы можете предоставить приложение Flask как бессерверное приложение, используя шлюз API AWS и AWS lambda. Самый простой способ сделать это — использовать Zappa https://github.com/Miserlou/Zappa для развёртывания приложения Flask, содержащегося в па кете Python ML.
- Используйте переменную окружения MOODLE_MLBACKEND_PYTHON_USERS, чтобы задать список пользователей и паролей (через запятую). Значение по умолчанию: 'default:sshhhh' (пользователь: default, пароль: sshhhh).
- Установите MOODLE_MLBACKEND_PYTHON_DIR в путь, который вы хотите использовать для хранения данных, сгенерированных пакетом.
- Установите следующие переменные окружения для настройки доступа к S3:
- MOODLE_MLBACKEND_PYTHON_S3_BUCKET_NAME для имени корзины.
- AWS_ACCESS_KEY_ID как обычно.
- AWS_SECRET_ACCESS_KEY как обычно.
После этого вы можете выбрать обработчик прогнозов Python по умолчанию или для отдельной модели:
Способ хранения журнала событий
Начиная с версии Moodle 2.7 и выше, «Стандартный журнал событий» используется по умолчанию. Если по какой-либо причине у вас также есть данные в старых «устаревших журналах», вы можете включить систему аналитики обучения Moodle для доступа к ним.
Интервалы анализа
Интервалы анализа определяют, как часто будут генерироваться инсайты и сколько информации будет использоваться для каждого вычисления. Использование пропорциональных интервалов анализа позволяет использовать курсы разной длины для обучения одной модели.
В системе доступно несколько интервалов анализа для моделей. В этой настройке определяются интервалы анализа, которые будут использоваться для оценки моделей, например, чтобы можно было выбрать лучший интервал анализа, определённый в процессе оценки, для модели. Эта настройка не ограничивает интервалы анализа, которые можно использовать для конкретных моделей.
![Интервалы анализа](/img/Analytics_settings/lmsENimg/06_timesplitting.png "Интервалы