Analytics-Einstellungen: Unterschied zwischen den Versionen

Aus MoodleDocs
Wechseln zu:Navigation, Suche
Zeile 25: Zeile 25:
Das neueste Moodle-Paket ist kompatibel mit '''Python 3.4, 3.5, 3.6 und 3.7'''. Beachten Sie, dass das Paket sowohl für den Kommandozeilennutzer (CLI) als auch für den Webserver-Nutzer (z.B. www-data) verfügbar sein sollte.
Das neueste Moodle-Paket ist kompatibel mit '''Python 3.4, 3.5, 3.6 und 3.7'''. Beachten Sie, dass das Paket sowohl für den Kommandozeilennutzer (CLI) als auch für den Webserver-Nutzer (z.B. www-data) verfügbar sein sollte.


# Wenn nötig, installieren Sie Python 3 (und pip für Python 3)
*Wenn nötig, installieren Sie Python 3 (und pip für Python 3)
# Stellen Sie sicher, dass Python 3 verwendet wird, um das '''moodlemlbackend''' Paket zu installieren:
*Stellen Sie sicher, dass Python 3 verwendet wird, um das '''moodlemlbackend''' Paket zu installieren:


     sudo -H python3 -m pip install "moodlemlbackend==2.3.*"
     sudo -H python3 -m pip install "moodlemlbackend==2.3.*"


# Sie müssen auch den Pfad zum Python 3 Executable auf der Seite ''Website-Administration > Server > Systempfade'' eintragen:
*Sie müssen auch den Pfad zum Python 3 Executable auf der Seite ''Website-Administration > Server > Systempfade'' eintragen:
[[File:path_to_python_3.png|frame|center|Enter system path for Python 3]]
 
[[File:path_to_python_3.png|frame|center|Systempfad für Python 3]]


===== Installed in a separate server - ÜBERSETZEN!!! =====
===== Installed in a separate server - ÜBERSETZEN!!! =====

Version vom 28. Januar 2020, 12:49 Uhr

Baustelle.png Diese Seite muss überarbeitet werden, weil sie neue Funktionalitäten enthält. Greif zu!
Wenn du dich um diesen Artikel kümmern willst, dann kennzeichne das, indem du die Vorlage {{ÜberarbeitenNeu}} durch die Vorlage {{ÜberarbeitenVergeben}} ersetzt.
Wenn du mit deiner Arbeit fertig bist, dann entferne die Vorlage aus dem Artikel.
Danke für deine Mitarbeit!


Das Moodle Learning Analytics System erfordert vorab einige Einstellungen, bevor es genutzt werden kann. Die Moodle-Administration kann die Analytics-Einstellungen auf der Seite Website-Administration (oder im Block Einstellungen > Website-Administration) > Analytics > Analytics-Einstellungen vornehmen.

Website-Informationen

Die Website-Informationen werden verwendet, damit die Learning Analytics Modelle die Besonderheiten einer Institution mit einbeziehen. Diese Informationen wird als Teil der Moodle-Site-Datensammlung übermittelt, wenn Sie Ihre Moodle-Site registrieren. Das ermöglicht es dem Moodle HQ zu verstehen, welche Bereiche in Learning Analytics am häufigsten verwendet werden, und die Ressourcen für die Weiterentwicklung entsprechend zu priorisieren.

Analytics-Einstellungen vornehmen

Neue Funktionalität
in Moodle 4.1!
Die Moodle-Administration kann die Learning-Analytics-Funktionalität auf der Seite Website-Administration > Zusatzoptionen deaktivieren.

Die Einstellungen für das Learning-Analytics-System von Moodle werden auf der Seite Website-Administration > Analytics > Analytics-Einstellungen vorgenommen.

Prozessor für Vorhersagen

Auswahl des Vorhersage-Prozessors

Vorhersage-Prozessoren sind Backends für maschinelles Lernen, die Daten verarbeiten, die von den Zielen und Indikatoren generiert werden und aus diesen verarbeiteten Daten Vorhersagen generieren. Die Moodle-Standardinstallation stellt zwei Vorhersage-Prozessoren zur Verfügung:

PHP-Vorhersage-Prozessor

Der PHP-Vorhersage-Prozessor ist der Standardprozessor. Es gibt keine Systemvoraussetzungen, um diesen Prozessor zu verwenden.

Python-Vorhersage-Prozessor

