Das Erstellen eines Datenschemas für Amazon ML - 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.

Das Erstellen eines Datenschemas für Amazon ML

Ein Schema umfasst alle Attribute der Eingabedaten und die entsprechenden Datentypen. Hiermit kann Amazon ML die Daten in der Datenquelle verstehen. Amazon ML verwendet die Informationen im Schema zum Lesen und Interpretieren der Eingabedaten, zur Berechnung der Statistiken, zur Anwendung der richtigen Attributtransformationen und zur Einstellung der Lernalgorithmen. Wenn Sie kein Schema bereitstellen, leitet Amazon ML eines aus den Daten ab.

Beispielschema

Damit Amazon ML die Eingabedaten richtig lesen und genaue Voraussagen treffen kann, muss jedes Attribut dem richtigen Datentyp zugewiesen werden. Im Folgenden finden Sie ein Beispiel für die Zuweisung von Datentypen zu Attributen und die Berücksichtigung von Attributen und Datentypen in einem Schema. Wir nennen unser Beispiel "Kundenkampagne", da wir voraussagen möchten, welche Kunden auf unsere E-Mail-Kampagne reagieren werden. Unsere Eingabedatei ist eine CSV-Datei mit neun Spalten:

1,3,web developer,basic.4y,no,no,1,261,0 2,1,car repair,high.school,no,no,22,149,0 3,1,car mechanic,high.school,yes,no,65,226,1 4,2,software developer,basic.6y,no,no,1,151,0

Dies ist das Schema für diese Daten:

{     "version": "1.0",     "rowId": "customerId",     "targetAttributeName": "willRespondToCampaign",     "dataFormat": "CSV",     "dataFileContainsHeader": false,     "attributes": [         {             "attributeName": "customerId",             "attributeType": "CATEGORICAL"         },         {             "attributeName": "jobId",             "attributeType": "CATEGORICAL"         }, { "attributeName": "jobDescription", "attributeType": "TEXT" },         {             "attributeName": "education",             "attributeType": "CATEGORICAL"         },         {             "attributeName": "housing",             "attributeType": "CATEGORICAL"         },         {             "attributeName": "loan",             "attributeType": "CATEGORICAL"         },         {             "attributeName": "campaign",             "attributeType": "NUMERIC"         },         {             "attributeName": "duration",             "attributeType": "NUMERIC"         }, { "attributeName": "willRespondToCampaign", "attributeType": "BINARY" } ] }

In der Schemadatei für dieses Beispiel hat rowId den Wert customerId:

"rowId": "customerId",

Das Attribut willRespondToCampaign ist als Zielattribut festgelegt:

"targetAttributeName": "willRespondToCampaign ",

Das Attribut customerIdund der Datentyp CATEGORICAL sind der ersten Spalte zugewiesen, das Attribut jobId und der Datentyp CATEGORICAL sind der zweiten Spalte zugewiesen, das Attribut jobDescription und der Datentyp TEXT sind der dritten Spalte zugewiesen, das Attribut education und der Datentyp CATEGORICAL sind der vierten Spalte zugewiesen usw. Die neunte Spalte ist dem Attribut willRespondToCampaign und dem Datentyp BINARY zugewiesen, und dieses Attribut ist auch als Zielattribut festgelegt.

Verwenden des Felds targetAttributeName

Der Wert targetAttributeName ist der Name des Attributs, das Sie voraussagen möchten. Sie müssen targetAttributeName bei der Erstellung oder der Bewertung eines Modells zuweisen.

Wenn Sie ein ML-Modell trainieren oder bewerten, wird dietargetAttributeNameidentifiziert den Namen des Attributs in den Eingabedaten, welche die „richtigen“ Antworten für das Zielattribut enthalten. Amazon ML verwendet das Ziel mit den richtigen Antworten, um Muster zu erkennen und ein ML-Modell zu erstellen.

Wenn Sie Ihr Modell bewerten, verwendet Amazon ML das Ziel, um die Richtigkeit Ihrer Voraussagen zu prüfen. Nachdem Sie das ML-Modell erstellt und bewertet haben, können Sie Daten ohne zugewiesenen targetAttributeName verwenden, um Voraussagen mit Ihrem ML-Modell zu erzeugen.

Sie definieren das Zielattribut in der Amazon ML-Konsole, sobald Sie eine Datenquelle erstellen, oder in einer Schema-Datei. Wenn Sie eine eigene Schemadatei erstellen, verwenden Sie die folgende Syntax, um das Zielattribut festzulegen:

"targetAttributeName": "exampleAttributeTarget",

In diesem Beispiel ist exampleAttributeTarget der Name des Attributs in Ihrer Eingabedatei, welches das Zielattribut ist.

Verwenden des Felds rowID

Die row ID ist ein optionales Flag, das einem Attribut in den Eingabedaten zugewiesen ist. Wenn festgelegt, ist das als row ID markierte Attribut im Voraussageergebnis enthalten. Anhand dieses Attributs kann einfacher zugeordnet werden, welche Voraussage welcher Beobachtung entspricht. Ein Beispiel für eine gute row ID ist eine Kunden-ID oder ein ähnliches eindeutiges Attribut.

Anmerkung

Die Zeilen-ID dient nur zu Ihrer Referenz. Amazon ML verwendet sie nicht für die Schulung eines ML-Modells. Wenn ein Attribut als Zeilen-ID festgelegt wird, kann es nicht mehr zur Schulung eines ML-Modells verwendet werden.

Sie definieren dierow IDWenn Sie eine Datenquelle erstellen, oder in einer Schema-Datei. Wenn Sie eine eigene Schemadatei erstellen, verwenden Sie die folgende Syntax, um die row ID festzulegen:

"rowId": "exampleRow",

Im voranstehenden Beispiel ist exampleRow der Name des Attributs in Ihrer Eingabedatei, welches als Zeilen-ID festgelegt ist.

Beim Generieren von Stapelvoraussagen erhalten Sie möglicherweise folgendes Ergebnis:

tag,bestAnswer,score 55,0,0.46317 102,1,0.89625

In diesem Beispiel stellt RowID das Attribut customerId dar. Beispiel: customerId 55 wird auf unsere E-Mail-Kampagne mit geringer Wahrscheinlichkeit (0,46317) reagieren, während customerId 102 auf unsere E-Mail-Kampagne mit hoher Wahrscheinlichkeit (0,89625) reagieren wird.

Verwenden des Felds AttributeType

In Amazon ML gibt es vier Datentypen für Attribute:

Binary

Wählen Sie BINARY für ein Attribut, das nur zwei möglichen Status haben kann, z. B. yes oder no.

So kann beispielsweise das Attribut isNew, das nachverfolgt, ob eine Person ein neuer Kunde ist, den Wert true aufweisen, um anzuzeigen, dass der Kunde ein Neukunde ist, und den Wert false, um anzuzeigen, dass er oder sie kein neuer Kunde ist.

Gültige negative Werte sind 0, n, no, f und false.

Gültige positive Werte sind 1, y, yes, t und true.

Amazon ML ignoriert die Groß-/Kleinschreibung von Binäreingaben und entfernt die umgebenden Leerzeichen. " FaLSe " ist beispielsweise ein gültiger Binärwert. Sie können die binären Werte, die Sie in derselben Datenquelle verwenden, mischen, Sie können beispielsweisetrue,no, und1aus. Nur Amazon ML-Ausgänge0und1für binäre Attribute.

Kategorisch

Wählen Sie CATEGORICAL für ein Attribut, das eine begrenzte Anzahl eindeutiger Zeichenfolgenwerte aufnimmt. Beispielsweise eine Benutzer-ID, der Monat und eine ZIP-Code sind kategorische Werte. kategorische Attribute werden als einzelne Zeichenfolge behandelt und nicht weiter als Token verwendet.

Numerischer Wert

Wählen Sie NUMERIC für ein Attribut, das eine Menge als Wert verwendet.

Beispiel: Temperatur, Gewicht und Klickrate sind numerische Werte.

Nicht alle Attribute mit Zahlen sind numerisch. Kategorische Attribute, z. B. Tage des Monats und IDs, werden häufig als Zahlen dargestellt. Um als numerische Zahl zu gelten, muss eine Zahl mit einer anderen Zahl vergleichbar sein. Die Kunden-ID 664727 enthält beispielsweise keine Informationen zur Kunden-ID 124552, aber eine Gewichtung von 10 informiert Sie darüber, dass das Attribut schwerer gewichtet ist als ein Attribut mit einer Gewichtung von 5. Tage des Monats sind nicht numerischen, da der Erste eines Monats vor oder nach dem Zweiten eines anderen Monat auftreten kann.

Anmerkung

