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 Feature-Feld in neptune_ml
Eigenschaftswerte und RDF Literale gibt es in verschiedenen Formaten 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 abgeleitete Feature-Spezifikation überschreiben oder eine numerische Bucket-, TF- oder SBERT -Spezifikation für eine Eigenschaft hinzufügen möchten IDF FastText, können Sie die Feature-Codierung mithilfe des Features-Felds steuern.
Anmerkung
Sie können das features
Feld nur verwenden, um die Feature-Spezifikationen für Eigenschaftsdiagrammdaten zu steuern, nicht für Daten. RDF
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 Kodierung fastText
. Dies ist die empfohlene Kodierung für Funktionen, die nur eine der fünf fastText unterstützten Sprachen verwenden. 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 Begriff Frequenz — inverse Dokumentenfrequenz
(TF-IDF) Vektorisierer für die Kodierung von Text. Die IDF TF-Kodierung unterstützt statistische Funktionen, die die anderen Kodierungen nicht bieten.
Das features
Feld enthält eine JSON Reihe von Merkmalen für Knoteneigenschaften. Objekte im Array können die folgenden Felder enthalten:
Inhalt
Das Knotenfeld in Funktionen
Das Feld node
gibt die Eigenschaftsdiagramm-Bezeichnung eines Feature-Eckpunkts an. Beispielsweise:
"node": "Person"
Wenn ein Eckpunkt mehrere Bezeichnungen hat, verwenden Sie ein Array, um sie aufzunehmen. Beispielsweise:
"node": ["Admin", "Person"]
Das Kantenfeld 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. Beispielsweise:
"edge": ["User", "reviewed", "Movie"]
Wenn ein Quell- oder Zieleckpunkt eines Kantentyps mehrere Bezeichnungen hat, verwenden Sie ein weiteres Array. Beispielsweise:
"edge": [["Admin", "Person"]. "edited", "Post"]
Das Eigenschaftsfeld in Features
Mit dem Eigenschaftsparameter können Sie eine Eigenschaft des Eckpunkts angeben, der vom Parameter node
identifiziert wird. Beispielsweise:
"property" : "age"
Mögliche Werte des Typfeldes für Features
Der Parameter type
gibt den Typ des Features an, das definiert wird. Beispielsweise:
"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. Einauto
-Feature kann auch das optionale Feldseparator
besitzen. -
"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. Eincategory
-Feature kann auch das optionale Feldseparator
besitzen. -
"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 Feldernorm
,imputer
undseparator
besitzen. -
"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 Felderrange
undbucket_cnt
und kann optional auch die Felderimputer
und/oderslide_window_size
enthalten. -
"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. -
"text_fasttext"
— Diese Feature-Codierung wandelt Eigenschaftswerte, die aus Sätzen oder Freiformtext bestehen, mithilfe von fastTextModellen in numerische Vektoren um. 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 Kodierungtext_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.Verwenden Sie für andere Sprachen als die, die sie fastText unterstützen, 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, nämlich text_sbert128
, welche die Standardmethode ist, wenn Sie nur angebentext_sbert
, und.text_sbert512
Der Unterschied zwischen ihnen besteht in der maximalen Anzahl von Token in einer Texteigenschaft, die kodiert wird. Dietext_sbert128
-Kodierung kodiert nur die ersten 128 Token, währendtext_sbert512
bis zu 512 Token kodiert. Daher kann die Verwendung vontext_sbert512
mehr Verarbeitungszeit alstext_sbert128
in Anspruch nehmen. Beide Methoden sind langsamer alstext_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. -
"text_tfidf"
— Bei dieser Kodierung werden Texteigenschaftswerte mithilfe eines Vektorisierers mit Termfrequenz und umgekehrter Dokumentenfrequenz (TF-) in numerische Vektoren umgewandelt. IDF Sie definieren die Parameter einer
text_tfidf
-Feature-Kodierung mithilfe der Felderngram_range
,min_df
undmax_features
. -
"none"
– Die Verwendung des Typsnone
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 Normfeld
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 Sprachfeld
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)
Für die text_sbertKodierung wird dieses Feld 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 Trennfeld
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 Bereichsfeld
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 Imputer-Feld
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
Eine Einstellung von 100 bewirkt, dass der IDF TF-Vectorizer nur die 100 gängigsten 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.