Das Feld features in neptune_ml - Amazon Neptune

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 Feld features in neptune_ml

Eigenschaftswerte und RDF-Literale haben verschiedene Formate und Datentypen. Um eine gute Machine-Learning-Leistung zu erzielen, müssen diese Werte in numerische Kodierungen konvertiert werden, so genannte features.

Neptune ML extrahiert und kodiert Features als Teil der Schritte für Datenexport und Datenverarbeitung durch, wie in Feature-Kodierung in Neptune ML beschrieben.

Für Eigenschaftsdiagramm-Datensätze inferiert der Exportvorgang automatisch auto-Features für Zeichenfolgeneigenschaften und numerische Eigenschaften, die mehrere Werte enthalten. Für numerische Eigenschaften, die Einzelwerte enthalten, werden numerical-Features inferiert. Für Datumseigenschaften werden datetime-Features inferiert.

Wenn Sie eine automatisch inferierte Feature-Spezifikation überschreiben oder eine numerische TF-IDF-, FastText- oder SBERT-Bucket-Spezifikation für eine Eigenschaft hinzufügen möchten, können Sie die Feature-Kodierung über das Feld features steuern.

Anmerkung

Sie können das Feld features nur verwenden, um die Feature-Spezifikationen für Eigenschaftsdiagrammdaten zu steuern, nicht für RDF-Daten.

Für Freiformtext kann Neptune ML mehrere verschiedene Modelle verwenden, um die Sequenz von Token in einem Zeichenfolgen-Eigenschaftswert in einen Realwertvektor fester Größe zu konvertieren:

  • text_fasttext   –   Verwendet fastText-Kodierung. Dies ist die empfohlene Kodierung für Features, die eine und nur eine der fünf Sprachen verwenden, die fastText unterstützt.

  • text_sbert   –   Verwendet die Kodierungsmodelle Sentence BERT (SBERT). Dies ist die empfohlene Kodierung für Text, den text_fasttext nicht unterstützt.

  • text_word2vec   –   Verwendet Word2Vec-Algorithmen (ursprünglich von Google veröffentlicht), um Text zu kodieren. Word2Vec unterstützt nur Englisch.

  • text_tfidf   –   Verwendet den Vektorisierer term frequency–inverse document frequency (TF-IDF) für die Textkodierung. Die TF-IDF-Kodierung unterstützt statistische Features, die von den anderen Kodierungen nicht unterstützt werden.

Das Feld features enthält ein JSON-Array mit Knoteneigenschaft-Features. Objekte im Array können die folgenden Felder enthalten:

Das Feld node in features

Das Feld node gibt die Eigenschaftsdiagramm-Bezeichnung eines Feature-Eckpunkts an. Zum Beispiel:

"node": "Person"

Wenn ein Eckpunkt mehrere Bezeichnungen hat, verwenden Sie ein Array, um sie aufzunehmen. Zum Beispiel:

"node": ["Admin", "Person"]

Das Feld edge in features

Das Feld edge gibt den Kantentyp einer Feature-Kante an. Ein Kantentyp besteht aus einem Array, das die Eigenschaftsdiagramm-Bezeichnung(en) des Quelleckpunkts, der Kante und des Zieleckpunkts enthält. Sie müssen alle drei Werte angeben, wenn Sie ein Kanten-Feature angeben. Zum Beispiel:

"edge": ["User", "reviewed", "Movie"]

Wenn ein Quell- oder Zieleckpunkt eines Kantentyps mehrere Bezeichnungen hat, verwenden Sie ein weiteres Array. Zum Beispiel:

"edge": [["Admin", "Person"]. "edited", "Post"]

Das Feld property in features

Mit dem Eigenschaftsparameter können Sie eine Eigenschaft des Eckpunkts angeben, der vom Parameter node identifiziert wird. Zum Beispiel:

"property" : "age"

Mögliche Werte des Felds type für Features

Der Parameter type gibt den Typ des Features an, das definiert wird. Zum Beispiel:

