

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

# Meningkatkan model Label Kustom Amazon Rekognition yang terlatih
<a name="improving-model"></a>

Saat pelatihan selesai, Anda mengevaluasi kinerja model. Untuk membantu Anda, Label Kustom Amazon Rekognition menyediakan metrik ringkasan dan metrik evaluasi untuk setiap label. Untuk informasi tentang metrik yang tersedia, lihat[Metrik untuk mengevaluasi model Anda](im-metrics-use.md). Untuk meningkatkan model Anda menggunakan metrik, lihat[Meningkatkan model Label Kustom Rekognition Amazon](tr-improve-model.md). 



Jika Anda puas dengan keakuratan model Anda, Anda dapat mulai menggunakannya. Untuk informasi selengkapnya, lihat [Menjalankan model Label Kustom Rekognition Amazon yang terlatih](running-model.md). 

**Topics**
+ [Metrik untuk mengevaluasi model Anda](im-metrics-use.md)
+ [Mengakses metrik evaluasi (Konsol)](im-access-training-results.md)
+ [Mengakses metrik evaluasi Label Kustom Rekognition Amazon (SDK)](im-metrics-api.md)
+ [Meningkatkan model Label Kustom Rekognition Amazon](tr-improve-model.md)

# Metrik untuk mengevaluasi model Anda
<a name="im-metrics-use"></a>

Setelah model Anda dilatih, Amazon Rekognition Custom Labels mengembalikan metrik dari pengujian model, yang dapat Anda gunakan untuk mengevaluasi kinerja model Anda. Topik ini menjelaskan metrik yang tersedia untuk Anda, dan bagaimana memahami apakah model terlatih Anda berkinerja baik. 

