Edit Metadata

Penting

Dukungan untuk Studio Azure Machine Learning (klasik) akan berakhir pada 31 Agustus 2024. Sebaiknya Anda transisi ke Azure Machine Learning sebelum tanggal tersebut.

Mulai 1 Desember 2021, Anda tidak akan dapat membuat sumber daya Studio Azure Machine Learning (klasik) baru. Hingga 31 Agustus 2024, Anda dapat terus menggunakan sumber daya Pembelajaran Mesin Studio (klasik) yang ada.

ML Dokumentasi Studio (klasik) sedang berhenti dan mungkin tidak diperbarui di masa mendatang.

Mengedit metadata yang terkait dengan kolom dalam himpunan data

Kategori: Transformasi / Manipulasi Data

Catatan

Berlaku untuk: Pembelajaran Mesin Studio (klasik) saja

Modul drag-and-drop serupa tersedia di Azure Machine Learning desainer.

Ringkasan Modul

Artikel ini menjelaskan cara menggunakan modul Edit Metadata di Pembelajaran Mesin Studio (klasik) untuk mengubah metadata yang terkait dengan kolom dalam himpunan data. Nilai dan tipe data dalam himpunan data tidak benar-benar diubah; perubahan apa metadata di dalam Pembelajaran Mesin yang memberi tahu komponen hilir cara menggunakan kolom.

Perubahan metadata umum mungkin meliputi:

  • Memperlakukan kolom Boolean atau numerik sebagai nilai kategoris

  • Menunjukkan kolom mana yang berisi label kelas , atau nilai yang ingin Anda kategorikan atau prediksi

  • Menandai kolom sebagai fitur

  • Mengubah nilai tanggal/waktu menjadi nilai numerik, atau sebaliknya

  • Mengganti nama kolom

Gunakan Edit Metadata kapan saja Anda perlu mengubah definisi kolom, biasanya untuk memenuhi persyaratan modul hilir. Misalnya, beberapa modul hanya dapat bekerja dengan tipe data tertentu, atau memerlukan bendera pada kolom, seperti IsFeature atau IsCategorical.

Setelah melakukan operasi yang diperlukan, Anda dapat mengatur ulang metadata ke status aslinya.

Cara mengonfigurasi Edit Metadata

  1. Di Pembelajaran Mesin Studio (klasik), tambahkan modul Edit Metadata ke eksperimen Anda dan hubungkan himpunan data yang ingin Anda perbarui. Anda dapat menemukannya di bawah Transformasi Data, dalam kategori Manipulasi .

  2. Klik Luncurkan pemilih kolom dan pilih kolom atau kumpulan kolom untuk dikerjakan. Anda dapat memilih kolom satu per satu, berdasarkan nama atau indeks, atau Anda dapat memilih grup kolom, menurut jenis.

    Tip

    Butuh bantuan menggunakan indeks kolom? Lihat bagian Catatan Teknis .

  3. Pilih opsi Jenis data jika Anda perlu menetapkan jenis data yang berbeda ke kolom yang dipilih. Mengubah tipe data mungkin diperlukan untuk operasi tertentu: misalnya, jika himpunan data sumber Anda memiliki angka yang ditangani sebagai teks, Anda harus mengubahnya menjadi tipe data numerik sebelum menggunakan operasi matematika.

    • Tipe data yang didukung adalah String, , Integer, Floating point, DateTimeBoolean, , dan TimeSpan.

    • Jika beberapa kolom dipilih, Anda harus menerapkan perubahan metadata ke semua kolom yang dipilih. Misalnya, katakanlah Anda memilih 2-3 kolom numerik. Anda dapat mengubah semuanya menjadi tipe data string, dan mengganti namanya menjadi satu operasi. Namun, Anda tidak bisa mengubah satu kolom menjadi jenis data untai dan kolom lain dari float menjadi bilangan bulat.

    • Jika Anda tidak menentukan tipe data baru, metadata kolom tidak berubah.

    • Perubahan tipe data hanya memengaruhi metadata yang terkait dengan himpunan data dan bagaimana data ditangani dalam operasi hilir. Nilai kolom yang sebenarnya tidak diubah kecuali Anda melakukan operasi yang berbeda (seperti pembulatan) pada kolom. Anda dapat memulihkan tipe data asli kapan saja dengan menggunakan Edit Metadata untuk mengatur ulang tipe data kolom.

    Catatan

    Jika Anda mengubah jenis angka apa pun menjadi jenis TanggalWaktu, biarkan bidang Format TanggalWaktu kosong. Saat ini, tidak mungkin untuk menentukan format data target.