"type": "bucket_numerical"
Mögliche Werte des Parameters type
  • "auto"   –   Gibt an, dass Neptune ML den Eigenschaftstyp automatisch erkennen und die korrekte Feature-Kodierung anwenden soll. Ein auto-Feature kann auch das optionale Feld separator besitzen.

    Siehe Auto-Feature-Kodierung in Neptune ML.

  • "category"   –   Diese Feature-Kodierung stellt einen Eigenschaftswert als eine von mehreren Kategorien dar. Mit anderen Worten, das Feature kann einen oder mehrere diskrete Werte annehmen. Ein category-Feature kann auch das optionale Feld separator besitzen.

    Siehe Kategorische Features in Neptune ML.

  • "numerical"   –   Diese Feature-Kodierung stellt numerische Eigenschaftswerte als Zahlen in einem kontinuierlichen Intervall dar, wobei „größer als“ und „kleiner als“ eine Bedeutung haben.

    Ein numerical-Feature kann auch die optionalen Felder norm, imputer und separator besitzen.

    Siehe Numerische Features in Neptune ML.

  • "bucket_numerical"   –   Diese Feature-Kodierung unterteilt numerische Eigenschaftswerte in eine Reihe von Buckets oder Kategorien.

    Sie könnten beispielsweise das Alter von Personen in 4 Buckets unterteilen: Kinder (0–20), junge Erwachsene (20–40), Personen mittleren Alters (40–60) und ältere Menschen (60 und älter).

    Das bucket_numerical-Feature erfordert die Felder range und bucket_cnt und kann optional auch die Felder imputer und/oder slide_window_size enthalten.

    Siehe Bucket-numerische Features in Neptune ML.

  • "datetime"   –   Diese Feature-Kodierung stellt den datetime-Eigenschaftswert als Array dieser Kategorie-Features dar: Jahr, Monat, Wochentag und Stunde.

    Eine oder mehrere dieser vier Kategorien können mithilfe des Parameters datetime_parts eliminiert werden.

    Siehe Datetime-Features in Neptune ML.

  • "text_fasttext"   –   Diese Feature-Kodierung konvertiert Eigenschaftswerte, die aus Sätzen oder Freiformtext bestehen, mithilfe von fastText-Modellen in numerische Vektoren. Sie unterstützt fünf Sprachen, nämlich Englisch (en), Chinesisch (zh), Hindi (hi), Spanisch (es) und Französisch (fr). Für Texteigenschaftswerte in einer dieser fünf Sprachen wird die Kodierung text_fasttext empfohlen. Sie kann jedoch nicht für Fälle verwendet werden, in denen derselbe Satz Wörter in mehr als einer Sprache enthält.

    Für Sprachen, die nicht von fastText unterstützt werden, verwenden Sie die text_sbert-Kodierung.

    Wenn es zahlreiche Eigenschaftswert-Textzeichenfolgen mit mehr als beispielsweise 120 Token gibt, verwenden Sie das Feld max_length, um die Anzahl der Token in jeder von "text_fasttext" kodierten Zeichenfolge zu begrenzen.

    Siehe fastText-Kodierung von Texteigenschaftswerten in Neptune ML.

  • "text_sbert"   –   Diese Kodierung konvertiert Texteigenschaftswerte mithilfe von Sentence BERT (SBERT)-Modellen in numerische Vektoren. Neptune unterstützt zwei SBERT-Methoden: text_sbert128 (die Standardmethode, wenn Sie nur text_sbert angeben) und text_sbert512. Der Unterschied zwischen ihnen besteht in der maximalen Anzahl von Token in einer Texteigenschaft, die kodiert wird. Die text_sbert128-Kodierung kodiert nur die ersten 128 Token, während text_sbert512 bis zu 512 Token kodiert. Daher kann die Verwendung von text_sbert512 mehr Verarbeitungszeit als text_sbert128 in Anspruch nehmen. Beide Methoden sind langsamer als text_fasttext.

    Die text_sbert*-Methoden unterstützen zahlreiche Sprachen und können einen Satz kodieren, der mehr als eine Sprache enthält.

    Siehe Sentence BERT (SBERT)-Satzkodierung von Text-Features in Neptune ML.

  • "text_word2vec"   –   Diese Kodierung konvertiert Texteigenschaftswerte mithilfe von Word2Vec-Algorithmen in numerische Vektoren. Sie unterstützt nur Englisch.

    Siehe Word2Vec-Kodierung von Text-Features in Neptune ML.

  • "text_tfidf"   –   Bei dieser Kodierung werden Texteigenschaftswerte mithilfe des Vektorisierers term frequency–inverse document frequency (TF-IDF) in numerische Vektoren konvertiert.

    Sie definieren die Parameter einer text_tfidf-Feature-Kodierung mithilfe der Felder ngram_range, min_df und max_features.

    Siehe TF-IDF-Kodierung von Text-Features in Neptune ML.

  • "none"   –   Die Verwendung des Typs none führt dazu, dass keine Feature-Kodierung erfolgt. Stattdessen werden die rohen Eigenschaftswerte geparst und gespeichert.

    Verwenden Sie none nur, wenn Sie Ihre eigene benutzerdefinierte Feature-Kodierung als Teil eines benutzerdefinierten Modelltrainings ausführen möchten.