Wenn Sie Ihr Schema mit Amazon ML erstellen, wird dieNumericDatentyp für alle Attribute, die diese Zahlen verwenden. Wenn Amazon ML Ihr Schema erstellt, prüfen Sie auf falsche Zuweisungen, und setzen Sie diese Attribute aufCATEGORICALaus.

Text

Wählen Sie TEXT für ein Attribut, das eine Zeichenfolge von Wörtern ist. Wenn Sie Textattribute lesen, konvertiert Amazon ML sie in Token, die mit Leerzeichen voneinander getrennt werden.

Beispielsweise wird email subject zu email und subject und email-subject here wird zu email-subject und here.

Wenn der Datentyp für eine Variable im Schulungsschema nicht dem Datentyp für die Variable im Auswertungsschema entspricht, ändert Amazon ML den Auswertungsdatentyp so, dass er dem Schulungsdatentyp entspricht. Wenn das Trainingsdatenschema beispielsweise einen Datentyp vonTEXTzur Variablen zurage, aber das Auswertungsschema weist einen Datentyp vonNUMERICzuage, dann behandelt Amazon ML das Alter in den Auswertungsdaten alsTEXTVariablen anstelle vonNUMERICaus.

Weitere Informationen zu Statistiken zu den einzelnen Datentypen finden Sie unter Beschreibende Statistiken.

Bereitstellen eines Schemas für Amazon ML

Jede Datenquelle braucht ein Schema. Sie haben die Wahl zwischen zwei Möglichkeiten zum Bereitstellen eines Schemas für Amazon ML:

  • Erlauben Sie Amazon ML, die Datentypen der einzelnen Attribute in der Eingabedaten-Datei zu verwenden, und erstellen Sie automatisch ein Schema für Sie.

  • Stellen Sie eine Schemadatei bereit, sobald Sie Ihre Amazon Simple Storage Service (Amazon S3) -Daten hochladen.

Amazon ML die Erstellung Ihres Schemas erlauben

Wenn Sie die Amazon ML-Konsole zum Erstellen einer Datenquelle verwenden, verwendet Amazon ML basierend auf den Werten Ihrer Variablen einfache Regeln, um Ihr Schema zu erstellen. Es wird ausdrücklich empfohlen, dass Sie das von Amazon ML erstellten Schema überprüfen und die Datentypen gegebenenfalls korrigieren.

Bereitstellen eines Schemas

Nachdem Sie Ihre Schemadatei erstellt haben, müssen Sie sie Amazon ML zur Verfügung stellen. Sie haben hierfür zwei Möglichkeiten:

  1. Stellen Sie das Schema über die Amazon ML-Konsole bereit.

    Verwenden Sie die Konsole zum Erstellen Ihrer Datenquelle, und berücksichtigen Sie dabei die Schemadatei, indem Sie die Erweiterung .schema an den Namen Ihrer Eingabedatendatei anhängen. Ist beispielsweise die Amazon Simple Storage Service -URI (Amazon S3) zu Ihren Eingabedaten s3: //my-bucket-name/data/input.csv, ist die URI zu Ihrem Schema entsprechend s3: //my-bucket-name/data/input.csv.schema. Amazon ML findet die von Ihnen bereitgestellte Schemadatei automatisch und versucht nicht, das Schema aus Ihren Daten zu übernehmen.

    Um eine Verzeichnisdatei als Dateneingabe für Amazon ML zu verwenden, hängen Sie die Erweiterung .schema an Ihren Verzeichnispfad an. Wenn sich Ihre Datendateien beispielsweise unter s3://examplebucket/path/to/data/ befinden, lautet die URI zu Ihrem Schema entsprechend s3://examplebucket/path/to/data/.schema.

  2. Stellen Sie das Schema über die Amazon ML -API bereit.

    Wenn Sie die Amazon ML-API aufrufen möchten, um Ihre Datenquelle zu erstellen, können Sie die Schemadatei in Amazon S3 hochladen und anschließend die URI zu der Datei in derDataSchemaLocationS3Attribut derCreateDataSourceFromS3API. Weitere Informationen finden Sie unter CreateDataSourceFromS3.

    Sie können das Schema direkt in den Nutzdaten vonCreateDataSource*APIsanstatt es zuerst auf Amazon S3 zu speichern. Hierzu fügen Sie die vollständige Schemazeichenfolge in das Attribut DataSchema von CreateDataSourceFromS3-, CreateDataSourceFromRDS- oder CreateDataSourceFromRedshift-APIs ein. Weitere Informationen finden Sie unter Amazon Machine Learning API Reference.