Membuat atribusi metrik Amazon Personalisasi - Amazon Personalize

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

Membuat atribusi metrik Amazon Personalisasi

penting

Setelah Anda membuat atribusi metrik dan merekam peristiwa atau mengimpor data massal tambahan, Anda akan dikenakan CloudWatch biaya bulanan per metrik. Untuk informasi tentang CloudWatch harga, lihat halaman CloudWatch harga Amazon. Untuk berhenti mengirim metrik ke CloudWatch, hapus atribusi metrik.

Untuk mulai membuat laporan metrik, Anda membuat atribusi metrik dan mengimpor data interaksi. Saat membuat atribusi metrik, Anda menentukan daftar jenis peristiwa yang akan dilaporkan. Untuk setiap jenis peristiwa, Anda menentukan fungsi yang diterapkan Amazon Personalize saat mengumpulkan data. Fungsi yang tersedia termasuk SUM(DatasetType.COLUMN_NAME) danSAMPLECOUNT().

Misalnya, Anda mungkin memiliki aplikasi streaming video online dan ingin melacak dua metrik: rasio klik-tayang untuk rekomendasi, dan total panjang film yang ditonton, di mana setiap video dalam kumpulan data Item menyertakan atribut. LENGTH Anda akan membuat atribusi metrik dan menambahkan dua metrik, masing-masing dengan jenis dan fungsi peristiwa. Yang pertama mungkin untuk jenis Click acara dengan SAMPLECOUNT() fungsi. Yang kedua mungkin untuk jenis Watch acara dengan SUM(Items.LENGTH) fungsi.

Anda dapat menerapkan SUM() fungsi hanya ke kolom numerik kumpulan data interaksi Item dan Item. Untuk menerapkan SUM() fungsi ke kolom dalam kumpulan data Item, Anda harus terlebih dahulu mengimpor metadata item.

Anda dapat membuat atribusi metrik dengan konsol Amazon Personalize AWS Command Line Interface,, atau. AWS SDKS

Membuat atribusi metrik (konsol)

Untuk membuat atribusi metrik dengan konsol Amazon Personalize, Anda menavigasi ke halaman atribusi Metrik dan memilih Buat atribusi metrik. Saat membuat atribusi metrik, Anda menentukan jalur bucket Amazon S3 opsional, peran layanan Amazon IAM Personalisasi, dan daftar metrik yang akan dilaporkan.

Saat membuat pekerjaan impor kumpulan data interaksi Item dengan konsol Amazon Personalize, Anda memiliki opsi untuk membuat atribusi metrik di tab baru. Kemudian Anda dapat kembali ke pekerjaan impor untuk menyelesaikannya. Jika Anda sudah berada di halaman Konfigurasi atribusi metrik, Anda dapat melompat ke langkah 4.

