Membuat Skema Data untuk Amazon - Amazon Machine Learning

Kami tidak lagi memperbarui layanan Amazon Machine Learning atau menerima pengguna baru untuk itu. Dokumentasi ini tersedia untuk pengguna yang sudah ada, tetapi kami tidak lagi memperbaruinya. Untuk informasi selengkapnya, lihatApa itu Amazon Machine Learning.

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

Membuat Skema Data untuk Amazon

SEBUAHskematerdiri dari semua atribut dalam input data dan jenis data yang sesuai mereka. Hal ini memungkinkan Amazon IL untuk memahami data dalam sumber data. Amazon IL menggunakan informasi dalam skema untuk membaca dan menafsirkan data input, statistik komputasi, menerapkan transformasi atribut yang benar, dan menyempurnakan algoritma pembelajarannya. Jika Anda tidak menyediakan skema, Amazon IL menyimpulkan satu dari data.

Skema contoh

Agar Amazon IL dapat membaca data input dengan benar dan menghasilkan prediksi yang akurat, setiap atribut harus diberi tipe data yang benar. Mari kita telusuri contoh untuk melihat bagaimana tipe data ditugaskan ke atribut, dan bagaimana atribut dan tipe data disertakan dalam skema. Kami akan memanggil contoh “Kampanye Pelanggan” karena kami ingin memprediksi pelanggan mana yang akan menanggapi kampanye email kami. File input kami adalah file.csv dengan sembilan kolom:

1,3,web developer,basic.4y,no,no,1,261,0 2,1,car repair,high.school,no,no,22,149,0 3,1,car mechanic,high.school,yes,no,65,226,1 4,2,software developer,basic.6y,no,no,1,151,0

Ini skema untuk data ini:

{     "version": "1.0",     "rowId": "customerId",     "targetAttributeName": "willRespondToCampaign",     "dataFormat": "CSV",     "dataFileContainsHeader": false,     "attributes": [         {             "attributeName": "customerId",             "attributeType": "CATEGORICAL"         },         {             "attributeName": "jobId",             "attributeType": "CATEGORICAL"         }, { "attributeName": "jobDescription", "attributeType": "TEXT" },         {             "attributeName": "education",             "attributeType": "CATEGORICAL"         },         {             "attributeName": "housing",             "attributeType": "CATEGORICAL"         },         {             "attributeName": "loan",             "attributeType": "CATEGORICAL"         },         {             "attributeName": "campaign",             "attributeType": "NUMERIC"         },         {             "attributeName": "duration",             "attributeType": "NUMERIC"         }, { "attributeName": "willRespondToCampaign", "attributeType": "BINARY" } ] }

Dalam file skema untuk contoh ini, nilai untukrowIdadalahcustomerId:

"rowId": "customerId",

AtributwillRespondToCampaigndidefinisikan sebagai atribut target:

"targetAttributeName": "willRespondToCampaign ",

ParametercustomerIdatribut danCATEGORICALtipe data yang terkait dengan kolom pertama,jobIdatribut danCATEGORICALtipe data yang terkait dengan kolom kedua, yangjobDescriptionatribut danTEXTtipe data yang terkait dengan kolom ketiga,educationatribut danCATEGORICALtipe data yang terkait dengan kolom keempat, dan sebagainya. Kolom kesembilan dikaitkan denganwillRespondToCampaignatribut denganBINARYtipe data, dan atribut ini juga didefinisikan sebagai atribut target.

Menggunakan TargetAttributeName Field

ParametertargetAttributeNamevalue adalah nama atribut yang ingin Anda prediksi. Anda harus menetapkantargetAttributeNamesaat membuat atau mengevaluasi model.

Ketika Anda melatih atau mengevaluasi model ML-nya,targetAttributeNamemengidentifikasi nama atribut dalam data input yang berisi jawaban “benar” untuk atribut target. Amazon IL menggunakan target, yang mencakup jawaban yang benar, untuk menemukan pola dan menghasilkan model ML-nya.