Der Python-Vorhersage-Prozessor ist mächtiger. Er generiert Grafiken, die die Performanz des Modells erklären. Er erfordert zusätzliche Tools, die auf dem Moodle-Server installiert sein müssen: Python (https://wiki.python.org/moin/BeginnersGuide/Download) und das Python-Paket moodlemlbackend. Das Paket kann auf dem Webserver oder auf einem separaten Server installiert werden.

Installation im Webserver

Das neueste Moodle-Paket ist kompatibel mit Python 3.4, 3.5, 3.6 und 3.7. Beachten Sie, dass das Paket sowohl für den Kommandozeilennutzer (CLI) als auch für den Webserver-Nutzer (z.B. www-data) verfügbar sein sollte.

  • Wenn nötig, installieren Sie Python 3 (und pip für Python 3)
  • Stellen Sie sicher, dass Python 3 verwendet wird, um das moodlemlbackend Paket zu installieren:
   sudo -H python3 -m pip install "moodlemlbackend==2.3.*"
  • Sie müssen auch den Pfad zum Python 3 Executable auf der Seite Website-Administration > Server > Systempfade eintragen:
Systempfad für Python 3
Installed in a separate server - ÜBERSETZEN!!!

To install the python package in a separate server instead of installing it on the web server/s have some advantages:

  • Keeps the python ML backend as an external service
  • To keep a separated control of the resources the web server/s dedicate to serving Moodle and the resources dedicated to the python ML backend
  • You can reuse the same ML server for multiple Moodle sites. Easier to setup and maintain than to install/upgrade the python package in all nodes in the cluster
  • You can install the package as a new docker container in your dockerized environment
  • You can serve the ML backend from AWS through the API gateway and AWS lambda, storing the trained model files in S3

On the other hand, it is expected that there can be some added latency in connecting to the python ML backend server.

The python backend is exposed as a Flask application. The Flask application is part of the official 'moodlemlbackend' Python package and its FLASK_APP script is 'webapp', in the root of the package. You are free to use the setup that better suits your existing infrastructure.

New server in your infrastructure - ÜBERSETZEN!!!

The python ML backend is exposed as a Flask application, which uses a WSGI server (https://wsgi.readthedocs.io/en/latest/what.html) to be exposed to the www. The official documentation on how to deploy a Flask app can be found in https://flask.palletsprojects.com/en/1.0.x/tutorial/deploy/.

  • Use MOODLE_MLBACKEND_PYTHON_USERS environment var to set a list of users and password (comma-separated). The value is 'default:sshhhh' (user: default, password: sshhhh).
  • Set MOODLE_MLBACKEND_PYTHON_DIR to the path you want to use to store the data generated by the package
Docker - ÜBERSETZEN!!!

https://hub.docker.com/r/moodlehq/moodle-mlbackend-python is the official moodle-mlbackend-python docker image. We use it internally at Moodle HQ for internal testing and you can use it as well. You may want more control over the image, if that is the case https://github.com/moodlehq/moodle-docker-mlbackend-python/blob/master/Dockerfile can serve as an example of what is needed to get the python moodlemlbackend package working.

  • Use MOODLE_MLBACKEND_PYTHON_USERS environment var to set a list of users and password (comma-separated). The value is 'default:sshhhh' (user: default, password: sshhhh).
AWS serverless service - ÜBERSETZEN!!!

You can serve the Flask application as a serverless application using the AWS API gateway and AWS lambda. The easiest way to do it is using Zappa https://github.com/Miserlou/Zappa to deploy the Flask application contained in the python ML package.

  • Use MOODLE_MLBACKEND_PYTHON_USERS environment var to set a list of users and password (comma-separated). The value is 'default:sshhhh' (user: default, password: sshhhh).
  • Set MOODLE_MLBACKEND_PYTHON_DIR to the path you want to use to store the data generated by the package
  • Set these environment variables below to setup the S3 access:
    • MOODLE_MLBACKEND_PYTHON_S3_BUCKET_NAME to the bucket name
    • AWS_ACCESS_KEY_ID as usual
    • AWS_SECRET_ACCESS_KEY as usual

Once this has been done, you can select the Python prediction processor as the default or for an individual model:

Predictions processor default
Predictions processor selection for an individual model

Log-Speicher

Ab Moodle 2.7 ist Logdaten Standard der standardmäßige Speicher für Logdaten. Wenn Sie aus irgendwelchen Gründen Daten im alten Legacy-Speicher Logdaten Alt gespeichert haben, dann können Sie diesen hier einstellen, so dass das Analytics-System auf diese Daten zugreift.

Zeitaufteilungsmethode

Die Zeitaufteilungsmethode legt fest, wie oft Einschätzungen generiert werden und wie viele Informationen für diese Berechnung verwendet werden. Wenn Sie geeignete proportionale Zeitintervalle verwenden, können Kurse mit verschiedener Kursdauer verwendet werden, um ein einzelnes Modell zu trainieren.

timesplitting.png

Jede Zeitaufteilungsmethode unterteilt die Kursdauer in Zeitabschnitte. Am Ende jedes so definierten Zeitabschnitts läuft die Vorhersage-Engine und generiert Vorhersagen. Es wird empfohlen, nur die Zeiteinteilungsmethoden zu aktivieren, die Sie tatsächlich verwenden wollen, denn der Vorhersage-Prozess iteriert über alle aktivierten Zeitaufteilungsmethoden und dauert folglich um so länger, je mehr Methoden aktiviert sind.

Ausgabeverzeichnis

outputdir.png

Mit dieser Einstellung legen Sie fest, wo die Daten des Machine Learning Backends gespeichert werden. Stellen Sie sicher, dass dieses Verzeichnis existiert und der Webserver dort Schreibrechte hat. Diese Einstellung kann von Moodle-Sites verwendet werden, die als Cluster betrieben werden, um ein gemeinsames Ausgabeverzeichnis zu nutzen. Dieses Verzeichnis kann von Backends für maschinelles Lernen verwendet werden, um trainierte Algorithmen zu speichern, die später zur Berechnung von Vorhersagen verwendet werden. Der Moodle-Cronjob verhindert, dass Analytics-spezifische geplante Vorgänge gleichzeitig ausgeführt werden, die die Algorithmen trainieren und daraus Vorhersagen berechnen.

Geplante Vorgänge

Die meisten Analytics-API-Prozesse werden über geplante Vorgänge ausgeführt. Die Prozesse lesen die Logdaten der Aktivitäten und benötigen etwas Zeit für die Ausführung. Es gibt die geplanten Vorgänge Trainingsmodelle und Modelle vorhersagen auf der Seite auf die Seite Website-Administration (oder im Block Einstellungen > Website-Administration) > Server > Geplante Vorgänge. Es wird empfohlen, die Ausführzeiten zu konfigurieren, so dass diese geplanten Vorgänge jede Nacht ausgeführt werden.

Rollen definieren

Das Moodle Learning Analytics System verwendet einige Fähigkeiten. Die entsprechenden Rechte können für einzelne Rollen auf Systemebene oder in bestimmten Kontexten vergeben oder entzogen werden, um festzulegen, wer Einschätzungen sehen darf.

Um Benachrichtigungen über Einschätzungen zu erhalten und diese Einschätzungen anzusehen, benötigen Nutzer/innen das Recht analytics:listinsights in dem Kontext, den das Modell analysiert. Zum Beispiel wird das Modell Teilnehmer/innen sind gefährdet auszusteigen auf einen Kurskontext angewendet. Einschätzungen werden für jede Einschreibung in den Kursen generiert, die die Kriterien des Modells erfüllen (Kurse mit Kursbeginn-Datum in der Vergangenheit und Kursende-Datum in der Zukunft, mit mindestens einem/r Trainer/in und mindestens einem/r Teilnehmer/in), und diese Einschätzungen werden an alle verschickt, die das Recht analytics:listinsights in dem jeweiligen Kurs haben. Standardmäßig haben die Rollen Trainer/in mit und ohne Bearbeitungsrecht und Manager/in dieses Recht.

Einige Modelle (z.B. Keine Lehrtätigkeit) generieren Einschätzungen auf Systemebene. Um Einschätzungen von diesen Modellen zu erhlaten, müssen Nutzer/innen eine globale Rolle mit dem Recht analytics:listinsights haben. Standardmäßig ist das für die Manager-Rolle der Fall, wenn sie auf Systemebene zugewiesen wird.

Hinweis: Administrator/innen bekommen nicht automatisch Benachrichtigungen mit Einschätzungen, sie können jedoch Details zu jeder Benachrichtigung im System einsehen. Damit auch Administrator/innen über Einschätzungen benachrichtigt werden, weisen Sie allen Administrator/innen eine zusätzliche Rolle mit dem Recht analytics:listinsights auf Systemebene zu (z.B. die Manager-Rolle).