Untuk membuat atribusi metrik
  1. Buka konsol Amazon Personalize di https://console.aws.amazon.com/personalize/rumah dan masuk ke akun Anda.

  2. Pilih grup kumpulan data Anda.

  3. Di panel navigasi, di bawah Sumber daya khusus, pilih Atribusi metrik.

  4. Di detail atribusi metrik, pilih Buat atribusi metrik.

  5. Pada halaman Konfigurasi atribusi metrik, beri nama atribusi metrik.

  6. Jika Anda ingin memublikasikan metrik ke Amazon S3 untuk jalur keluaran data Amazon S3, masukkan bucket Amazon S3 tujuan. Ini memungkinkan opsi untuk mempublikasikan metrik setiap kali Anda membuat pekerjaan impor kumpulan data. Gunakan sintaks berikut:

    s3://amzn-s3-demo-bucket/<folder> path>

  7. Jika Anda menggunakan AWS KMS untuk enkripsi, untuk KMSkunci ARN, masukkan Amazon Resource Name (ARN) untuk AWS KMS kunci. Anda harus memberikan izin Amazon Personalize dan Amazon IAM Personalize service role untuk menggunakan kunci Anda. Untuk informasi selengkapnya, lihat Memberikan izin Amazon Personalisasi untuk menggunakan kunci Anda AWS KMS.

  8. Dalam IAMperan, pilih untuk membuat peran layanan baru atau menggunakan yang sudah ada. Peran yang Anda pilih harus memiliki PutMetricData izin untuk CloudWatch. Jika Anda ingin mempublikasikan ke Amazon S3, peran tersebut harus memiliki PutObject izin untuk bucket Amazon S3 Anda.

    Untuk menggunakan peran yang Anda buatMembuat peran IAM untuk Amazon Personalize, Anda mungkin harus menambahkan kebijakan untuk CloudWatch dan Amazon S3.

    Untuk contoh kebijakan, lihat Memberikan Amazon Personalisasi akses ke CloudWatch danMemberikan Amazon Personalisasi akses ke bucket Amazon S3 Anda.

  9. Pilih Berikutnya.

  10. Pada halaman Tentukan atribut metrik, pilih cara menentukan metrik. Pilih Buat atribut metrik untuk menggunakan alat pembuat. Pilih Atribut metrik masukan untuk memasukkan metrik dalam JSON format.

    • Jika Anda memilih Membangun atribut metrik, untuk setiap metrik berikan nama, jenis peristiwa, dan pilih fungsi. Untuk SUM() fungsi, pilih nama kolom. Pilih Tambahkan atribut metrik untuk menambahkan metrik tambahan.

    • Jika Anda memilih Atribut metrik masukan, masukkan setiap metrik dalam JSON format. Berikut ini menunjukkan cara memformat metrik.

      { "EventType": "watch", "MetricName": "MinutesWatchedTracker", "MetricMathExpression": "SUM(Items.LENGTH)" }
  11. Pilih Berikutnya.

  12. Pada halaman Tinjau dan buat, tinjau detail atribusi metrik baru. Untuk melakukan perubahan, pilih Sebelumnya. Untuk membuat atribusi metrik, pilih Buat. Saat atribusi metrik aktif, Anda dapat mulai mengimpor data dan melihat hasilnya. Untuk informasi tentang melihat hasil, lihatMelihat grafik data metrik di CloudWatch. Untuk informasi tentang mempublikasikan hasil ke Amazon S3, lihat. Menerbitkan laporan atribusi metrik ke Amazon S3

Membuat atribusi metrik ()AWS CLI

Kode berikut menunjukkan cara membuat atribusi metrik dengan. AWS Command Line Interface Peran yang Anda tentukan harus memiliki PutMetricData izin untuk CloudWatch dan, jika memublikasikan ke Amazon S3PutObject, izin untuk bucket Amazon S3 Anda. Untuk menggunakan peran yang Anda buatMembuat peran IAM untuk Amazon Personalize, Anda mungkin harus menambahkan kebijakan untuk CloudWatch dan Amazon S3. Untuk contoh kebijakan, lihat Memberikan Amazon Personalisasi akses ke CloudWatch danMemberikan Amazon Personalisasi akses ke bucket Amazon S3 Anda.

Untuk setiap metrik tentukan nama, jenis peristiwa, dan ekspresi (fungsi). Fungsi yang tersedia termasuk SUM(DatasetType.COLUMN_NAME) danSAMPLECOUNT(). Untuk fungsi SUM (), tentukan jenis kumpulan data dan nama kolom. Misalnya, SUM(Items.LENGTH). Untuk informasi tentang setiap parameter, lihatCreateMetricAttribution.

aws personalize create-metric-attribution \ --name metric attribution name \ --dataset-group-arn dataset group arn \ --metrics-output-config "{\"roleArn\": \"Amazon Personalize service role ARN\", \"s3DataDestination\":{\"kmsKeyArn\":\"kms key ARN\",\"path\":\"s3://amzn-s3-demo-bucket/folder-name/\"}}" \ --metrics "[{ \"eventType\": \"event type\", \"expression\": \"SUM(DatasetType.COLUMN_NAME)\", \"metricName\": \"metric name\" }]"

Membuat atribusi metrik ()AWS SDKs

Kode berikut menunjukkan cara membuat atribusi metrik dengan SDK untuk Python (Boto3). Peran yang Anda tentukan harus memiliki PutMetricData izin untuk CloudWatch dan, jika memublikasikan ke Amazon S3PutObject, izin untuk bucket Amazon S3 Anda. Untuk menggunakan peran yang Anda buatMembuat peran IAM untuk Amazon Personalize, Anda mungkin harus menambahkan kebijakan untuk CloudWatch dan Amazon S3. Untuk contoh kebijakan, lihat Memberikan Amazon Personalisasi akses ke CloudWatch danMemberikan Amazon Personalisasi akses ke bucket Amazon S3 Anda.

