

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.

# In Gremlin-Inferenzabfragen verwendete Neptune-ML-Prädikate
<a name="machine-learning-gremlin-inference-query-predicates"></a>

## `Neptune#ml.deterministic`
<a name="machine-learning-gremlin-inference-neptune-ml-deterministic-predicate"></a>

Dieses Prädikat ist eine Option für induktive Inferenzabfragen, d. h. für Abfragen, die das Prädikat [`Neptune#ml.inductiveInference`](#machine-learning-gremlin-inference-neptune-ml-inductiveInference) enthalten.

Bei Verwendung der induktiven Inferenz erstellt die Neptune-Engine das entsprechende Unterdiagramm zur Auswertung des trainierten GNN-Modells. Die Anforderungen dieses Unterdiagramms sind von den Parametern des endgültigen Modells abhängig. Insbesondere bestimmt der Parameter `num-layer` die Anzahl der Traversierungs-Hops von den Zielknoten oder -kanten. Der Parameter `fanouts` gibt an, wie viele Nachbarn bei jedem Hop abgefragt werden sollen (siehe [HPO-Parameter](machine-learning-customizing-hyperparams.md)).

Standardmäßig werden induktive Inferenzabfragen nicht deterministisch ausgeführt, d. h. Neptune erstellt die Nachbarschaft in randomisierter Weise. Diese normalen Abfragen randomisierter Nachbarschaften führen manchmal zu unterschiedlichen Vorhersagen.

Wenn Sie `Neptune#ml.deterministic` in eine induktive Inferenzabfrage einfügen, versucht die Neptune-Engine, Nachbarn deterministisch abzufragen, sodass mehrere Aufrufe derselben Abfrage jedes Mal dieselben Ergebnisse zurückgeben. Es kann jedoch nicht garantiert werden, dass die Ergebnisse vollständig deterministisch sind, da Änderungen des zugrunde liegenden Diagramms und Artefakte verteilter Systeme weiter zu Schwankungen führen können.

Sie fügen das Prädikat `Neptune#ml.deterministic` in eine Abfrage wie die folgende ein:

```
.with("Neptune#ml.deterministic")
```

Wenn das Prädikat `Neptune#ml.deterministic` in einer Abfrage enthalten ist, die nicht auch `Neptune#ml.inductiveInference` enthält, wird es einfach ignoriert.

## `Neptune#ml.disableInductiveInferenceMetadataCache`
<a name="machine-learning-gremlin-disableInductiveInferenceMetadataCache-predicate"></a>

Dieses Prädikat ist eine Option für induktive Inferenzabfragen, d. h. für Abfragen, die das Prädikat [`Neptune#ml.inductiveInference`](#machine-learning-gremlin-inference-neptune-ml-inductiveInference) enthalten.

Für induktive Inferenzabfragen verwendet Neptune eine in Amazon S3 gespeicherte Metadatendatei, um bei der Erstellung der Nachbarschaft die Anzahl der Hops und den Fanout zu bestimmen. Neptune speichert diese Modellmetadaten normalerweise im Cache, um zu vermeiden, dass die Datei wiederholt aus Amazon S3 abgerufen wird. Das Caching kann durch Einfügen des Prädikats `Neptune#ml.disableInductiveInferenceMetadataCache` deaktiviert werden. Obwohl es für Neptune langsamer sein kann, die Metadaten direkt von Amazon S3 abzurufen, ist es nützlich, wenn der SageMaker KI-Endpunkt nach einem erneuten Training oder einer Transformation aktualisiert wurde und der Cache veraltet ist.

Sie fügen das Prädikat `Neptune#ml.disableInductiveInferenceMetadataCache` in eine Abfrage wie folgt ein:

```
.with("Neptune#ml.disableInductiveInferenceMetadataCache")
```

Dies ist ein Beispielabfrage in einem Jupyter-Notebook:

```
%%gremlin
g.with("Neptune#ml.endpoint", "ep1")
 .with("Neptune#ml.iamRoleArn", "arn:aws:iam::123456789012:role/NeptuneMLRole")
 .with("Neptune#ml.disableInductiveInferenceMetadataCache")
 .V('101').properties("rating")
 .with("Neptune#ml.regression")
 .with("Neptune#ml.inductiveInference")
```

## `Neptune#ml.endpoint`
<a name="machine-learning-gremlin-inference-neptune-ml-endpoint-predicate"></a>

Das Prädikat `Neptune#ml.endpoint` wird in einem `with()`-Schritt verwendet, um den Inferenzendpunkt anzugeben, wenn notwendig:

```
 .with("Neptune#ml.endpoint", "the model's SageMaker AI inference endpoint")
```

Sie können den Endpunkt anhand der `id` oder der URL identifizieren. Beispiel:

```
 .with( "Neptune#ml.endpoint", "node-classification-movie-lens-endpoint" )
```

Oder:

```
 .with( "Neptune#ml.endpoint", "https://runtime.sagemaker.us-east-1.amazonaws.com/endpoints/node-classification-movie-lens-endpoint/invocations" )
```

**Anmerkung**  
Wenn Sie [den Parameter`neptune_ml_endpoint`](machine-learning-cluster-setup.md#machine-learning-set-inference-endpoint-cluster-parameter) in Ihrer Neptune-DB-Cluster-Parametergruppe auf den Endpunkt `id` oder die URL festlegen, müssen Sie das Prädikat `Neptune#ml.endpoint` nicht in jede Abfrage einfügen.

## `Neptune#ml.iamRoleArn`
<a name="machine-learning-gremlin-inference-neptune-ml-iamRoleArn-predicate"></a>

`Neptune#ml.iamRoleArn`wird in einem `with()` Schritt verwendet, um den ARN der SageMaker AI-Ausführungs-IAM-Rolle anzugeben, falls erforderlich:

```
 .with("Neptune#ml.iamRoleArn", "the ARN for the SageMaker AI execution IAM role")
```

Informationen zum Erstellen der IAM-Rolle für die SageMaker AI-Ausführung finden Sie unter. [Erstellen Sie eine benutzerdefinierte Rolle NeptuneSageMaker IAMRole](machine-learning-manual-setup.md#ml-manual-setup-sm-role)

**Anmerkung**  
Wenn Sie [den `neptune_ml_iam_role` Parameter](machine-learning-cluster-setup.md#machine-learning-enabling-create-param-group) in Ihrer Neptune DB-Cluster-Parametergruppe auf den ARN Ihrer IAM-Rolle für die SageMaker KI-Ausführung festlegen, müssen Sie das `Neptune#ml.iamRoleArn` Prädikat nicht in jede Abfrage aufnehmen.

## Neptune\$1ml.inductiveInference
<a name="machine-learning-gremlin-inference-neptune-ml-inductiveInference"></a>

Die transduktive Inferenz ist in Gremlin standardmäßig aktiviert. Um eine [induktive Inferenzabfrage in Echtzeit](machine-learning-overview-evolving-data.md#inductive-vs-transductive-inference) zu erstellen, fügen Sie das Prädikat `Neptune#ml.inductiveInference` wie folgt hinzu:

```
.with("Neptune#ml.inductiveInference")
```

Wenn Ihr Diagramm dynamisch ist, ist die induktive Inferenz häufig die beste Wahl. Wenn Ihr Diagramm jedoch statisch ist, ist die transduktive Inferenz schneller und effizienter.

## `Neptune#ml.limit`
<a name="machine-learning-gremlin-inference-neptune-ml-limit-predicate"></a>

Das Prädikat `Neptune#ml.limit` begrenzt optional die Anzahl der Ergebnisse, die pro Entität zurückgegeben werden:

```
 .with( "Neptune#ml.limit", 2 )
```

Standardmäßig ist der Grenzwert 1. Die maximale Anzahl, die festgelegt werden kann, ist 100.

## `Neptune#ml.threshold`
<a name="machine-learning-gremlin-inference-neptune-ml-threshold-predicate"></a>

Das Prädikat `Neptune#ml.threshold` legt optional einen Mindestwert für Ergebniswerte fest:

```
 .with( "Neptune#ml.threshold", 0.5D )
```

So werden alle Ergebnisse verworfen, deren Werte unter dem angegebenen Schwellenwert liegen.

## `Neptune#ml.classification`
<a name="machine-learning-gremlin-inference-neptune-ml-classification-predicate"></a>

Das `Neptune#ml.classification` Prädikat wird an den `properties()` Schritt angehängt, um festzulegen, dass die Eigenschaften vom SageMaker KI-Endpunkt des Knotenklassifikationsmodells abgerufen werden müssen:

```
 .properties( "property key of the node classification model" ).with( "Neptune#ml.classification" )
```

## `Neptune#ml.regression`
<a name="machine-learning-gremlin-inference-neptune-ml-regression-predicate"></a>

Das `Neptune#ml.regression` Prädikat wird an den `properties()` Schritt angehängt, um festzulegen, dass die Eigenschaften vom SageMaker KI-Endpunkt des Knotenregressionsmodells abgerufen werden müssen:

```
 .properties( "property key of the node regression model" ).with( "Neptune#ml.regression" )
```

## `Neptune#ml.prediction`
<a name="machine-learning-gremlin-inference-neptune-ml-prediction-predicate"></a>

Das Prädikat `Neptune#ml.prediction` wird an die Schritte `in()` und `out()` angefügt, um festzulegen, dass es sich um eine Linkvorhersage-Abfrage handelt:

```
 .in("edge label of the link prediction model").with("Neptune#ml.prediction").hasLabel("target node label")
```

## `Neptune#ml.score`
<a name="machine-learning-gremlin-inference-neptune-ml-score-predicate"></a>

Das Prädikat `Neptune#ml.score` wird in Abfragen zur Klassifizierung von Gremlin-Knoten oder -Kanten verwendet, um Machine-Learning-Konfidenzwerte abzurufen. Das Prädikat `Neptune#ml.score` sollte zusammen mit dem Abfrageprädikat im Schritt `properties()` übergeben werden, um ML-Konfidenzwerte für Abfragen zur Klassifizierung von Knoten oder Kanten zu erhalten.

Sie finden ein Beispiel für die Knotenklassifizierung mit [weiteren Beispielen für die Knotenklassifizierung](machine-learning-gremlin-vertex-classification-queries.md#machine-learning-gremlin-node-class-other-queries) und ein Beispiel für die Kantenklassifizierung im Abschnitt für die [Kantenklassifizierung](machine-learning-gremlin-edge-classification-queries.md).