Pembelajaran Mesin dapat mengonversi tanggal menjadi angka, atau angka menjadi tanggal, jika angka tersebut kompatibel dengan salah satu objek .NET DateTime yang didukung. Untuk informasi selengkapnya, lihat bagian Catatan Teknis .

  1. Pilih opsi Kategoris untuk menentukan bahwa nilai dalam kolom yang dipilih harus diperlakukan sebagai kategori.

    Misalnya, Anda mungkin memiliki kolom yang berisi angka 0,1 dan 2, tetapi ketahuilah bahwa angka tersebut sebenarnya berarti "Perokok", "Non perokok" dan "Tidak Diketahui". Dalam hal ini, dengan menandai kolom sebagai kategoris Anda dapat memastikan bahwa nilai tidak digunakan dalam perhitungan numerik, hanya untuk mengelompokkan data.

  2. Gunakan opsi Bidang jika Anda ingin mengubah cara Pembelajaran Mesin menggunakan data dalam model.

    • Fitur: Gunakan opsi ini untuk menandai kolom sebagai fitur, untuk digunakan dengan modul yang hanya beroperasi pada kolom fitur. Secara default, semua kolom awalnya diperlakukan sebagai fitur.

    • Label: Gunakan opsi ini untuk menandai label (juga dikenal sebagai atribut yang dapat diprediksi, atau variabel target). Banyak modul mengharuskan setidaknya satu (dan hanya satu) kolom label hadir dalam himpunan data.

      Dalam banyak kasus, Pembelajaran Mesin dapat menyimpulkan bahwa kolom berisi label kelas, tetapi dengan mengatur metadata ini Anda dapat memastikan bahwa kolom diidentifikasi dengan benar. Mengatur opsi ini tidak mengubah nilai data, hanya cara beberapa algoritma pembelajaran mesin menangani data.

    • Berat: Gunakan opsi ini dengan data numerik untuk menunjukkan bahwa nilai kolom mewakili bobot untuk digunakan dalam penilaian atau operasi penilaian atau pelatihan pembelajaran mesin. Hanya satu kolom berat yang dapat hadir dalam himpunan data, dan kolom harus numerik. Opsi ini hanya berfungsi dalam model ini: Two-Class Regresi Logistik, Mesin Vektor Dukungan Two-Class, dan Jaringan Two-Class Neural.

    Tip

    Memiliki data yang tidak sesuai dengan kategori ini? Misalnya, himpunan data Anda mungkin berisi nilai seperti pengidentifikasi unik yang tidak berguna sebagai variabel. Terkadang ID dapat menyebabkan masalah saat digunakan dalam model.

    Untungnya "di bawah penutup" Pembelajaran Mesin menyimpan semua data Anda, jadi Anda tidak perlu menghapus kolom tersebut dari himpunan data. Saat Anda perlu melakukan operasi pada beberapa set kolom khusus, cukup hapus semua kolom lainnya untuk sementara dengan menggunakan modul Pilih Kolom di Himpunan data. Nantinya Anda dapat menggabungkan kembali kolom ke himpunan data dengan menggunakan modul Tambahkan Kolom.

  3. Gunakan opsi berikut untuk menghapus pilihan sebelumnya dan memulihkan metadata ke nilai default.

    • Fitur hapus: Gunakan opsi ini untuk menghapus bendera fitur.

      Karena semua kolom pada awalnya diperlakukan sebagai fitur, untuk modul yang melakukan operasi matematika, Anda mungkin perlu menggunakan opsi ini untuk mencegah kolom numerik diperlakukan sebagai variabel.

    • Hapus label: Gunakan opsi ini untuk menghapus metadata label dari kolom yang ditentukan.

    • Hapus skor: Gunakan opsi ini untuk menghapus metadata skor dari kolom yang ditentukan.

      Saat ini kemampuan untuk secara eksplisit menandai kolom sebagai skor tidak tersedia dalam Pembelajaran Mesin. Namun, beberapa operasi mengakibatkan kolom ditandai sebagai skor secara internal. Selain itu, modul R kustom mungkin menghasilkan nilai skor.

    • Berat yang jelas: Gunakan opsi ini untuk menghapus metadata berat dari kolom yang ditentukan.

  4. Untuk Nama kolom baru, ketik nama baru kolom atau kolom yang dipilih.

    • Nama kolom hanya dapat menggunakan karakter yang didukung oleh pengkodean UTF-8. String kosong, null, atau nama yang seluruhnya terdiri dari spasi tidak diperbolehkan.

    • Untuk mengganti nama beberapa kolom, ketik nama sebagai daftar yang dipisahkan koma sesuai urutan indeks kolom.

    • Semua kolom yang dipilih harus diganti namanya. Anda tidak dapat menghilangkan atau melewati kolom.

    Tip

    Jika Anda perlu mengganti nama beberapa kolom, Anda dapat menempelkan dalam string yang dibatasi koma yang disiapkan sebelumnya. Atau, gunakan execute R Script atau Terapkan modul Transformasi SQL. Lihat bagian Catatan Teknis untuk kode dan contoh.

  5. Jalankan eksperimen.