Untuk setiap metrik tentukan nama, jenis peristiwa, dan ekspresi (fungsi). Fungsi yang tersedia termasuk SUM(DatasetType.COLUMN_NAME) danSAMPLECOUNT(). Untuk fungsi SUM (), tentukan jenis kumpulan data dan nama kolom. Misalnya, SUM(Items.LENGTH). Untuk informasi tentang setiap parameter, lihatCreateMetricAttribution.

SDK for Python (Boto3)
import boto3 personalize = boto3.client('personalize') metricsList = [{ "eventType": "event type", "expression": "SUM(DatasetType.COLUMN_NAME)", "metricName": "metric name" }] outputConfig = { "roleArn": "Amazon Personalize service role ARN", "s3DataDestination": { "kmsKeyArn": "key ARN", "path": "s3://amzn-s3-demo-bucket/<folder>" } } response = personalize.create_metric_attribution( name = 'metric attribution name', datasetGroupArn = 'dataset group arn', metricsOutputConfig = outputConfig, metrics = metricsList ) metric_attribution_arn = response['metricAttributionArn'] print ('Metric attribution ARN: ' + metric_attribution_arn) description = personalize.describe_metric_attribution( metricAttributionArn = metric_attribution_arn)['metricAttribution'] print('Name: ' + description['name']) print('ARN: ' + description['metricAttributionArn']) print('Status: ' + description['status'])
SDK for Java 2.x
public static String createMetricAttribution(PersonalizeClient personalizeClient, String eventType, String expression, String metricName, String metricAttributionName, String roleArn, String s3Path, String kmsKeyArn, String datasetGroupArn) { String metricAttributionArn = ""; try { MetricAttribute attribute = MetricAttribute.builder() .eventType(eventType) .expression(expression) .metricName(metricName) .build(); ArrayList<MetricAttribute> metricAttributes = new ArrayList<>(); metricAttributes.add(attribute); S3DataConfig s3DataDestination = S3DataConfig.builder() .kmsKeyArn(kmsKeyArn) .path(s3Path) .build(); MetricAttributionOutput outputConfig = MetricAttributionOutput.builder() .roleArn(roleArn) .s3DataDestination(s3DataDestination) .build(); CreateMetricAttributionRequest createMetricAttributionRequest = CreateMetricAttributionRequest.builder() .name(metricAttributionName) .datasetGroupArn(datasetGroupArn) .metrics(metricAttributes) .metricsOutputConfig(outputConfig) .build(); CreateMetricAttributionResponse createMetricAttributionResponse = personalizeClient.createMetricAttribution(createMetricAttributionRequest); metricAttributionArn = createMetricAttributionResponse.metricAttributionArn(); System.out.println("Metric attribution ARN: " + metricAttributionArn); return metricAttributionArn; } catch (PersonalizeException e) { System.out.println(e.awsErrorDetails().errorMessage()); } return ""; }
SDK for JavaScript v3
// Get service clients and commands using ES6 syntax. import { CreateMetricAttributionCommand, PersonalizeClient } from "@aws-sdk/client-personalize"; // create personalizeClient const personalizeClient = new PersonalizeClient({ region: "REGION" }); // set the metric attribution param export const createMetricAttributionParam = { name: "METRIC_ATTRIBUTION_NAME", /* required */ datasetGroupArn: "DATASET_GROUP_ARN", /* required */ metricsOutputConfig: { roleArn: "ROLE_ARN", /* required */ s3DataDestination: { kmsKeyArn: "KEY_ARN", /* optional */ path: "s3://amzn-s3-demo-bucket/<folderName>/", /* optional */ }, }, metrics: [ { eventType: "EVENT_TYPE", /* required for each metric */ expression: "SUM(DatasetType.COLUMN_NAME)", /* required for each metric */ metricName: "METRIC_NAME", /* required for each metric */ } ] }; export const run = async () => { try { const response = await personalizeClient.send( new CreateMetricAttributionCommand(createMetricAttributionParam) ); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();