Konsol Label Kustom Rekognition Amazon menyediakan metrik berikut sebagai ringkasan hasil pelatihan dan sebagai metrik untuk setiap label: 
+ [presisi](#im-precision-metric)
+ [Ingat](#im-recall-metric)
+ [F1](#im-f1-metric)

Setiap metrik yang kami sediakan adalah metrik yang umum digunakan untuk mengevaluasi kinerja model Machine Learning. Amazon Rekognition Custom Labels mengembalikan metrik untuk hasil pengujian di seluruh kumpulan data pengujian, bersama dengan metrik untuk setiap label kustom. Anda juga dapat meninjau kinerja model kustom terlatih Anda untuk setiap gambar dalam kumpulan data pengujian Anda. Untuk informasi selengkapnya, lihat [Mengakses metrik evaluasi (Konsol)](im-access-training-results.md).

## Mengevaluasi kinerja model
<a name="tr-evaluate-performance"></a>

Selama pengujian, Amazon Rekognition Custom Labels memprediksi jika gambar uji berisi label kustom. Skor kepercayaan adalah nilai yang mengukur kepastian prediksi model.

Jika skor kepercayaan untuk label khusus melebihi nilai ambang batas, output model akan menyertakan label ini. Prediksi dapat dikategorikan dengan cara berikut: 
+ *Benar positif* - Model Label Kustom Rekognition Amazon dengan benar memprediksi keberadaan label khusus dalam gambar uji. Artinya, label yang diprediksi juga merupakan label “kebenaran dasar” untuk gambar itu. Misalnya, Amazon Rekognition Custom Labels mengembalikan label bola sepak dengan benar ketika bola sepak hadir dalam gambar. 
+ *Positif palsu* - Model Label Kustom Rekognition Amazon salah memprediksi keberadaan label khusus dalam gambar uji. Artinya, label yang diprediksi bukanlah label kebenaran dasar untuk gambar. Misalnya, Amazon Rekognition Custom Labels mengembalikan label bola sepak, tetapi tidak ada label bola sepak di dasar kebenaran untuk gambar itu.
+ *Negatif palsu* - Model Label Kustom Rekognition Amazon tidak memprediksi bahwa label khusus ada dalam gambar, tetapi “kebenaran dasar” untuk gambar tersebut menyertakan label ini. Misalnya, Amazon Rekognition Custom Labels tidak mengembalikan label kustom 'bola sepak' untuk gambar yang berisi bola sepak. 
+ *Benar-benar negatif* - Model Amazon Rekognition Custom Labels memprediksi dengan benar bahwa label kustom tidak ada dalam gambar pengujian. Misalnya, Amazon Rekognition Custom Labels tidak mengembalikan label bola sepak untuk gambar yang tidak berisi bola sepak. 

Konsol menyediakan akses ke nilai positif benar, positif palsu, dan negatif palsu untuk setiap gambar dalam kumpulan data pengujian Anda. Untuk informasi selengkapnya, lihat [Mengakses metrik evaluasi (Konsol)](im-access-training-results.md).

Hasil prediksi ini digunakan untuk menghitung metrik berikut untuk setiap label, dan agregat untuk seluruh rangkaian pengujian Anda. Definisi yang sama berlaku untuk prediksi yang dibuat oleh model pada tingkat kotak pembatas, dengan perbedaan bahwa semua metrik dihitung pada setiap kotak pembatas (prediksi atau kebenaran dasar) di setiap gambar uji.

### Persimpangan di atas Union (IoU) dan deteksi objek
<a name="tr-evaluate-performance-object-detection"></a>

Intersection over Union (IoU) mengukur persentase tumpang tindih antara dua kotak pembatas objek di atas area gabungannya. Kisarannya adalah 0 (tumpang tindih terendah) hingga 1 (tumpang tindih lengkap). Selama pengujian, kotak pembatas yang diprediksi benar ketika IoU dari kotak pembatas kebenaran tanah dan kotak pembatas yang diprediksi setidaknya 0,5.

## Ambang batas yang diasumsikan
<a name="im-assumed-threshold"></a>

Amazon Rekognition Custom Labels secara otomatis menghitung nilai ambang batas yang diasumsikan (0-1) untuk setiap label kustom Anda. Anda tidak dapat menyetel nilai ambang batas yang diasumsikan untuk label kustom. *Ambang batas yang diasumsikan* untuk setiap label adalah nilai di atas yang prediksi dihitung sebagai positif benar atau salah. Ini diatur berdasarkan kumpulan data pengujian Anda. Ambang batas yang diasumsikan dihitung berdasarkan skor F1 terbaik yang dicapai pada dataset tes selama pelatihan model.

Anda bisa mendapatkan nilai ambang batas yang diasumsikan untuk label dari hasil pelatihan model. Untuk informasi selengkapnya, lihat [Mengakses metrik evaluasi (Konsol)](im-access-training-results.md).

Perubahan pada nilai ambang batas yang diasumsikan biasanya digunakan untuk meningkatkan presisi dan penarikan kembali model. Untuk informasi selengkapnya, lihat [Meningkatkan model Label Kustom Rekognition Amazon](tr-improve-model.md). Karena Anda tidak dapat menetapkan ambang batas asumsi model untuk label, Anda dapat mencapai hasil yang sama dengan menganalisis gambar dengan `DetectCustomLabels` dan menentukan parameter `MinConfidence` input. Untuk informasi selengkapnya, lihat [Menganalisis gambar dengan model terlatih](detecting-custom-labels.md). 

## presisi
<a name="im-precision-metric"></a>

Amazon Rekognition Custom Labels menyediakan metrik presisi untuk setiap label dan metrik presisi rata-rata untuk seluruh kumpulan data pengujian. 

*Presisi* adalah fraksi prediksi yang benar (positif benar) atas semua prediksi model (positif benar dan salah) pada ambang batas yang diasumsikan untuk label individu. Saat ambang batas meningkat, model mungkin membuat prediksi yang lebih sedikit. Secara umum, bagaimanapun, ia akan memiliki rasio positif sejati yang lebih tinggi daripada positif palsu dibandingkan dengan ambang batas yang lebih rendah. Nilai yang mungkin untuk rentang presisi dari 0-1, dan nilai yang lebih tinggi menunjukkan presisi yang lebih tinggi.

Misalnya, ketika model memprediksi bahwa bola sepak hadir dalam sebuah gambar, seberapa sering prediksi itu benar? Misalkan ada gambar dengan 8 bola sepak dan 5 batu. Jika model memprediksi 9 bola sepak — 8 diprediksi dengan benar dan 1 positif palsu — maka presisi untuk contoh ini adalah 0,89. Namun, jika model memprediksi 13 bola sepak pada gambar dengan 8 prediksi yang benar dan 5 salah, maka presisi yang dihasilkan lebih rendah.

Untuk informasi lebih lanjut, lihat [Presisi dan ingat](https://en.wikipedia.org/wiki/Precision_and_recall).

## Ingat
<a name="im-recall-metric"></a>

Label Kustom Rekognition Amazon menyediakan metrik penarikan rata-rata untuk setiap label dan metrik penarikan rata-rata untuk seluruh kumpulan data pengujian. 

*Ingat* adalah fraksi dari label set pengujian Anda yang diprediksi dengan benar di atas ambang batas yang diasumsikan. Ini adalah ukuran seberapa sering model dapat memprediksi label khusus dengan benar ketika benar-benar ada dalam gambar set pengujian Anda. Kisaran untuk mengingat adalah 0-1. Nilai yang lebih tinggi menunjukkan penarikan yang lebih tinggi.

Misalnya, jika sebuah gambar berisi 8 bola sepak, berapa banyak dari mereka yang terdeteksi dengan benar? Dalam contoh ini di mana gambar memiliki 8 bola sepak dan 5 batu, jika model mendeteksi 5 bola sepak, nilai recall adalah 0,62. Jika setelah pelatihan ulang, model baru mendeteksi 9 bola sepak, termasuk semua 8 yang ada dalam gambar, maka nilai recall adalah 1,0.

Untuk informasi lebih lanjut, lihat [Presisi dan ingat](https://en.wikipedia.org/wiki/Precision_and_recall).

## F1
<a name="im-f1-metric"></a>

Label Kustom Rekognition Amazon menggunakan metrik skor F1 untuk mengukur kinerja model rata-rata setiap label dan kinerja model rata-rata dari seluruh kumpulan data pengujian.

*Kinerja model* adalah ukuran agregat yang memperhitungkan presisi dan penarikan kembali semua label. (misalnya, skor F1 atau presisi rata-rata). Skor kinerja model adalah nilai antara 0 dan 1. Semakin tinggi nilainya, semakin baik kinerja model untuk penarikan dan presisi. Secara khusus, kinerja model untuk tugas klasifikasi biasanya diukur dengan skor F1. Skor itu adalah rata-rata harmonik dari skor presisi dan ingatan pada ambang batas yang diasumsikan. Misalnya, untuk model dengan presisi 0,9 dan penarikan 1,0, skor F1 adalah 0,947.

Nilai tinggi untuk skor F1 menunjukkan bahwa model berkinerja baik untuk presisi dan penarikan. Jika model tidak berkinerja baik, misalnya, dengan presisi rendah 0,30 dan penarikan tinggi 1,0, skor F1 adalah 0,46. Demikian pula jika presisi tinggi (0,95) dan penarikan rendah (0,20), skor F1 adalah 0,33. Dalam kedua kasus, skor F1 rendah dan menunjukkan masalah dengan model. 

Untuk informasi lebih lanjut, lihat [Skor F1](https://en.wikipedia.org/wiki/F1_score).

## Menggunakan metrik
<a name="im-using-metrics"></a>

Untuk model tertentu yang telah Anda latih dan tergantung pada aplikasi Anda, Anda dapat membuat trade-off antara *presisi* dan *recall* dengan menggunakan parameter `MinConfidence` input ke. `DetectCustomLabels` Pada `MinConfidence` nilai yang lebih tinggi, Anda biasanya mendapatkan *presisi* yang lebih tinggi (prediksi bola sepak yang lebih benar), tetapi *ingatan* yang lebih rendah (bola sepak yang lebih aktual akan terlewatkan). Pada `MinConfidence` nilai yang lebih rendah, Anda mendapatkan *daya ingat* yang lebih tinggi (lebih banyak bola sepak aktual diprediksi dengan benar), tetapi *presisi* yang lebih rendah (lebih banyak prediksi itu akan salah). Untuk informasi selengkapnya, lihat [Menganalisis gambar dengan model terlatih](detecting-custom-labels.md). 

Metrik juga memberi tahu Anda tentang langkah-langkah yang mungkin Anda ambil untuk meningkatkan kinerja model jika diperlukan. Untuk informasi selengkapnya, lihat [Meningkatkan model Label Kustom Rekognition Amazon](tr-improve-model.md). 

**catatan**  
`DetectCustomLabels`mengembalikan prediksi mulai dari 0 hingga 100, yang sesuai dengan kisaran metrik 0-1.

# Mengakses metrik evaluasi (Konsol)
<a name="im-access-training-results"></a>

Selama pengujian, model dievaluasi kinerjanya terhadap dataset pengujian. Label dalam kumpulan data pengujian dianggap 'kebenaran dasar' karena mewakili apa yang diwakili oleh gambar sebenarnya. Selama pengujian, model membuat prediksi menggunakan dataset pengujian. Label yang diprediksi dibandingkan dengan label kebenaran dasar dan hasilnya tersedia di halaman evaluasi konsol.

Konsol Label Kustom Amazon Rekognition menampilkan metrik ringkasan untuk seluruh model dan metrik untuk masing-masing label. Metrik yang tersedia di konsol adalah recall presisi, skor F1, kepercayaan diri, dan ambang kepercayaan. Untuk informasi selengkapnya, lihat [Meningkatkan model Label Kustom Amazon Rekognition yang terlatih](improving-model.md).

Anda dapat menggunakan konsol untuk fokus pada metrik individual. Misalnya, untuk menyelidiki masalah presisi untuk label, Anda dapat memfilter hasil pelatihan berdasarkan label dan hasil *positif palsu*. Untuk informasi selengkapnya, lihat [Metrik untuk mengevaluasi model Anda](im-metrics-use.md).

Setelah pelatihan, kumpulan data pelatihan hanya-baca. Jika Anda memutuskan untuk meningkatkan model, Anda dapat menyalin kumpulan data pelatihan ke kumpulan data baru. Anda menggunakan salinan dataset untuk melatih versi baru model. 

Pada langkah ini, Anda menggunakan konsol untuk mengakses hasil pelatihan di konsol. 

**Untuk mengakses metrik evaluasi (konsol)**

1. Buka konsol Amazon Rekognition di. [https://console.aws.amazon.com/rekognition/](https://console.aws.amazon.com/rekognition/)

1. Pilih **Gunakan Label Kustom**.

1. Pilih **Mulai**. 

1. Di panel navigasi kiri, pilih **Proyek**.

1. Di halaman **Proyek**, pilih proyek yang berisi model terlatih yang ingin Anda evaluasi.

1. Dalam **Model**, pilih model yang ingin Anda evaluasi. 

1. Pilih tab **Evaluasi** untuk melihat hasil evaluasi. Untuk informasi tentang mengevaluasi model, lihat[Meningkatkan model Label Kustom Amazon Rekognition yang terlatih](improving-model.md).

1. Pilih **Lihat hasil tes** untuk melihat hasil gambar pengujian individual. Untuk informasi selengkapnya, lihat [Metrik untuk mengevaluasi model Anda](im-metrics-use.md). Tangkapan layar berikut dari ringkasan evaluasi model menunjukkan skor F1, presisi rata-rata, dan penarikan keseluruhan untuk 6 label dengan hasil tes dan metrik kinerja. Detail tentang penggunaan model terlatih juga disediakan.   
![\[Ringkasan evaluasi model yang menunjukkan skor F1, presisi rata-rata, dan penarikan keseluruhan.\]](http://docs.aws.amazon.com/id_id/rekognition/latest/customlabels-dg/images/get-started-training-results.jpg)

1. Setelah melihat hasil pengujian, pilih nama proyek untuk kembali ke halaman model. Halaman hasil tes menunjukkan gambar dengan label yang diprediksi dan skor kepercayaan untuk model pembelajaran mesin yang dilatih pada kategori gambar halaman belakang dan halaman depan. Dua contoh gambar ditampilkan.   
![\[Halaman hasil tes menunjukkan gambar dengan label yang diprediksi dan skor kepercayaan.\]](http://docs.aws.amazon.com/id_id/rekognition/latest/customlabels-dg/images/get-started-image-test-results.jpg)

1. Gunakan metrik untuk mengevaluasi kinerja model. Untuk informasi selengkapnya, lihat [Meningkatkan model Label Kustom Rekognition Amazon](tr-improve-model.md). 

# Mengakses metrik evaluasi Label Kustom Rekognition Amazon (SDK)
<a name="im-metrics-api"></a>

[DescribeProjectVersions](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjectVersions)Operasi ini menyediakan akses ke metrik di luar yang disediakan di konsol. 

Seperti konsol, `DescribeProjectVersions` menyediakan akses ke metrik berikut sebagai informasi ringkasan untuk hasil pengujian dan sebagai hasil pengujian untuk setiap label:
+ [presisi](im-metrics-use.md#im-precision-metric)
+ [Ingat](im-metrics-use.md#im-recall-metric)
+ [F1](im-metrics-use.md#im-f1-metric)

Ambang batas rata-rata untuk semua label dan ambang batas untuk masing-masing label dikembalikan.

`DescribeProjectVersions`juga menyediakan akses ke metrik berikut untuk klasifikasi dan deteksi gambar (lokasi objek pada gambar).
+ *Matriks Kebingungan* untuk klasifikasi gambar. Untuk informasi selengkapnya, lihat [Melihat matriks kebingungan untuk model](im-confusion-matrix.md).
+ *Mean Average Precision (MAP)* untuk deteksi gambar.
+ *Mean Average Recall (MaR)* untuk deteksi gambar.

`DescribeProjectVersions`juga menyediakan akses ke nilai positif benar, positif palsu, negatif palsu, dan negatif sejati. Untuk informasi selengkapnya, lihat [Metrik untuk mengevaluasi model Anda](im-metrics-use.md).

Metrik skor F1 agregat dikembalikan langsung oleh. `DescribeProjectVersions` Metrik lain dapat diakses dari [Menafsirkan snapshot manifes evaluasi](im-evaluation-manifest-snapshot-api.md) file [Mengakses file ringkasan model](im-summary-file-api.md) dan yang disimpan dalam bucket Amazon S3. Untuk informasi selengkapnya, lihat [Mengakses file ringkasan dan snapshot manifes evaluasi (SDK)](im-access-summary-evaluation-manifest.md).

**Topics**
+ [Mengakses file ringkasan model](im-summary-file-api.md)
+ [Menafsirkan snapshot manifes evaluasi](im-evaluation-manifest-snapshot-api.md)
+ [Mengakses file ringkasan dan snapshot manifes evaluasi (SDK)](im-access-summary-evaluation-manifest.md)
+ [Melihat matriks kebingungan untuk model](im-confusion-matrix.md)
+ [Referensi: File ringkasan hasil pelatihan](im-summary-file.md)

# Mengakses file ringkasan model
<a name="im-summary-file-api"></a>

File ringkasan berisi informasi hasil evaluasi tentang model secara keseluruhan dan metrik untuk setiap label. Metriknya adalah presisi, recall, skor F1. Nilai ambang untuk model juga disediakan. Lokasi file ringkasan dapat diakses dari `EvaluationResult` objek yang dikembalikan oleh`DescribeProjectVersions`. Untuk informasi selengkapnya, lihat [Referensi: File ringkasan hasil pelatihan](im-summary-file.md).

Berikut ini adalah contoh file ringkasan.

```
{
  "Version": 1,
  "AggregatedEvaluationResults": {
    "ConfusionMatrix": [
      {
        "GroundTruthLabel": "CAP",
        "PredictedLabel": "CAP",
        "Value": 0.9948717948717949
      },
      {
        "GroundTruthLabel": "CAP",
        "PredictedLabel": "WATCH",
        "Value": 0.008547008547008548
      },
      {
        "GroundTruthLabel": "WATCH",
        "PredictedLabel": "CAP",
        "Value": 0.1794871794871795
      },
      {
        "GroundTruthLabel": "WATCH",
        "PredictedLabel": "WATCH",
        "Value": 0.7008547008547008
      }
    ],
    "F1Score": 0.9726959470546408,
    "Precision": 0.9719115848331294,
    "Recall": 0.9735042735042735
  },
  "EvaluationDetails": {
    "EvaluationEndTimestamp": "2019-11-21T07:30:23.910943",
    "Labels": [
      "CAP",
      "WATCH"
    ],
    "NumberOfTestingImages": 624,
    "NumberOfTrainingImages": 5216,
    "ProjectVersionArn": "arn:aws:rekognition:us-east-1:nnnnnnnnn:project/my-project/version/v0/1574317227432"
  },
  "LabelEvaluationResults": [
    {
      "Label": "CAP",
      "Metrics": {
        "F1Score": 0.9794344473007711,
        "Precision": 0.9819587628865979,
        "Recall": 0.9769230769230769,
        "Threshold": 0.9879502058029175
      },
      "NumberOfTestingImages": 390
    },
    {
      "Label": "WATCH",
      "Metrics": {
        "F1Score": 0.9659574468085106,
        "Precision": 0.961864406779661,
        "Recall": 0.9700854700854701,
        "Threshold": 0.014450683258473873
      },
      "NumberOfTestingImages": 234
    }
  ]
}
```

# Menafsirkan snapshot manifes evaluasi
<a name="im-evaluation-manifest-snapshot-api"></a>

Snapshot manifes evaluasi berisi informasi rinci tentang hasil tes. Cuplikan tersebut mencakup peringkat kepercayaan untuk setiap prediksi. Ini juga mencakup klasifikasi prediksi dibandingkan dengan klasifikasi gambar yang sebenarnya (positif benar, negatif benar, positif palsu, atau negatif palsu). 

File adalah snapshot karena hanya gambar yang dapat digunakan untuk pengujian dan pelatihan yang disertakan. Gambar yang tidak dapat diverifikasi, seperti gambar dalam format yang salah, tidak disertakan dalam manifes. Lokasi snapshot pengujian dapat diakses dari `TestingDataResult` objek yang dikembalikan oleh`DescribeProjectVersions`. Lokasi snapshot pelatihan dapat diakses dari `TrainingDataResult` objek yang dikembalikan oleh`DescribeProjectVersions`. 

Snapshot dalam format output manifes SageMaker AI Ground Truth dengan bidang yang ditambahkan untuk memberikan informasi tambahan, seperti hasil klasifikasi biner deteksi. Cuplikan berikut menunjukkan bidang tambahan.

```
"rekognition-custom-labels-evaluation-details": {
    "version": 1,
    "is-true-positive": true,
    "is-true-negative": false,
    "is-false-positive": false,
    "is-false-negative": false,
    "is-present-in-ground-truth": true
    "ground-truth-labelling-jobs": ["rekognition-custom-labels-training-job"]
}
```
+ *versi* — Versi format `rekognition-custom-labels-evaluation-details` bidang dalam snapshot manifes.
+ *is-true-positive...* — Klasifikasi biner prediksi berdasarkan bagaimana skor kepercayaan dibandingkan dengan ambang minimum untuk label.
+ *is-present-in-ground-kebenaran* — Benar jika prediksi yang dibuat oleh model hadir di dasar informasi kebenaran yang digunakan untuk pelatihan, jika tidak salah. Nilai ini tidak didasarkan pada apakah skor kepercayaan melebihi ambang minimum yang dihitung oleh model. 
+ *ground-truth-labeling-jobs*— Daftar bidang kebenaran dasar di garis manifes yang digunakan untuk pelatihan.

Untuk informasi tentang format manifes SageMaker AI Ground Truth, lihat [Output](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-data-output.html). 

Berikut ini adalah contoh pengujian snapshot manifes yang menunjukkan metrik untuk klasifikasi gambar dan deteksi objek.

```
// For image classification
{
  "source-ref": "s3://amzn-s3-demo-bucket/dataset/beckham.jpeg",
  "rekognition-custom-labels-training-0": 1,
  "rekognition-custom-labels-training-0-metadata": {
    "confidence": 1.0,
    "job-name": "rekognition-custom-labels-training-job",
    "class-name": "Football",
    "human-annotated": "yes",
    "creation-date": "2019-09-06T00:07:25.488243",
    "type": "groundtruth/image-classification"
  },
  "rekognition-custom-labels-evaluation-0": 1,
  "rekognition-custom-labels-evaluation-0-metadata": {
    "confidence": 0.95,
    "job-name": "rekognition-custom-labels-evaluation-job",
    "class-name": "Football",
    "human-annotated": "no",
    "creation-date": "2019-09-06T00:07:25.488243",
    "type": "groundtruth/image-classification",
    "rekognition-custom-labels-evaluation-details": {
      "version": 1,
      "ground-truth-labelling-jobs": ["rekognition-custom-labels-training-job"],
      "is-true-positive": true,
      "is-true-negative": false,
      "is-false-positive": false,
      "is-false-negative": false,
      "is-present-in-ground-truth": true
    }
  }
}


// For object detection
{
  "source-ref": "s3://amzn-s3-demo-bucket/dataset/beckham.jpeg",
  "rekognition-custom-labels-training-0": {
    "annotations": [
      {
        "class_id": 0,
        "width": 39,
        "top": 409,
        "height": 63,
        "left": 712
      },
      ...
    ],
    "image_size": [
      {
        "width": 1024,
        "depth": 3,
        "height": 768
      }
    ]
  },
  "rekognition-custom-labels-training-0-metadata": {
    "job-name": "rekognition-custom-labels-training-job",
    "class-map": {
      "0": "Cap",
      ...
    },
    "human-annotated": "yes",
    "objects": [
      {
        "confidence": 1.0
      },
      ...
    ],
    "creation-date": "2019-10-21T22:02:18.432644",
    "type": "groundtruth/object-detection"
  },
  "rekognition-custom-labels-evaluation": {
    "annotations": [
      {
        "class_id": 0,
        "width": 39,
        "top": 409,
        "height": 63,
        "left": 712
      },
      ...
    ],
    "image_size": [
      {
        "width": 1024,
        "depth": 3,
        "height": 768
      }
    ]
  },
  "rekognition-custom-labels-evaluation-metadata": {
    "confidence": 0.95,
    "job-name": "rekognition-custom-labels-evaluation-job",
    "class-map": {
      "0": "Cap",
      ...
    },
    "human-annotated": "no",
    "objects": [
      {
        "confidence": 0.95,
        "rekognition-custom-labels-evaluation-details": {
          "version": 1,
          "ground-truth-labelling-jobs": ["rekognition-custom-labels-training-job"],
          "is-true-positive": true,
          "is-true-negative": false,
          "is-false-positive": false,
          "is-false-negative": false,
          "is-present-in-ground-truth": true
        }
      },
      ...
    ],
    "creation-date": "2019-10-21T22:02:18.432644",
    "type": "groundtruth/object-detection"
  }
}
```

# Mengakses file ringkasan dan snapshot manifes evaluasi (SDK)
<a name="im-access-summary-evaluation-manifest"></a>

Untuk mendapatkan hasil pelatihan, Anda menelepon [DescribeProjectVersions](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjectVersions). Untuk kode sampel, lihat [Menjelaskan model (SDK)](md-describing-model-sdk.md).

Lokasi metrik dikembalikan dalam `ProjectVersionDescription` respons dari`DescribeProjectVersions`.
+ `EvaluationResult`— Lokasi file ringkasan.
+ `TestingDataResult`— Lokasi snapshot manifes evaluasi yang digunakan untuk pengujian. 

Skor F1 dan lokasi file ringkasan dikembalikan. `EvaluationResult` Contoh:

```
"EvaluationResult": {
                "F1Score": 1.0,
                "Summary": {
                    "S3Object": {
                        "Bucket": "echo-dot-scans",
                        "Name": "test-output/EvaluationResultSummary-my-echo-dots-project-v2.json"
                    }
                }
            }
```

Snapshot manifes evaluasi disimpan di lokasi yang ditentukan dalam parameter ` --output-config` input yang Anda tentukan. [Melatih model (SDK)](training-model.md#tm-sdk) 

**catatan**  
Jumlah waktu, dalam hitungan detik, Anda ditagih untuk pelatihan dikembalikan. `BillableTrainingTimeInSeconds` 

Untuk informasi tentang metrik yang ditampilkan oleh Label Kustom Rekognition Amazon, lihat. [Mengakses metrik evaluasi Label Kustom Rekognition Amazon (SDK)](im-metrics-api.md)

# Melihat matriks kebingungan untuk model
<a name="im-confusion-matrix"></a>

Matriks kebingungan memungkinkan Anda melihat label yang membingungkan model Anda dengan label lain dalam model Anda. Dengan menggunakan matriks kebingungan, Anda dapat memfokuskan perbaikan Anda pada model.

Selama evaluasi model, Amazon Rekognition Custom Labels membuat matriks kebingungan dengan menggunakan gambar uji untuk mengidentifikasi label yang salah diidentifikasi (bingung). Amazon Rekognition Custom Labels hanya membuat matriks kebingungan untuk model klasifikasi. Matriks klasifikasi dapat diakses dari file ringkasan yang dibuat Label Kustom Rekognition Amazon selama pelatihan model. Anda tidak dapat melihat matriks kebingungan di konsol Label Kustom Rekognition Amazon.

**Topics**
+ [Menggunakan matriks kebingungan](#im-using-confusion-matrix)
+ [Mendapatkan matriks kebingungan untuk sebuah model](#im-getting-confusion-matrix)

## Menggunakan matriks kebingungan
<a name="im-using-confusion-matrix"></a>

Tabel berikut adalah matriks kebingungan untuk proyek contoh [klasifikasi gambar Kamar](getting-started.md#gs-image-classification-example). Judul kolom adalah label (label kebenaran dasar) yang ditetapkan untuk gambar uji. Judul baris adalah label yang diprediksi model untuk gambar uji. Setiap sel adalah persentase prediksi untuk label (baris) yang seharusnya menjadi label kebenaran dasar (kolom). Misalnya, 67% prediksi untuk kamar mandi diberi label dengan benar sebagai kamar mandi. 33% persen kamar mandi salah diberi label sebagai dapur. Model berkinerja tinggi memiliki nilai sel tinggi ketika label yang diprediksi cocok dengan label kebenaran dasar. Anda dapat melihat ini sebagai garis diagonal dari label kebenaran yang diprediksi pertama hingga terakhir. Jika nilai sel adalah 0, tidak ada prediksi yang dibuat untuk label prediksi sel yang seharusnya menjadi label kebenaran dasar sel.

**catatan**  
Karena model non-deterministik, nilai sel matriks kebingungan yang Anda dapatkan dari pelatihan proyek Rooms mungkin berbeda dari tabel berikut. 

Matriks kebingungan mengidentifikasi area untuk fokus. Misalnya, matriks kebingungan menunjukkan bahwa 50% dari waktu model membingungkan lemari untuk kamar tidur. Dalam situasi ini, Anda harus menambahkan lebih banyak gambar lemari dan kamar tidur ke kumpulan data pelatihan Anda. Periksa juga apakah gambar lemari dan kamar tidur yang ada diberi label dengan benar. Ini akan membantu model membedakan kedua label dengan lebih baik. Untuk menambahkan lebih banyak gambar ke kumpulan data, lihat[Menambahkan lebih banyak gambar ke kumpulan data](md-add-images.md).

Meskipun matriks kebingungan sangat membantu, penting untuk mempertimbangkan metrik lainnya. Misalnya, 100% prediksi menemukan label floor\$1plan dengan benar, yang menunjukkan kinerja yang sangat baik. Namun, kumpulan data pengujian hanya memiliki 2 gambar dengan label floor\$1plan. Ini juga memiliki 11 gambar dengan label living\$1space. Ketidakseimbangan ini juga ada dalam kumpulan data pelatihan (13 gambar living\$1space dan 2 gambar lemari). Untuk mendapatkan evaluasi yang lebih akurat, seimbangkan kumpulan data pelatihan dan uji dengan menambahkan lebih banyak gambar label yang kurang terwakili (denah lantai dalam contoh ini). Untuk mendapatkan jumlah gambar uji per label, lihat[Mengakses metrik evaluasi (Konsol)](im-access-training-results.md). 

Tabel berikut adalah contoh matriks kebingungan, membandingkan label yang diprediksi (pada sumbu y) dengan label kebenaran dasar:


| Label yang diprediksi | halaman belakang | Kamar mandi | kamar tidur | lemari pakaian | jalan masuk\$1 | lantai\$1plan | front\$1yard | dapur | living\$1space | teras | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| halaman belakang | 75% | 0% | 0% | 0% | 0% | 0% | 33% | 0% | 0% | 0% | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| Kamar mandi | 0% | 67% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| kamar tidur | 0% | 0% | 82% | 50% | 0% | 0% | 0% | 0% | 9% | 0% | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| lemari pakaian | 0% | 0% | 0% | 50% | 0% | 0% | 0% | 0% | 0% | 0% | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| jalan masuk\$1 | 0% | 0% | 0% | 0% | 33% | 0% | 0% | 0% | 0% | 0% | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| lantai\$1plan | 0% | 0% | 0% | 0% | 0% | 100% | 0% | 0% | 0% | 0% | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| front\$1yard | 25% | 0% | 0% | 0% | 0% | 0% | 67% | 0% | 0% | 0% | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| dapur | 0% | 33% | 0% | 0% | 0% | 0% | 0% | 88% | 0% | 0% | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| living\$1space | 0% | 0% | 18% | 0% | 67% | 0% | 0% | 12% | 91% | 33% | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| teras | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 67% | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |

## Mendapatkan matriks kebingungan untuk sebuah model
<a name="im-getting-confusion-matrix"></a>

Kode berikut menggunakan [DescribeProjects](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjects)dan [DescribeProjectVersions](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjectVersions)operasi untuk mendapatkan [file ringkasan](im-summary-file-api.md) untuk model. Kemudian menggunakan file ringkasan untuk menampilkan matriks kebingungan untuk model. 

**Untuk menampilkan matriks kebingungan untuk model (SDK)**

1. Jika Anda belum melakukannya, instal dan konfigurasikan AWS CLI dan AWS SDKs. Untuk informasi selengkapnya, lihat [Langkah 4: Mengatur AWS CLI dan AWS SDKs](su-awscli-sdk.md).

1. Gunakan kode berikut untuk menampilkan matriks kebingungan untuk model. Berikan argumen baris perintah berikut:
   + `project_name`— nama proyek yang ingin Anda gunakan. Anda bisa mendapatkan nama proyek dari halaman proyek di konsol Amazon Rekognition Custom Labels.
   + `version_name`— versi model yang ingin Anda gunakan. Anda bisa mendapatkan nama versi dari halaman detail proyek di konsol Amazon Rekognition Custom Labels.

   ```
   # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
   # SPDX-License-Identifier: Apache-2.0
   
   """
   Purpose
   
   Shows how to display the confusion matrix for an Amazon Rekognition Custom labels image
   classification model.
   """
   
   
   import json
   import argparse
   import logging
   import boto3
   import pandas as pd
   from botocore.exceptions import ClientError
   
   
   logger = logging.getLogger(__name__)
   
   
   def get_model_summary_location(rek_client, project_name, version_name):
       """
       Get the summary file location for a model.
   
       :param rek_client: A Boto3 Rekognition client.
       :param project_arn: The Amazon Resource Name (ARN) of the project that contains the model.
       :param model_arn: The Amazon Resource Name (ARN) of the model.
       :return: The location of the model summary file.
       """
   
       try:
           logger.info(
               "Getting summary file for model %s in project %s.", version_name, project_name)
   
           summary_location = ""
   
           # Get the project ARN from the project name.
           response = rek_client.describe_projects(ProjectNames=[project_name])
   
           assert len(response['ProjectDescriptions']) > 0, \
               f"Project {project_name} not found."
   
           project_arn = response['ProjectDescriptions'][0]['ProjectArn']
   
           # Get the summary file location for the model.
           describe_response = rek_client.describe_project_versions(ProjectArn=project_arn,
                                                                    VersionNames=[version_name])
           assert len(describe_response['ProjectVersionDescriptions']) > 0, \
               f"Model {version_name} not found."
   
           model=describe_response['ProjectVersionDescriptions'][0]
   
           evaluation_results=model['EvaluationResult']
   
           summary_location=(f"s3://{evaluation_results['Summary']['S3Object']['Bucket']}"
                               f"/{evaluation_results['Summary']['S3Object']['Name']}")
   
           return summary_location
   
       except ClientError as err:
           logger.exception(
               "Couldn't get summary file location: %s", err.response['Error']['Message'])
           raise
   
   
   def show_confusion_matrix(summary):
       """
       Shows the confusion matrix for an Amazon Rekognition Custom Labels
       image classification model.
       :param summary: The summary file JSON object.
       """
       pd.options.display.float_format = '{:.0%}'.format
   
       # Load the model summary JSON into a DataFrame.
   
       summary_df = pd.DataFrame(
           summary['AggregatedEvaluationResults']['ConfusionMatrix'])
   
       # Get the confusion matrix.
       confusion_matrix = summary_df.pivot_table(index='PredictedLabel',
                                                 columns='GroundTruthLabel',
                                                 fill_value=0.0).astype(float)
   
       # Display the confusion matrix.
       print(confusion_matrix)
   
   
   def get_summary(s3_resource, summary):
       """
       Gets the summary file.
       : return: The summary file in bytes.
       """
       try:
           summary_bucket, summary_key = summary.replace(
               "s3://", "").split("/", 1)
   
           bucket = s3_resource.Bucket(summary_bucket)
           obj = bucket.Object(summary_key)
           body = obj.get()['Body'].read()
           logger.info(
               "Got summary file '%s' from bucket '%s'.",
               obj.key, obj.bucket_name)
       except ClientError:
           logger.exception(
               "Couldn't get summary file '%s' from bucket '%s'.",
               obj.key, obj.bucket_name)
           raise
       else:
           return body
   
   
   def add_arguments(parser):
       """
       Adds command line arguments to the parser.
       : param parser: The command line parser.
       """
   
       parser.add_argument(
           "project_name", help="The ARN of the project in which the model resides."
       )
       parser.add_argument(
           "version_name", help="The version of the model that you want to describe."
       )
   
   
   def main():
       """
       Entry point for script.
       """
   
       logging.basicConfig(level=logging.INFO,
                           format="%(levelname)s: %(message)s")
   
       try:
   
           # Get the command line arguments.
           parser = argparse.ArgumentParser(usage=argparse.SUPPRESS)
           add_arguments(parser)
           args = parser.parse_args()
   
           print(
               f"Showing confusion matrix for: {args.version_name} for project {args.project_name}.")
   
           session = boto3.Session(profile_name='custom-labels-access')
           rekognition_client = session.client("rekognition")
           s3_resource = session.resource('s3')
   
           # Get the summary file for the model.
           summary_location = get_model_summary_location(rekognition_client, args.project_name,
                                                         args.version_name
                                                         )
           summary = json.loads(get_summary(s3_resource, summary_location))
   
           # Check that the confusion matrix is available.
           assert 'ConfusionMatrix' in summary['AggregatedEvaluationResults'], \
               "Confusion matrix not found in summary. Is the model a classification model?"
   
           # Show the confusion matrix.
           show_confusion_matrix(summary)
           print("Done")
   
       except ClientError as err:
           logger.exception("Problem showing confusion matrix: %s", err)
           print(f"Problem describing model: {err}")
   
       except AssertionError as err:
           logger.exception(
               "Error: %s.\n", err)
           print(
               f"Error: {err}\n")
   
   
   if __name__ == "__main__":
       main()
   ```

# Referensi: File ringkasan hasil pelatihan
<a name="im-summary-file"></a>

Ringkasan hasil pelatihan berisi metrik yang dapat Anda gunakan untuk mengevaluasi model Anda. File ringkasan juga digunakan untuk menampilkan metrik di halaman hasil pelatihan konsol. File ringkasan disimpan dalam ember Amazon S3 setelah pelatihan. Untuk mendapatkan file ringkasan, hubungi`DescribeProjectVersion`. Untuk kode sampel, lihat [Mengakses file ringkasan dan snapshot manifes evaluasi (SDK)](im-access-summary-evaluation-manifest.md). 

## File ringkasan
<a name="im-summary-reference"></a>

JSON berikut adalah format file ringkasan.



**EvaluationDetails (bagian 3)**  
Ikhtisar informasi tentang tugas pelatihan. Ini termasuk ARN dari proyek yang dimiliki model (`ProjectVersionArn)`, tanggal dan waktu pelatihan selesai, versi model yang dievaluasi (`EvaluationEndTimestamp`), dan daftar label yang terdeteksi selama pelatihan (). `Labels` Juga termasuk jumlah gambar yang digunakan untuk pelatihan (`NumberOfTrainingImages`) dan evaluasi (`NumberOfTestingImages`). 

**AggregatedEvaluationResults (bagian 1)**  
Anda dapat menggunakan `AggregatedEvaluationResults` untuk mengevaluasi kinerja keseluruhan model terlatih saat digunakan dengan kumpulan data pengujian. Metrik agregat disertakan untuk`Precision`,`Recall`, dan `F1Score` metrik. Untuk deteksi objek (lokasi objek pada gambar), metrik `AverageRecall` (mAr) dan `AveragePrecision` (mAp) dikembalikan. Untuk klasifikasi (jenis objek dalam gambar), metrik matriks kebingungan dikembalikan. 

**LabelEvaluationResults (bagian 2)**  
Anda dapat menggunakan `labelEvaluationResults` untuk mengevaluasi kinerja masing-masing label. Label diurutkan berdasarkan skor F1 dari setiap label. Metrik yang disertakan adalah`Precision`,`Recall`,`F1Score`, dan `Threshold` (digunakan untuk klasifikasi). 

Nama file diformat sebagai berikut:`EvaluationSummary-ProjectName-VersionName.json`.

```
{
  "Version": "integer",
  // section-3
  "EvaluationDetails": {
    "ProjectVersionArn": "string",
    "EvaluationEndTimestamp": "string",
    "Labels": "[string]",
    "NumberOfTrainingImages": "int",
    "NumberOfTestingImages": "int"
  },
  // section-1
  "AggregatedEvaluationResults": {
    "Metrics": {
      "Precision": "float",
      "Recall": "float",
      "F1Score": "float",
      // The following 2 fields are only applicable to object detection
      "AveragePrecision": "float",
      "AverageRecall": "float",
      // The following field is only applicable to classification
      "ConfusionMatrix":[
        {
          "GroundTruthLabel": "string",
          "PredictedLabel": "string",
          "Value": "float"
        },
        ...
      ],
    }
  },
  // section-2
  "LabelEvaluationResults": [
    {
      "Label": "string",
      "NumberOfTestingImages", "int",
      "Metrics": {
        "Threshold": "float",
        "Precision": "float",
        "Recall": "float",
        "F1Score": "float"
      },
    },
    ...
  ]
}
```

# Meningkatkan model Label Kustom Rekognition Amazon
<a name="tr-improve-model"></a>

Kinerja model pembelajaran mesin sangat tergantung pada faktor-faktor  seperti kompleksitas dan variabilitas label khusus Anda (objek dan adegan spesifik yang Anda minati), kualitas dan kekuatan representatif dari kumpulan data pelatihan yang Anda berikan, dan kerangka kerja model dan metode pembelajaran mesin yang digunakan untuk melatih model. 

Amazon Rekognition Custom Labels, membuat proses ini lebih sederhana, dan tidak diperlukan keahlian pembelajaran mesin. Namun, proses membangun model yang baik sering melibatkan iterasi atas data dan perbaikan model untuk mencapai kinerja yang diinginkan. Berikut ini adalah informasi tentang cara meningkatkan model Anda.

## Data
<a name="im-data"></a>

Secara umum, Anda dapat meningkatkan kualitas model Anda dengan jumlah data berkualitas lebih baik yang lebih besar. Gunakan gambar pelatihan yang menunjukkan objek atau pemandangan dengan jelas dan tidak berantakan dengan item yang tidak dibutuhkan. Untuk membatasi kotak di sekitar objek, gunakan gambar pelatihan yang menunjukkan objek sepenuhnya terlihat dan tidak tersumbat oleh objek lain. 

Pastikan bahwa kumpulan data pelatihan dan pengujian Anda cocok dengan jenis gambar yang pada akhirnya akan Anda jalankan inferensi. Untuk objek, seperti logo, di mana Anda hanya memiliki beberapa contoh pelatihan, Anda harus menyediakan kotak pembatas di sekitar logo dalam gambar pengujian Anda. Gambar-gambar ini mewakili atau menggambarkan skenario di mana Anda ingin melokalisasi objek.

Untuk menambahkan lebih banyak gambar ke kumpulan data pelatihan atau pengujian, lihat[Menambahkan lebih banyak gambar ke kumpulan data](md-add-images.md).

## Mengurangi positif palsu (presisi yang lebih baik)
<a name="im-reduce-false-positives"></a>
+ Pertama, periksa apakah meningkatkan ambang batas yang diasumsikan memungkinkan Anda menyimpan prediksi yang benar, sambil mengurangi positif palsu. Pada titik tertentu, ini memiliki keuntungan yang berkurang karena trade-off antara presisi dan penarikan untuk model tertentu. Anda tidak dapat mengatur ambang batas yang diasumsikan untuk label, tetapi Anda dapat mencapai hasil yang sama dengan menentukan nilai tinggi untuk `DetectCustomLabels` parameter `MinConfidence` input. Untuk informasi selengkapnya, lihat [Menganalisis gambar dengan model terlatih](detecting-custom-labels.md).
+ Anda mungkin melihat satu atau lebih label khusus yang Anda minati (A) secara konsisten bingung dengan kelas objek yang sama (tetapi bukan label yang Anda minati) (B). Untuk membantu, tambahkan B sebagai label kelas objek ke kumpulan data pelatihan Anda (bersama dengan gambar yang Anda dapatkan positif palsu). Secara efektif, Anda membantu model belajar memprediksi B dan bukan A melalui gambar pelatihan baru. Untuk menambahkan gambar ke kumpulan data pelatihan, lihat[Menambahkan lebih banyak gambar ke kumpulan data](md-add-images.md). 
+ Anda mungkin menemukan bahwa model dikacaukan oleh dua label khusus Anda (A dan B) —gambar uji dengan label A diprediksi memiliki label B dan sebaliknya. Dalam hal ini, periksa dulu gambar yang salah label di set pelatihan dan tes Anda. Gunakan galeri kumpulan data untuk mengelola label yang ditetapkan ke kumpulan data. Untuk informasi selengkapnya, lihat [Mengelola label](md-labels.md). Selain itu, menambahkan lebih banyak gambar pelatihan yang terkait dengan jenis kebingungan ini akan membantu model yang dilatih ulang membedakan antara A dan B. Untuk menambahkan gambar ke kumpulan data pelatihan, lihat. [Menambahkan lebih banyak gambar ke kumpulan data](md-add-images.md) 

## Mengurangi negatif palsu (mengingat lebih baik)
<a name="im-reduce-false-negatives"></a>
+ Gunakan nilai yang lebih rendah untuk ambang batas yang diasumsikan. Anda tidak dapat mengatur ambang batas yang diasumsikan untuk label, tetapi Anda dapat mencapai hasil yang sama dengan menentukan parameter `MinConfidence` input yang lebih rendah. `DetectCustomLabels` Untuk informasi selengkapnya, lihat [Menganalisis gambar dengan model terlatih](detecting-custom-labels.md).
+ Gunakan contoh yang lebih baik untuk memodelkan variasi objek dan gambar di mana mereka muncul.
+ Pisahkan label Anda menjadi dua kelas yang lebih mudah dipelajari. Misalnya, alih-alih cookie yang baik dan cookie yang buruk, Anda mungkin menginginkan cookie yang baik, cookie yang dibakar, dan cookie yang rusak untuk membantu model mempelajari setiap konsep unik dengan lebih baik. 