

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Kueri klasifikasi tepi Gremlin di Neptunus ML
<a name="machine-learning-gremlin-edge-classification-queries"></a>

Untuk klasifikasi tepi Gremlin di Neptunus ML:
+ Model ini dilatih pada satu properti tepi. Himpunan nilai unik dari properti ini disebut sebagai satu set kelas.
+ Nilai properti kelas atau kategoris tepi dapat disimpulkan dari model klasifikasi tepi, yang berguna ketika properti ini belum melekat pada tepi.
+ Untuk mengambil satu atau lebih kelas dari model klasifikasi tepi, Anda perlu menggunakan `with()` langkah dengan predikat, `"Neptune#ml.classification"` untuk mengkonfigurasi langkah. `properties()` Format output mirip dengan apa yang Anda harapkan jika itu adalah properti tepi.

**catatan**  
Klasifikasi tepi hanya berfungsi dengan nilai properti string. Itu berarti bahwa nilai properti numerik seperti `0` atau tidak `1` didukung, meskipun string setara `"0"` dan adalah. `"1"` Demikian pula, nilai properti Boolean `true` dan `false` tidak berfungsi, tetapi `"true"` dan `"false"` lakukan.

Berikut adalah contoh kueri klasifikasi tepi yang meminta skor kepercayaan menggunakan `Neptune#ml.score` predikat:

```
g.with("Neptune#ml.endpoint","edge-classification-movie-lens-endpoint")
 .with("Neptune#ml.iamRoleArn","arn:aws:iam::0123456789:role/sagemaker-role")
 .E("relationship_1","relationship_2","relationship_3")
 .properties("knows_by", "Neptune#ml.score").with("Neptune#ml.classification")
```

Responsnya akan terlihat seperti ini:

```
==>p[knows_by->"Family"]
==>p[Neptune#ml.score->0.01234567]
==>p[knows_by->"Friends"]
==>p[Neptune#ml.score->0.543210]
==>p[knows_by->"Colleagues"]
==>p[Neptune#ml.score->0.10101]
```

## Sintaks kueri klasifikasi tepi Gremlin
<a name="machine-learning-gremlin-edge-classification-syntax"></a>

Untuk grafik sederhana di `User` mana simpul kepala dan ekor, dan `Relationship` merupakan tepi yang menghubungkannya, contoh kueri klasifikasi tepi adalah:

```
g.with("Neptune#ml.endpoint","edge-classification-social-endpoint")
 .with("Neptune#ml.iamRoleArn","arn:aws:iam::0123456789:role/sagemaker-role")
 .E("relationship_1","relationship_2","relationship_3")
 .properties("knows_by").with("Neptune#ml.classification")
```

Output dari kueri ini akan terlihat seperti berikut ini:

```
==>p[knows_by->"Family"]
==>p[knows_by->"Friends"]
==>p[knows_by->"Colleagues"]
```

Dalam query di atas, langkah `E()` dan `properties()` digunakan sebagai berikut:
+ `E()`Langkah ini berisi kumpulan tepi yang ingin Anda ambil kelas dari model klasifikasi tepi:

  ```
  .E("relationship_1","relationship_2","relationship_3")
  ```
+ `properties()`Langkah berisi kunci di mana model dilatih, dan `.with("Neptune#ml.classification")` harus menunjukkan bahwa ini adalah kueri inferensi HTML klasifikasi tepi.

Kunci properti ganda saat ini tidak didukung di langkah `properties().with("Neptune#ml.classification")`. Misalnya, kueri berikut menghasilkan pengecualian yang dilemparkan:

```
g.with("Neptune#ml.endpoint","edge-classification-social-endpoint")
 .with("Neptune#ml.iamRoleArn","arn:aws:iam::0123456789:role/sagemaker-role")
 .E("relationship_1","relationship_2","relationship_3")
 .properties("knows_by", "other_label").with("Neptune#ml.classification")
```

Untuk pesan kesalahan tertentu, lihat[Daftar pengecualian untuk kueri inferensi Gremlin Neptune ML](machine-learning-gremlin-exceptions.md).

Langkah `properties().with("Neptune#ml.classification")` dapat digunakan dalam kombinasi dengan semua langkah-langkah berikut:
+ `value()`
+ `value().is()`
+ `hasValue()`
+ `has(value,"")`
+ `key()`
+ `key().is()`
+ `hasKey()`
+ `has(key,"")`
+ `path()`

## Menggunakan inferensi induktif dalam kueri klasifikasi tepi
<a name="machine-learning-gremlin-edge-class-inductive"></a>

Misalkan Anda menambahkan tepi baru ke grafik yang ada, di buku catatan Jupyter, seperti ini:

```
%%gremlin
g.V('1').as('fromV')
.V('2').as('toV')
.addE('eLabel1').from('fromV').to('toV').property(id, 'e101')
```

Anda kemudian dapat menggunakan kueri inferensi induktif untuk mendapatkan skala yang memperhitungkan tepi baru:

```
%%gremlin
g.with("Neptune#ml.endpoint", "ec-ep")
 .with("Neptune#ml.iamRoleArn", "arn:aws:iam::123456789012:role/NeptuneMLRole")
 .E('e101').properties("scale", "Neptune#ml.score")
 .with("Neptune#ml.classification")
 .with("Neptune#ml.inductiveInference")
```

Karena kueri tidak deterministik, hasilnya akan agak berbeda jika Anda menjalankannya beberapa kali, berdasarkan lingkungan acak:

```
# First time
==>vp[scale->Like]
==>vp[Neptune#ml.score->0.12345678]

# Second time
==>vp[scale->Like]
==>vp[Neptune#ml.score->0.21365921]
```

Jika Anda membutuhkan hasil yang lebih konsisten, Anda dapat membuat kueri deterministik:

```
%%gremlin
g.with("Neptune#ml.endpoint", "ec-ep")
 .with("Neptune#ml.iamRoleArn", "arn:aws:iam::123456789012:role/NeptuneMLRole")
 .E('e101').properties("scale", "Neptune#ml.score")
 .with("Neptune#ml.classification")
 .with("Neptune#ml.inductiveInference")
 .with("Neptune#ml.deterministic")
```

Sekarang hasilnya akan kurang lebih sama setiap kali Anda menjalankan kueri:

```
# First time
==>vp[scale->Like]
==>vp[Neptune#ml.score->0.12345678]

# Second time
==>vp[scale->Like]
==>vp[Neptune#ml.score->0.12345678]
```