Das Feld norm

Dies ist ein Pflichtfeld für numerische Features. Es gibt eine Normalisierungsmethode für numerische Werte an:

"norm": "min-max"

Die folgenden Normalisierungsmethoden werden unterstützt:

  • "min-max"   –   Normalisiert jeden Wert, indem der Mindestwert subtrahiert wird und der Wert dann durch die Differenz zwischen Maximalwert und Mindestwert dividiert wird.

  • "standard"   –   Normalisiert jeden Wert, indem er durch die Summe aller Werte dividiert wird.

  • "none"   –   Normalisiert die numerischen Werte während der Kodierung nicht.

Siehe Numerische Features in Neptune ML.

Das Feld language

Das Feld für die Sprache gibt die Sprache an, die in Texteigenschaftswerten verwendet wird. Die Nutzung ist von der Textkodierungsmethode abhängig:

  • Dieses Feld ist für die text_fasttext-Kodierung erforderlich und es muss eine der folgenden Sprachen angegeben werden:

    • en   (Englisch)

    • zh   (Chinesisch)

    • hi   (Hindi)

    • es   (Spanisch)

    • fr   (Französisch)

  • Dieses Feld wird für die text_sbert-Kodierung nicht verwendet, da die SBERT-Kodierung mehrsprachig ist.

  • Dieses Feld ist für die text_word2vec-Kodierung optional, da text_word2vec nur Englisch unterstützt. Wenn vorhanden, muss der Name des englischsprachigen Modells angegeben werden:

    "language" : "en_core_web_lg"
  • Dieses Feld wird für die text_tfidf-Kodierung nicht verwendet.

Das Feld max_length

Das Feld max_length ist optional für text_fasttext-Features, wo es die maximale Anzahl von Token in einem Eingabe-Text-Feature angibt, die kodiert werden. Eingabetext, der länger als max_length ist, wird abgeschnitten. Wenn Sie beispielsweise max_length auf 128 festlegen, werden alle Token in einer Textsequenz nach dem 128. Zeichen ignoriert:

"max_length": 128

Das Feld separator

Dieses Feld wird optional mit den Features category, numerical und auto verwendet. Es gibt ein Zeichen an, das für die Unterteilung eines Eigenschaftswerts in mehrere kategorische oder numerische Werte verwendet werden kann:

"separator": ";"

Verwenden Sie das Feld separator nur, wenn die Eigenschaft mehrere durch Trennzeichen getrennte Werte in einer einzigen Zeichenfolge speichert, z. B. "Actor;Director" oder "0.1;0.2".

Siehe Kategorische Features, Numerische Features und Auto-Verschlüsselung.

Das Feld range

Dies ist ein Pflichtfeld für bucket_numerical-Features. Es gibt den Bereich der numerischen Werte an, die in Buckets unterteilt werden sollen, und zwar im folgenden Format [lower-bound, upper-bound]:

"range" : [20, 100]

Wenn ein Eigenschaftswert kleiner als der untere Grenzwert ist, wird er dem ersten Bucket zugewiesen. Wenn er größer als der obere Grenzwert ist, wird er dem letzten Bucket zugewiesen.