Saat mengevaluasi model, Amazon ML-nya menggunakan target untuk memeriksa keakuratan prediksi Anda. Setelah Anda membuat dan mengevaluasi model ML, Anda dapat menggunakan data dengan unassignedtargetAttributeNameuntuk menghasilkan prediksi dengan model ML-mu.

Anda menentukan atribut target di konsol Amazon MLsaat Anda membuat sumber data, atau dalam file skema. Jika Anda membuat file skema Anda sendiri, gunakan sintaks berikut untuk menentukan atribut target:

"targetAttributeName": "exampleAttributeTarget",

Dalam contoh ini,exampleAttributeTargetadalah nama atribut dalam file input Anda yang merupakan atribut target.

Menggunakan Bidang RowID

Parameterrow IDadalah bendera opsional yang terkait dengan atribut dalam data input. Jika ditentukan, atribut ditandai sebagairow IDtermasuk dalam output prediksi. Atribut ini membuatnya lebih mudah untuk mengasosiasikan prediksi mana yang sesuai dengan pengamatan mana. Contoh yang baikrow IDadalah ID pelanggan atau atribut unik yang serupa.

catatan

ID baris hanya untuk referensi Anda. Amazon ML-nya tidak menggunakannya saat melatih model ML-nya. Memilih atribut sebagai ID baris tidak termasuk dari yang digunakan untuk melatih model ML-nya.

Anda menentukanrow IDdi konsol Amazon XML saat Anda membuat sumber data, atau dalam file skema. Jika Anda membuat file skema Anda sendiri, gunakan sintaksis berikut untuk menentukanrow ID:

"rowId": "exampleRow",

Dalam contoh sebelumnya,exampleRowadalah nama atribut dalam file input Anda yang didefinisikan sebagai ID baris.

Ketika menghasilkan prediksi batch, Anda mungkin mendapatkan output sebagai berikut:

tag,bestAnswer,score 55,0,0.46317 102,1,0.89625

Dalam contoh ini,RowIDmewakili atributcustomerId. Misalnya, customerId55diperkirakan akan menanggapi kampanye email kami dengan keyakinan rendah (0.46317), sementaracustomerId 102diperkirakan akan menanggapi kampanye email kami dengan keyakinan tinggi (0.89625).

Menggunakan Field AttributeType

Di Amazon IL, ada empat tipe data untuk atribut:

Biner

PilihBINARYuntuk atribut yang hanya memiliki dua negara yang mungkin, sepertiyesatauno.

Misalnya, atributisNew, untuk melacak apakah seseorang adalah pelanggan baru, akan memilikitruenilai untuk menunjukkan bahwa individu adalah pelanggan baru, danfalsenilai untuk menunjukkan bahwa ia bukan pelanggan baru.

Nilai negatif yang valid adalah0,n,no,f, danfalse.

Nilai positif yang valid adalah1,y,yes,t, dantrue.

Amazon ML-mengabaikan kasus input biner dan strip ruang putih di sekitarnya. Misalnya," FaLSe "adalah nilai biner yang valid. Anda dapat mencampur nilai biner yang Anda gunakan dalam sumber data yang sama, seperti menggunakantrue,no, dan1. Hanya output Amazon0dan1atribut biner.

Kategoris

PilihCATEGORICALuntuk atribut yang mengambil sejumlah nilai string yang unik. Misalnya, ID pengguna, bulan, dan kode pos adalah nilai kategoris. Atribut kategoris diperlakukan sebagai string tunggal, dan tidak tokenized lebih lanjut.

Numerik

PilihNUMERICuntuk atribut yang mengambil kuantitas sebagai nilai.

Misalnya, suhu, berat, dan tingkat klik adalah nilai numerik.

Tidak semua atribut yang memegang angka adalah numerik. Atribut kategoris, seperti hari dalam sebulan dan ID, sering direpresentasikan sebagai angka. Untuk dianggap numerik, angka harus sebanding dengan nomor lain. Misalnya, ID pelanggan664727tidak memberitahu Anda tentang ID pelanggan124552, tapi berat10memberitahu Anda bahwa atribut yang lebih berat daripada atribut dengan berat5. Hari dalam sebulan tidak numerik, karena yang pertama dari satu bulan bisa terjadi sebelum atau sesudah kedua bulan lagi.

