Referenz zum Rezeptformat - Amazon Machine Learning

Wir aktualisieren den Amazon Machine Learning Learning-Service nicht mehr und akzeptieren keine neuen Benutzer mehr dafür. Diese Dokumentation ist für bestehende Benutzer verfügbar, wir aktualisieren sie jedoch nicht mehr. Weitere Informationen finden Sie unterWas Amazon Machine Learning.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Referenz zum Rezeptformat

Amazon ML-Rezepte enthalten Anweisungen zum Umwandeln Ihrer Daten im Rahmen des maschinellen Lernprozesses. Rezepte werden mit einer JSON-ähnlichen Syntax definiert, weisen aber zusätzliche Einschränkungen über die normalen JSON-Einschränkungen hinaus auf. Rezepte weisen die folgenden Abschnitte auf, die in der hier dargestellten Reihenfolge angezeigt werden müssen:

  • Gruppen ermöglichen die Gruppierung mehrerer Variablen zur einfacheren Anwendung von Transformationen. Sie können beispielsweise eine Gruppe aller Variablen erstellen, die im Zusammenhang mit Freitextteilen einer Webseite (Titel, Textkörper) stehen, und dann eine Transformation für alle Teile gleichzeitig ausführen.

  • Zuweisungen ermöglichen die Erstellung von benannten Zwischenvariablen, die bei der Verarbeitung wiederverwendet werden können.

  • Ausgaben definieren, welche Variablen im Lernprozess verwendet werden und welche Transformationen ggf. für diese Variablen gelten.

Gruppen

Sie können Gruppen von Variablen definieren, um alle Variablen innerhalb der Gruppen gemeinsam zu transformieren oder um diese Variablen für maschinelles Lernen ohne Transformation zu verwenden. Amazon ML erstellt standardmäßig die folgenden Gruppen für Sie:

ALL_TEXT, ALL_NUMERIC, ALL_CATEGORICAL, ALL_BINARY – Typspezifische Gruppen basierend auf Variablen, die im Datenquellenschema definiert sind.

Anmerkung

Mit ALL_INPUTS kann keine Gruppe erstellt werden.

Diese Variablen können im Ausgabenabschnitts Ihres Rezepts verwendet werden, ohne definiert zu werden. Sie können auch benutzerdefinierte Gruppen erstellen, indem Sie Variablen zu bzw. von vorhandenen Gruppen addieren bzw. subtrahieren, oder direkt aus einer Sammlung von Variablen. Im folgenden Beispiel zeigen werden alle drei Ansätze sowie die Syntax für die Gruppenzuweisung veranschaulicht:

"groups": { "Custom_Group": "group(var1, var2)", "All_Categorical_plus_one_other": "group(ALL_CATEGORICAL, var2)" }

Gruppennamen müssen mit einem Buchstaben beginnen und können zwischen 1 und 64 Zeichen lang sein. Wenn der Gruppenname nicht mit einem Buchstaben beginnt oder Sonderzeichen (""\t\r\n () \) enthält, muss der Name in Anführungszeichen eingeschlossen werden, damit er in das Rezept aufgenommen werden kann.

Zuweisungen

Zur besseren Lesbarkeit und der Einfachheit halber können Sie eine oder mehrere Transformationen einer Zwischenvariablen zuweisen. Wenn Sie beispielsweise eine Textvariable mit dem Namen "email_subject" haben und Sie die Kleinbuchstaben-Transformation darauf anwenden, können Sie der resultierenden Variable den Namen "email_subject_lowercase" geben, sodass diese an anderer Stelle im Rezept leicht auffindbar ist. Zuweisungen können auch verkettet werden, sodass Sie mehrere Transformationen in einer angegebenen Reihenfolge anwenden können. Das folgende Beispiel zeigt einzelne und verkettete Zuordnungen in der Rezeptsyntax:

"assignments": { "email_subject_lowercase": "lowercase(email_subject)", "email_subject_lowercase_ngram":"ngram(lowercase(email_subject), 2)" }

