Buat baseline kualitas model - Amazon SageMaker

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

Buat baseline kualitas model

Buat pekerjaan dasar yang membandingkan prediksi model Anda dengan label kebenaran dasar dalam kumpulan data dasar yang telah Anda simpan di Amazon S3. Biasanya, Anda menggunakan dataset pelatihan sebagai dataset dasar. Pekerjaan dasar menghitung metrik untuk model dan menyarankan kendala untuk digunakan untuk memantau penyimpangan kualitas model.

Untuk membuat pekerjaan dasar, Anda harus memiliki kumpulan data yang berisi prediksi dari model Anda bersama dengan label yang mewakili Ground Truth untuk data Anda.

Untuk membuat pekerjaan dasar, gunakan ModelQualityMonitor kelas yang disediakan oleh SageMaker PythonSDK, dan selesaikan langkah-langkah berikut.

Untuk membuat pekerjaan dasar kualitas model
  1. Pertama, buat instance dari ModelQualityMonitor kelas. Cuplikan kode berikut menunjukkan cara melakukan ini.

    from sagemaker import get_execution_role, session, Session from sagemaker.model_monitor import ModelQualityMonitor role = get_execution_role() session = Session() model_quality_monitor = ModelQualityMonitor( role=role, instance_count=1, instance_type='ml.m5.xlarge', volume_size_in_gb=20, max_runtime_in_seconds=1800, sagemaker_session=session )
  2. Sekarang panggil suggest_baseline metode ModelQualityMonitor objek untuk menjalankan pekerjaan dasar. Cuplikan kode berikut mengasumsikan bahwa Anda memiliki kumpulan data dasar yang berisi prediksi dan label yang disimpan di Amazon S3.

    baseline_job_name = "MyBaseLineJob" job = model_quality_monitor.suggest_baseline( job_name=baseline_job_name, baseline_dataset=baseline_dataset_uri, # The S3 location of the validation dataset. dataset_format=DatasetFormat.csv(header=True), output_s3_uri = baseline_results_uri, # The S3 location to store the results. problem_type='BinaryClassification', inference_attribute= "prediction", # The column in the dataset that contains predictions. probability_attribute= "probability", # The column in the dataset that contains probabilities. ground_truth_attribute= "label" # The column in the dataset that contains ground truth labels. ) job.wait(logs=False)
  3. Setelah pekerjaan dasar selesai, Anda dapat melihat kendala yang dihasilkan oleh pekerjaan. Pertama, dapatkan hasil pekerjaan dasar dengan memanggil latest_baselining_job metode objek. ModelQualityMonitor

    baseline_job = model_quality_monitor.latest_baselining_job
  4. Pekerjaan dasar menunjukkan kendala, yang merupakan ambang batas untuk metrik yang memodelkan ukuran monitor. Jika metrik melampaui ambang batas yang disarankan, Model Monitor melaporkan pelanggaran. Untuk melihat kendala yang dihasilkan oleh pekerjaan dasar, panggil suggested_constraints metode pekerjaan dasar. Cuplikan kode berikut memuat batasan untuk model klasifikasi biner ke dalam kerangka data Pandas.

    import pandas as pd pd.DataFrame(baseline_job.suggested_constraints().body_dict["binary_classification_constraints"]).T

    Kami menyarankan Anda melihat batasan yang dihasilkan dan memodifikasinya seperlunya sebelum menggunakannya untuk pemantauan. Misalnya, jika kendala terlalu agresif, Anda mungkin mendapatkan lebih banyak peringatan untuk pelanggaran daripada yang Anda inginkan.

    Jika kendala Anda berisi angka yang dinyatakan dalam notasi ilmiah, Anda perlu mengubahnya menjadi float. Contoh skrip preprocessing python berikut menunjukkan cara mengonversi angka dalam notasi ilmiah menjadi float.

    import csv def fix_scientific_notation(col): try: return format(float(col), "f") except: return col def preprocess_handler(csv_line): reader = csv.reader([csv_line]) csv_record = next(reader) #skip baseline header, change HEADER_NAME to the first column's name if csv_record[0] == “HEADER_NAME”: return [] return { str(i).zfill(20) : fix_scientific_notation(d) for i, d in enumerate(csv_record)}

    Anda dapat menambahkan skrip pra-pemrosesan ke baseline atau jadwal pemantauan sebagairecord_preprocessor_script, seperti yang didefinisikan dalam dokumentasi Model Monitor.

  5. Ketika Anda puas dengan kendala, berikan mereka sebagai constraints parameter saat Anda membuat jadwal pemantauan. Untuk informasi selengkapnya, lihat Jadwalkan pekerjaan pemantauan kualitas model.

Batasan dasar yang disarankan terkandung dalam file constraints.json di lokasi yang Anda tentukan. output_s3_uri Untuk informasi tentang skema untuk file ini di. Skema untuk Kendala (file kendala json)