catatan

Bila Anda menggunakan Amazon XML untuk membuat skema Anda, itu menetapkanNumerictipe data untuk semua atribut yang menggunakan angka. Jika Amazon ML-membuat skema Anda, periksa tugas yang salah dan tetapkan atribut tersebut keCATEGORICAL.

Text

PilihTEXTuntuk atribut yang merupakan serangkaian kata. Saat membaca dalam atribut teks, Amazon MLnya mengubahnya menjadi token, dibatasi oleh spasi putih.

Misalnya,email subjectmenjadiemaildansubject, danemail-subject heremenjadiemail-subjectdanhere.

Jika tipe data untuk variabel dalam skema pelatihan tidak sesuai dengan tipe data untuk variabel tersebut dalam skema evaluasi, Amazon IL mengubah jenis data evaluasi agar sesuai dengan tipe data pelatihan. Misalnya, jika skema data pelatihan memberikan tipe data dariTEXTke variabelage, tapi skema evaluasi memberikan tipe dataNUMERICkepadaage, kemudian Amazon ML-memperlakukan usia dalam data evaluasi sebagaiTEXTvariabel bukanNUMERIC.

Untuk informasi tentang statistik yang terkait dengan setiap jenis data, lihatStatistik deskriptif.

Menyediakan Skema ke Amazon ML-nya

Setiap sumber data membutuhkan skema. Anda dapat memilih dari dua cara untuk menyediakan Amazon MLdengan skema:

  • Izinkan Amazon XML untuk menyimpulkan jenis data dari setiap atribut dalam file data input dan secara otomatis membuat skema untuk Anda.

  • Menyediakan file skema saat Anda mengunggah data Amazon Simple Storage Service (Amazon S3).

Memungkinkan Amazon ML-Membuat Skema Anda

Saat Anda menggunakan konsol Amazon MLuntuk membuat sumber data, Amazon MLnya menggunakan aturan sederhana, berdasarkan nilai variabel Anda, untuk membuat skema Anda. Kami sangat menyarankan Anda meninjau skema Amazon ML-dibuat, dan memperbaiki jenis data jika tidak akurat.

Menyediakan Skema

Setelah membuat file skema, Anda harus membuatnya tersedia untuk Amazon ML-nya. Anda memiliki dua opsi:

  1. Sediakan skema dengan menggunakan konsol Amazon ML-nya.

    Gunakan konsol untuk membuat sumber data Anda, dan sertakan file skema dengan menambahkan ekstensi.schema ke nama file file file data input Anda. Misalnya, jika URI Amazon Simple Storage Service (Amazon S3) pada data input Anda adalah s3: //my-bucket-name/data/input.csv, URI ke skema Anda adalah s3: //my-bucket-name/data/input.csv.schema. Amazon IL secara otomatis menempatkan file skema yang Anda berikan alih-alih mencoba menyimpulkan skema dari data Anda.

    Untuk menggunakan direktori file sebagai masukan data ke Amazon IL, tambahkan ekstensi.schema ke jalur direktori Anda. Misalnya, jika file data Anda berada di lokasi s3: //examplebucket/path/to/data/, URI ke skema Anda akan s3: //examplebucket/path/to/data/.schema.

  2. Sediakan skema dengan menggunakan API Amazon ML-nya.

    Jika Anda berencana untuk memanggil API Amazon XML untuk membuat sumber data Anda, Anda dapat mengunggah file skema ke Amazon S3, dan kemudian memberikan URI ke file tersebut diDataSchemaLocationS3atributCreateDataSourceFromS3API Untuk informasi selengkapnya, lihatdibuatasourcefroms3.

    Anda dapat memberikan skema langsung di payloadCreateDataSource*APIsalih-alih menyimpannya terlebih dahulu ke Amazon S3. Anda melakukan ini dengan menempatkan string skema penuh diDataSchemaatributCreateDataSourceFromS3,CreateDataSourceFromRDS, atauCreateDataSourceFromRedshiftAPI. Untuk informasi selengkapnya, lihatReferensi API Amazon Machine Learning.