Namen von Zwischenvariablen müssen mit einem Buchstaben beginnen und können zwischen 1 und 64 Zeichen lang sein. Wenn der Name nicht mit einem Buchstaben beginnt oder Sonderzeichen (""\t\r\n () \) enthält, muss der Name in Anführungszeichen eingeschlossen werden, damit er in das Rezept aufgenommen werden kann.

Outputs

Der Ausgabeabschnitt steuert, welche Eingabevariablen für den Lernprozess verwendet werden und welche Transformationen darauf angewendet werden. Ein leerer oder nicht vorhandener Ausgabeabschnitt stellt einen Fehler dar, da keine Daten an den Lernprozess übergeben werden.

Der einfachste Ausgabeabschnitt umfasst die vordefinierte Gruppe ALL_INPUTS, die Amazon ML anweist, alle Variablen für den Lernprozess zu verwenden, die in der Datenquelle definiert sind:

"outputs": [ "ALL_INPUTS" ]

Der Ausgabeabschnitt kann auch auf die anderen vordefinierten Gruppen verweisen, indem Amazon ML angewiesen wird, alle Variablen in diesen Gruppen zu verwenden:

"outputs": [ "ALL_NUMERIC", "ALL_CATEGORICAL" ]

Der Ausgabeabschnitt kann auch auf benutzerdefinierte Gruppen verweisen. Im folgenden Beispiel wird nur eine der benutzerdefinierten Gruppen für maschinelles Lernen verwendet, die im Abschnitt mit den Gruppierungszuweisungen im vorhergehenden Beispiel definiert sind. Alle anderen Variablen werden gelöscht:

"outputs": [ "All_Categorical_plus_one_other" ]

Der Ausgabeabschnitt kann auch auf Variablenzuweisungen verweisen, die im Zuweisungsabschnitt definiert sind:

"outputs": [ "email_subject_lowercase" ]

Und Eingabevariablen oder Transformationen können direkt im Ausgabenabschnitt definiert werden:

"outputs": [ "var1", "lowercase(var2)" ]

Die Ausgabe muss explizit alle Variablen und transformierten Variablen angeben, von denen erwartet wird, dass sie für den Lernprozess verfügbar sind. Angenommen, Sie schließen ein kartesisches Produkt aus var1 und var2 in die Ausgabe ein. Wenn Sie auch die unformatierten Variablen var1 und var2 einschließen möchten, müssen Sie die unformatierten Variablen im Ausgabeabschnitt hinzufügen:

"outputs": [ "cartesian(var1,var2)", "var1", "var2" ]

Ausgaben können zur besseren Lesbarkeit Kommentare umfassen, indem der Kommentartext zusammen mit der Variablen hinzugefügt wird:

"outputs": [ "quantile_bin(age, 10) //quantile bin age", "age // explicitly include the original numeric variable along with the binned version" ]

Sie können alle diese Ansätze innerhalb des Ausgabeabschnitts miteinander mischen.

Anmerkung

In der Amazon ML-Konsole sind beim Hinzufügen eines Rezepts keine Kommentare zulässig.

Beispiel eines vollständigen Rezepts

Das folgende Beispiel bezieht sich auf mehrere integrierten Datenprozessoren, die den vorherigen Beispielen eingeführt wurden:

{ "groups": { "LONGTEXT": "group_remove(ALL_TEXT, title, subject)", "SPECIALTEXT": "group(title, subject)", "BINCAT": "group(ALL_CATEGORICAL, ALL_BINARY)" }, "assignments": { "binned_age" : "quantile_bin(age,30)", "country_gender_interaction" : "cartesian(country, gender)" }, "outputs": [ "lowercase(no_punct(LONGTEXT))", "ngram(lowercase(no_punct(SPECIALTEXT)),3)", "quantile_bin(hours-per-week, 10)", "hours-per-week // explicitly include the original numeric variable along with the binned version", "cartesian(binned_age, quantile_bin(hours-per-week,10)) // this one is critical", "country_gender_interaction", "BINCAT" ] }