Contoh

Untuk contoh bagaimana Edit Metadata digunakan dalam menyiapkan data dan model bangunan, lihat Galeri AI Azure:

  • Deteksi kanker payudara: Nama kolom diubah setelah bergabung ke himpunan data. Kolom ID Pasien juga ditandai sebagai kategoris untuk memastikan bahwa itu tidak digunakan dalam perhitungan, melainkan ditangani sebagai nilai string.

  • Analisis sentimen Twitter: Menunjukkan cara menggunakan Edit Metadata untuk memastikan bahwa kolom diperlakukan sebagai fitur. Kemudian dalam percobaan, metadata fitur dihapus.

  • Pemrosesan dan analisis Data: Dalam sampel ini, Edit Metadata digunakan untuk menentukan nama kolom baru untuk data yang dimuat dari halaman web.

Catatan teknis

Bagian ini berisi masalah yang diketahui, pertanyaan yang sering diajukan, dan beberapa contoh solusi umum.

Masalah Umum

  • Metadata kustom tidak didukung. Tidak mungkin menggunakan metadata kustom di Pembelajaran Mesin atau mengedit metadata kolom di luar Edit Metadata. Misalnya, Anda tidak dapat menambahkan metadata yang menunjukkan bahwa kolom adalah pengenal unik, atau menambahkan atribut deskriptif lainnya . Pembelajaran Mesin hanya mendukung atribut metadata yang digunakan dalam R untuk bekerja dengan faktor, fitur, bobot, dan label.

  • Tipe data yang tidak didukung. Tipe data numerik berikut tidak didukung: Double (desimal) dan TimeStamp.

  • Mengidentifikasi kolom skor. Saat ini tidak ada opsi dalam Edit Metadata untuk menandai kolom yang berisi skor. Namun, Anda dapat menggunakan modul Execute R Script dengan skrip yang mirip dengan yang berikut untuk menunjukkan bahwa kolom berisi skor:

    dataset <- maml.mapInputPort(1)   
    attr(dataset$x, "label.type")= "True Labels"  
    attr(dataset$y, "feature.channel")= "Multiclass Classification Scores"  
    attr(dataset$y, "score.type")= "Assigned Labels"  
    maml.mapOutputPort("dataset");
    
  • Masalah dengan format datetime. Tipe data yang mendasari yang datetime digunakan oleh Pembelajaran Mesin adalah POSIXct.

    Jika semua tanggal dalam kolom dapat diurai oleh parser default, kolom diimpor dan diperlakukan sebagai data string.

    Jika Anda mencoba mengonversi kolom DateTime menjadi dengan menggunakan modul Edit Metadata dan mendapatkan kesalahan, itu berarti tanggal tersebut tidak dalam format yang diterima .Net secara default. Dalam hal ini, kami sarankan Anda menggunakan modul Execute R Script atau modul Terapkan transformasi SQL untuk mengubah kolom Anda ke format yang diterima oleh parser default.

    Metode DateTime.Parse

    String Format Tanggal dan Waktu Standar

Memilih kolom menggunakan indeks kolom

Dalam himpunan data yang sangat besar, tidak mungkin untuk mengetik atau memilih semua nama kolom secara manual. Menggunakan indeks kolom adalah salah satu pintasan yang dapat Anda gunakan untuk menentukan banyak kolom. Bagian ini memberikan beberapa tips tentang menggunakan indeks kolom.

Misalnya, buka Pemilih Kolom, klik DENGAN ATURAN, pilih Sertakan dan indeks kolom, lalu ketik rentang atau serangkaian angka sebagai berikut:

  • Ketik 1-20 untuk memilih 20 kolom pertama
  • Ketik 5-20 untuk memilih rentang kolom mulai dari 5 dan termasuk kolom 20.
  • Ketik 1,5,10,15 untuk memilih kolom terputus-putus
  • Ketik 1-2, 5 untuk memilih kolom 1, 2 dan 5, melewatkan kolom 3 dan 4
  • Anda tidak dapat mengetik nilai indeks yang lebih besar dari jumlah kolom yang tersedia dalam himpunan data.