Siehe Bucket-numerische Features in Neptune ML.

Das Feld bucket_cnt

Dies ist ein Pflichtfeld für bucket_numerical-Features. Es gibt die Anzahl der Buckets an, in die der numerische Bereich unterteilt werden soll, der durch den Parameter range definiert wird:

"bucket_cnt": 10

Siehe Bucket-numerische Features in Neptune ML.

Das Feld slide_window_size

Dieses Feld wird optional mit bucket_numerical-Features verwendet, um mehr als einem Bucket Werte zuzuweisen:

"slide_window_size": 5

Ein Gleitfenster funktioniert, indem Neptune ML die Fenstergröße s übernimmt und jeden numerischen Wert v einer Eigenschaft in einen Bereich von v - s/2 bis v + s/2 transformiert. Der Wert wird dann jedem Bucket zugewiesen, in dem sich der Bereich überschneidet.

Siehe Bucket-numerische Features in Neptune ML.

Das Feld imputer

Dieses Feld wird optional mit numerical- und bucket_numerical-Features verwendet, um eine Imputationstechnik zum Ausfüllen fehlender Werte bereitzustellen:

"imputer": "mean"

Die folgenden Imputationstechniken werden unterstützt:

  • "mean"

  • "median"

  • "most-frequent"

Wenn Sie diesen Parameter nicht angeben, wird die Datenvorverarbeitung angehalten und beendet, wenn ein fehlender Wert gefunden wird.

Siehe Numerische Features in Neptune ML und Bucket-numerische Features in Neptune ML.

Das Feld max_features

Dieses Feld wird optional von text_tfidf-Features verwendet, um die maximale Anzahl der Begriffe anzugeben, die kodiert werden sollen:

"max_features": 100

Die Einstellung 100 bewirkt, dass der TF-IDF-Vektorizer nur die 100 häufigsten Begriffe kodiert. Wenn Sie max_features nicht angeben, ist der Standardwert 5 000.

Siehe TF-IDF-Kodierung von Text-Features in Neptune ML.

Das Feld min_df

Dieses Feld wird optional von text_tfidf-Features verwendet, um die Mindesthäufigkeit von Begriffen anzugeben, die kodiert werden sollen:

"min_df": 5

Die Einstellung 5 bewirkt, dass ein Begriff in mindestens 5 verschiedenen Eigenschaftswerten vorkommen muss, um kodiert zu werden.

Wenn Sie den Parameter min_df nicht angeben, ist der Standardwert 2.

Siehe TF-IDF-Kodierung von Text-Features in Neptune ML.

Das Feld ngram_range

Dieses Feld wird optional von text_tfidf-Features verwendet, um die Größe anzugeben, die Wortsequenzen oder Token haben sollten, um als potenzielle einzelne Begriffe kodiert zu werden.

"ngram_range": [2, 4]

Der Wert [2, 4] gibt an, dass Sequenzen von 2, 3 und 4 Wörtern als potenzielle einzelne Begriffe betrachtet werden sollen.

Wenn Sie ngram_range nicht explizit angeben, ist der Standardwert [1, 1]. Das bedeutet, dass nur einzelne Wörter oder Token kodiert werden.

Siehe TF-IDF-Kodierung von Text-Features in Neptune ML.

Das Feld datetime_parts

Dieses Feld wird optional von datetime-Features verwendet, um anzugeben, welche Teile des datetime-Werts kategorisch kodiert werden sollen:

"datetime_parts": ["weekday", "hour"]

Wenn Sie datetime_parts nicht angeben, kodiert Neptune ML standardmäßig die Teile für Jahr, Monat, Wochentag und Stunden des datetime-Werts. Der Wert ["weekday", "hour"] gibt an, dass nur die datetime-Werte für Wochentag und Stunde kategorisch im Feature kodiert werden sollen.

Wenn ein Teil nicht mehr als einen eindeutigen Wert im Trainingssatz hat, wird er nicht kodiert.

Siehe Datetime-Features in Neptune ML.