

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

# Mengaitkan Hasil Prediksi dengan Catatan Input
<a name="batch-transform-data-processing"></a>

Saat membuat prediksi pada kumpulan data besar, Anda dapat mengecualikan atribut yang tidak diperlukan untuk prediksi. Setelah prediksi dibuat, Anda dapat mengaitkan beberapa atribut yang dikecualikan dengan prediksi tersebut atau dengan data masukan lainnya dalam laporan Anda. Dengan menggunakan transformasi batch untuk melakukan langkah-langkah pemrosesan data ini, Anda sering dapat menghilangkan preprocessing atau postprocessing tambahan. Anda dapat menggunakan file input dalam format JSON dan CSV saja. 

**Topics**
+ [

## Alur Kerja untuk Mengaitkan Inferensi dengan Catatan Input
](#batch-transform-data-processing-workflow)
+ [

## Menggunakan Pemrosesan Data dalam Pekerjaan Transformasi Batch
](#batch-transform-data-processing-steps)
+ [

## JSONPath Operator yang Didukung
](#data-processing-operators)
+ [

## Contoh Transformasi Batch
](#batch-transform-data-processing-examples)

## Alur Kerja untuk Mengaitkan Inferensi dengan Catatan Input
<a name="batch-transform-data-processing-workflow"></a>

Diagram berikut menunjukkan alur kerja untuk mengaitkan kesimpulan dengan catatan masukan.

![\[Alur kerja untuk mengaitkan kesimpulan dengan catatan masukan.\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/batch-transform-data-processing.png)


Untuk mengaitkan kesimpulan dengan data input, ada tiga langkah utama:

1. Filter data input yang tidak diperlukan untuk inferensi sebelum meneruskan data input ke pekerjaan transformasi batch. Gunakan [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#SageMaker-Type-DataProcessing-InputFilter                             ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#SageMaker-Type-DataProcessing-InputFilter                             )parameter untuk menentukan atribut mana yang akan digunakan sebagai input untuk model.

1. Kaitkan data input dengan hasil inferensi. Gunakan [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#SageMaker-Type-DataProcessing-JoinSource                         ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#SageMaker-Type-DataProcessing-JoinSource                         )parameter untuk menggabungkan data input dengan inferensi.

1. Filter data gabungan untuk mempertahankan input yang diperlukan untuk menyediakan konteks untuk menafsirkan prediksi dalam laporan. Gunakan [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#SageMaker-Type-DataProcessing-OutputFilter                             ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#SageMaker-Type-DataProcessing-OutputFilter                             )untuk menyimpan bagian tertentu dari dataset bergabung dalam file output.

## Menggunakan Pemrosesan Data dalam Pekerjaan Transformasi Batch
<a name="batch-transform-data-processing-steps"></a>

Saat membuat pekerjaan transformasi batch dengan [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html)memproses data:

1. Tentukan bagian input yang akan diteruskan ke model dengan `InputFilter` parameter dalam struktur `DataProcessing` data. 

1. Bergabunglah dengan data input mentah dengan data yang diubah dengan `JoinSource` parameter.

1. Tentukan bagian mana dari input yang digabungkan dan data yang diubah dari pekerjaan transformasi batch yang akan disertakan dalam file output dengan `OutputFilter` parameter.

1.  Pilih file berformat JSON- atau CSV untuk masukan: 
   + Untuk file input berformat JSON- atau JSON Line, SageMaker AI menambahkan `SageMakerOutput` atribut ke file input atau membuat file keluaran JSON baru dengan atribut and. `SageMakerInput` `SageMakerOutput` Untuk informasi selengkapnya, lihat [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DataProcessing.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DataProcessing.html). 
   + Untuk file input berformat CSV, data input yang digabungkan diikuti oleh data yang diubah dan outputnya adalah file CSV.

Jika Anda menggunakan algoritma dengan `DataProcessing` struktur, itu harus mendukung format yang Anda pilih untuk file input *dan* output. Misalnya, dengan [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformOutput.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformOutput.html)bidang `CreateTransformJob` API, Anda harus mengatur [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformOutput.html#SageMaker-Type-TransformOutput-Accept](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformOutput.html#SageMaker-Type-TransformOutput-Accept)parameter [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Channel.html#SageMaker-Type-Channel-ContentType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Channel.html#SageMaker-Type-Channel-ContentType)dan parameter ke salah satu nilai berikut:`text/csv`,`application/json`, atau`application/jsonlines`. Sintaks untuk menentukan kolom dalam file CSV dan menentukan atribut dalam file JSON berbeda. Menggunakan sintaks yang salah menyebabkan kesalahan. Untuk informasi selengkapnya, lihat [Contoh Transformasi Batch](#batch-transform-data-processing-examples). Untuk informasi selengkapnya tentang format file input dan output untuk algoritme bawaan, lihat[Algoritma bawaan dan model yang telah dilatih sebelumnya di Amazon SageMaker](algos.md).

Pembatas catatan untuk input dan output juga harus konsisten dengan input file yang Anda pilih. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformInput.html#SageMaker-Type-TransformInput-SplitType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformInput.html#SageMaker-Type-TransformInput-SplitType)Parameter menunjukkan cara membagi catatan dalam dataset input. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformOutput.html#SageMaker-Type-TransformOutput-AssembleWith                     ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformOutput.html#SageMaker-Type-TransformOutput-AssembleWith                     )Parameter menunjukkan cara memasang kembali catatan untuk output. Jika Anda mengatur format input dan output ke`text/csv`, Anda juga harus mengatur `AssembleWith` parameter `SplitType` dan ke`line`. Jika Anda mengatur format input dan output ke`application/jsonlines`, Anda dapat mengatur keduanya `SplitType` dan `AssembleWith` ke`line`.

Untuk file CSV, Anda tidak dapat menggunakan karakter baris baru yang disematkan. Untuk file JSON, nama atribut `SageMakerOutput` dicadangkan untuk output. File input JSON tidak dapat memiliki atribut dengan nama ini. Jika ya, data dalam file input mungkin akan ditimpa. 

## JSONPath Operator yang Didukung
<a name="data-processing-operators"></a>

Untuk memfilter dan menggabungkan data input dan inferensi, gunakan JSONPath subexpression. SageMaker AI hanya mendukung sebagian dari JSONPath operator yang ditentukan. Tabel berikut mencantumkan JSONPath operator yang didukung. Untuk data CSV, setiap baris diambil sebagai array JSON, jadi hanya berbasis indeks yang JSONPaths dapat diterapkan, misalnya,. `$[0]` `$[1:]` Data CSV juga harus mengikuti format [RFC](https://tools.ietf.org/html/rfc4180).


| JSONPath Operator | Deskripsi | Contoh | 
| --- | --- | --- | 
| \$1 |  Elemen root untuk query. Operator ini diperlukan di awal semua ekspresi jalur.  | \$1 | 
| .<name> |  Elemen anak bernotasi titik.  |  `$.id`  | 
| \$1 |  Wildcard. Gunakan sebagai pengganti nama atribut atau nilai numerik.  |  `$.id.*`  | 
| ['<name>' (,'<name>')] |  Sebuah elemen bertanda kurung atau beberapa elemen anak.  |  `$['id','SageMakerOutput']`  | 
| [<number> (,<number>)] |  Indeks atau array indeks. Nilai indeks negatif juga didukung. `-1`Indeks mengacu pada elemen terakhir dalam array.  |  `$[1]` , `$[1,3,5]`  | 
| [<start>:<end>] |  Operator irisan array. Metode array slice () mengekstrak bagian dari array dan mengembalikan array baru. Jika Anda menghilangkan*<start>*, SageMaker AI menggunakan elemen pertama dari array. Jika Anda menghilangkan*<end>*, SageMaker AI menggunakan elemen terakhir dari array.  |  `$[2:5]`, `$[:5]`, `$[2:]`  | 

Saat menggunakan notasi tanda kurung untuk menentukan beberapa elemen anak dari bidang tertentu, penyarangan tambahan anak dalam tanda kurung tidak didukung. Misalnya, `$.field1.['child1','child2']` didukung sementara `$.field1.['child1','child2.grandchild']` tidak. 

Untuk informasi selengkapnya tentang JSONPath operator, lihat [JsonPath](https://github.com/json-path/JsonPath)di GitHub.

## Contoh Transformasi Batch
<a name="batch-transform-data-processing-examples"></a>

Contoh berikut menunjukkan beberapa cara umum untuk menggabungkan data input dengan hasil prediksi.

**Topics**
+ [

### Contoh: Output Only Inferences
](#batch-transform-data-processing-example-default)
+ [

### Contoh: Inferensi Output Bergabung dengan Data Input
](#batch-transform-data-processing-example-all)
+ [

### Contoh: Inferensi Output Bergabung dengan Data Input dan Kecualikan Kolom ID dari Input (CSV)
](#batch-transform-data-processing-example-select-csv)
+ [

### Contoh: Inferensi Keluaran Bergabung dengan Kolom ID dan Kecualikan Kolom ID dari Input (CSV)
](#batch-transform-data-processing-example-select-json)

### Contoh: Output Only Inferences
<a name="batch-transform-data-processing-example-default"></a>

Secara default, [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#SageMaker-CreateTransformJob-request-DataProcessing](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#SageMaker-CreateTransformJob-request-DataProcessing)parameter tidak menggabungkan hasil inferensi dengan input. Ini hanya menghasilkan hasil inferensi.

Jika Anda ingin secara eksplisit menentukan untuk tidak menggabungkan hasil dengan input, gunakan Amazon [ SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) dan tentukan pengaturan berikut dalam panggilan transformator.

```
sm_transformer = sagemaker.transformer.Transformer(…)
sm_transformer.transform(…, input_filter="$", join_source= "None", output_filter="$")
```

Untuk menghasilkan inferensi menggunakan AWS SDK untuk Python, tambahkan kode berikut ke permintaan Anda. CreateTransformJob Kode berikut meniru perilaku default.

```
{
    "DataProcessing": {
        "InputFilter": "$",
        "JoinSource": "None",
        "OutputFilter": "$"
    }
}
```

### Contoh: Inferensi Output Bergabung dengan Data Input
<a name="batch-transform-data-processing-example-all"></a>

Jika Anda menggunakan [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) untuk menggabungkan data input dengan inferensi dalam file output, tentukan `accept` parameter `assemble_with` dan saat menginisialisasi objek transformator. Saat Anda menggunakan panggilan transformasi, tentukan `Input` `join_source` parameternya, dan tentukan `content_type` parameter `split_type` dan juga. `split_type`Parameter harus memiliki nilai yang sama dengan`assemble_with`, dan `content_type` parameter harus memiliki nilai yang sama dengan`accept`. Untuk informasi selengkapnya tentang parameter dan nilai yang diterima, lihat halaman [Transformer](https://sagemaker.readthedocs.io/en/stable/api/inference/transformer.html#sagemaker.transformer.Transformer) di *Amazon SageMaker AI Python* SDK.

```
sm_transformer = sagemaker.transformer.Transformer(…, assemble_with="Line", accept="text/csv")
sm_transformer.transform(…, join_source="Input", split_type="Line", content_type="text/csv")
```

Jika Anda menggunakan AWS SDK untuk Python (Boto 3), gabungkan semua data input dengan inferensi dengan menambahkan kode berikut ke permintaan Anda. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html) Nilai untuk `Accept` dan `ContentType` harus cocok, dan nilai untuk `AssembleWith` dan juga `SplitType` harus cocok.

```
{
    "DataProcessing": {
        "JoinSource": "Input"
    },
    "TransformOutput": {
        "Accept": "text/csv",
        "AssembleWith": "Line"
    },
    "TransformInput": {
        "ContentType": "text/csv",
        "SplitType": "Line"
    }
}
```

Untuk file input JSON atau JSON Lines, hasilnya ada di `SageMakerOutput` kunci dalam file JSON input. Misalnya, jika input adalah file JSON yang berisi pasangan kunci-nilai`{"key":1}`, hasil transformasi data mungkin. `{"label":1}`

SageMaker AI menyimpan keduanya dalam file input di `SageMakerInput` kunci.

```
{
    "key":1,
    "SageMakerOutput":{"label":1}
}
```

**catatan**  
Hasil gabungan untuk JSON harus berupa objek pasangan kunci-nilai. Jika input bukan objek pasangan nilai kunci, SageMaker AI membuat file JSON baru. Dalam file JSON baru, data input disimpan dalam `SageMakerInput` kunci dan hasilnya disimpan sebagai `SageMakerOutput` nilai.

Untuk file CSV, misalnya, jika catatannya`[1,2,3]`, dan hasil labelnya`[1]`, maka file keluaran akan berisi`[1,2,3,1]`.

### Contoh: Inferensi Output Bergabung dengan Data Input dan Kecualikan Kolom ID dari Input (CSV)
<a name="batch-transform-data-processing-example-select-csv"></a>

Jika Anda menggunakan [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) untuk menggabungkan data input Anda dengan output inferensi sambil mengecualikan kolom ID dari input transformator, tentukan parameter yang sama dari contoh sebelumnya serta JSONPath subexpression untuk panggilan transformator dalam Anda. `input_filter` Misalnya, jika data masukan Anda menyertakan lima kolom dan yang pertama adalah kolom ID, gunakan permintaan transformasi berikut untuk memilih semua kolom kecuali kolom ID sebagai fitur. Transformator masih mengeluarkan semua kolom input yang bergabung dengan inferensi. Untuk informasi selengkapnya tentang parameter dan nilai yang diterima, lihat halaman [Transformer](https://sagemaker.readthedocs.io/en/stable/api/inference/transformer.html#sagemaker.transformer.Transformer) di *Amazon SageMaker AI Python* SDK.

```
sm_transformer = sagemaker.transformer.Transformer(…, assemble_with="Line", accept="text/csv")
sm_transformer.transform(…, split_type="Line", content_type="text/csv", input_filter="$[1:]", join_source="Input")
```

Jika Anda menggunakan AWS SDK untuk Python (Boto 3), tambahkan kode berikut ke permintaan Anda. `[ CreateTransformJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html)`

```
{
    "DataProcessing": {
        "InputFilter": "$[1:]",
        "JoinSource": "Input"
    },
    "TransformOutput": {
        "Accept": "text/csv",
        "AssembleWith": "Line"
    },
    "TransformInput": {
        "ContentType": "text/csv",
        "SplitType": "Line"
    }
}
```

Untuk menentukan kolom di SageMaker AI, gunakan indeks elemen array. Kolom pertama adalah indeks 0, kolom kedua adalah indeks 1, dan kolom keenam adalah indeks 5.

Untuk mengecualikan kolom pertama dari input, atur `[InputFilter](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#SageMaker-Type-DataProcessing-InputFilter )` ke`"$[1:]"`. Titik dua (`:`) memberitahu SageMaker AI untuk memasukkan semua elemen antara dua nilai, inklusif. Misalnya, `$[1:4]` menentukan kolom kedua hingga kelima.

Jika Anda menghilangkan angka setelah titik dua, misalnya`[5:]`, subset mencakup semua kolom dari kolom ke-6 melalui kolom terakhir. Jika Anda menghilangkan angka sebelum titik dua, misalnya`[:5]`, subset mencakup semua kolom dari kolom pertama (indeks 0) hingga kolom keenam.

### Contoh: Inferensi Keluaran Bergabung dengan Kolom ID dan Kecualikan Kolom ID dari Input (CSV)
<a name="batch-transform-data-processing-example-select-json"></a>

Jika Anda menggunakan [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable), Anda dapat menentukan output untuk menggabungkan hanya kolom input tertentu (seperti kolom ID) dengan inferensi dengan menentukan dalam panggilan transformator. `output_filter` `output_filter`Menggunakan JSONPath subexpression untuk menentukan kolom mana yang akan dikembalikan sebagai output setelah menggabungkan data input dengan hasil inferensi. Permintaan berikut menunjukkan bagaimana Anda dapat membuat prediksi sambil mengecualikan kolom ID dan kemudian menggabungkan kolom ID dengan kesimpulan. Perhatikan bahwa dalam contoh berikut, kolom terakhir (`-1`) dari output berisi kesimpulan. Jika Anda menggunakan file JSON, SageMaker AI menyimpan hasil inferensi di atribut. `SageMakerOutput` Untuk informasi selengkapnya tentang parameter dan nilai yang diterima, lihat halaman [Transformer](https://sagemaker.readthedocs.io/en/stable/api/inference/transformer.html#sagemaker.transformer.Transformer) di *Amazon SageMaker AI Python* SDK.

```
sm_transformer = sagemaker.transformer.Transformer(…, assemble_with="Line", accept="text/csv")
sm_transformer.transform(…, split_type="Line", content_type="text/csv", input_filter="$[1:]", join_source="Input", output_filter="$[0,-1]")
```

Jika Anda menggunakan AWS SDK untuk Python (Boto 3), gabungkan hanya kolom ID dengan kesimpulan dengan menambahkan kode berikut ke permintaan Anda. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html)

```
{
    "DataProcessing": {
        "InputFilter": "$[1:]",
        "JoinSource": "Input",
        "OutputFilter": "$[0,-1]"
    },
    "TransformOutput": {
        "Accept": "text/csv",
        "AssembleWith": "Line"
    },
    "TransformInput": {
        "ContentType": "text/csv",
        "SplitType": "Line"
    }
}
```

**Awas**  
Jika Anda menggunakan file input berformat JSON, file tersebut tidak dapat berisi nama atribut. `SageMakerOutput` Nama atribut ini dicadangkan untuk kesimpulan dalam file output. Jika file input berformat JSON Anda berisi atribut dengan nama ini, nilai dalam file input mungkin ditimpa dengan inferensi.