Eksperimen berikut memberikan beberapa contoh metode lain untuk memilih dan memodifikasi beberapa kolom:

  • Klasifikasi Biner: Deteksi Kanker Payudara: Data asli berisi banyak kolom kosong yang dihasilkan selama impor dari spreadsheet. Kolom tambahan telah dihapus dengan menentukan kolom 1-11 dalam modul Data Terpisah .

  • Unduh himpunan data dari UCI: Menunjukkan bagaimana Anda dapat memberikan nama kolom sebagai daftar menggunakan modul Enter Data Manually , lalu masukkan daftar ke dalam himpunan data sebagai judul, menggunakan modul execute R script .

  • Regex Pilih Kolom: Eksperimen ini menyediakan modul kustom yang memungkinkan Anda menerapkan ekspresi reguler ke nama kolom. Anda dapat menggunakan modul ini sebagai input untuk Mengedit Metadata.

Metode alternatif untuk memodifikasi nama kolom

Jika Anda memiliki banyak kolom untuk diganti namanya, Anda dapat menggunakan modul Execute R Script, atau modul Terapkan transformasi SQL.

Menggunakan skrip R

Kumpulan data yang digunakan oleh Pembelajaran Mesin diteruskan ke modul ini sebagai data.frame, yang berarti Anda dapat menggunakan fungsi R colnames() dan fungsi R terkait lainnya, untuk mencantumkan atau mengubah nama kolom.

Misalnya, kode berikut membuat daftar nama kolom baru, lalu menerapkan daftar tersebut ke himpunan data input untuk menghasilkan judul kolom baru.

irisdata <- maml.mapInputPort(1);    
newnames <- c("CLASS", "SEPAL  LENGTH", "SEPAL WIDTH", "PETAL LENGTH", "PETAL WIDTH");
colnames(irisdata) = newnames
maml.mapOutputPort("irisdata");

Contoh berikut menggunakan ekspresi reguler dalam R untuk mengganti secara global semua instans string yang ditentukan dalam nama kolom untuk irisdata:

# Map input dataset to variable
newirisdata <- maml.mapInputPort(1) # class: data.frame
names(newirisdata) <- gsub("col", "iris", names(newirisdata))
maml.mapOutputPort("newirisdata");

Menggunakan SQL

Contoh berikut mengambil himpunan data sebagai input, lalu mengubah nama kolom menggunakan kata kunci AS .

SELECT col1 as [C1], 
  col2 as [C2], 
  col3 as [C3], 
  col4 as [C4],
  col5 as [C5] 
FROM t1;

Input yang diharapkan

Nama Jenis Deskripsi
Himpunan Data Tabel Data Himpunan data input

Parameter modul

Nama Rentang Jenis Default Deskripsi
Kolom Semua Pilihan Kolom Pilih kolom yang akan diterapkan perubahan Anda.
Jenis Data Daftar Tipe data editor metadata Tidak diubah Tentukan tipe data baru untuk kolom.
Kategoris Daftar Kategori editor metadata Tidak diubah Tunjukkan apakah kolom harus ditandai sebagai kategoris.
Bidang Daftar Bendera editor metadata Tidak diubah Tentukan apakah kolom harus dianggap sebagai fitur atau label dengan mempelajari algoritma.
Nama kolom baru apa pun String Ketik nama baru untuk kolom.

Output

Nama Jenis Deskripsi
Kumpulan data hasil Tabel Data Himpunan data dengan metadata yang diubah

Pengecualian

Pengecualian Deskripsi
Kesalahan 0003 Pengecualian terjadi jika satu atau beberapa himpunan data input null atau kosong.
Kesalahan 0017 Pengecualian terjadi jika satu atau beberapa kolom tertentu memiliki tipe yang tidak didukung oleh modul saat ini.
Kesalahan 0020 Pengecualian terjadi jika jumlah kolom di beberapa himpunan data yang diteruskan ke modul terlalu kecil.
Kesalahan 0031 Pengecualian terjadi jika jumlah kolom dalam kumpulan kolom kurang dari yang diperlukan.
Kesalahan 0027 Pengecualian terjadi ketika dua objek harus memiliki ukuran yang sama, tetapi tidak.
Kesalahan 0028 Pengecualian terjadi ketika kumpulan kolom berisi nama kolom duplikat dan tidak diperbolehkan.
Kesalahan 0037 Pengecualian terjadi jika beberapa kolom label ditentukan dan hanya satu yang diizinkan.

Untuk daftar kesalahan khusus untuk modul Studio (klasik), lihat Pembelajaran Mesin Kode kesalahan.

Untuk daftar pengecualian API, lihat Pembelajaran Mesin Kode Kesalahan REST API.

Lihat juga

Manipulasi
Transformasi Data
Daftar Modul A-Z