Bagikan melalui


Sapu Pengelompokan

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.

Melakukan sapuan parameter untuk menentukan pengaturan optimal untuk model pengelompokan

Kategori: Pembelajaran Mesin / Kereta Api

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 Sweep Clustering di Pembelajaran Mesin Studio (klasik), untuk melatih model menggunakan sapuan parameter. Sapuan parameter adalah cara untuk menemukan hiperparameter terbaik untuk suatu model, mengingat satu set data.

Modul Sweep Clustering dirancang khusus untuk model clustering. Anda menyediakan model pengelompokan sebagai input, bersama dengan himpunan data. Modul berulang di atas serangkaian parameter yang Anda tentukan, membangun dan menguji model dengan parameter yang berbeda, sampai menemukan model dengan kumpulan cluster terbaik. Ini secara otomatis menghitung konfigurasi terbaik, dan kemudian melatih model menggunakan konfigurasi itu.

Ini juga mengembalikan satu set metrik yang menggambarkan model yang diuji, dan satu set tugas cluster berdasarkan model terbaik.

Cara mengonfigurasi Sweep Clustering

  1. Tambahkan modul Sweep Clustering ke eksperimen Anda di Studio (klasik). Anda dapat menemukan modul ini di bawah Pembelajaran Mesin, dalam kategori Train.

  2. Tambahkan modul K-Means Clustering dan himpunan data pelatihan Anda ke eksperimen, dan hubungkan keduanya ke modul Sweep Clustering .

  3. Konfigurasikan modul K-Means Clustering untuk menggunakan sapuan parameter sebagai berikut:

    1. Atur Mode Buat pelatih ke Rentang Parameter.

    2. Gunakan Range Builder (atau ketik beberapa nilai secara manual) untuk setiap parameter untuk mengatur rentang nilai agar berulang.

    3. Inisialisasi untuk menyapu: Tentukan bagaimana algoritma K-means harus menemukan centroid cluster awal. Beberapa algoritma disediakan untuk menginsialisasi secara acak dan kemudian menguji sentroid.

      Jika himpunan data pelatihan Anda berisi kolom label, bahkan dengan nilai parsial, Anda dapat menggunakan nilai tersebut untuk sentroid. Gunakan opsi Tetapkan Mode Label untuk menunjukkan bagaimana nilai label digunakan.

      Tip

      Kolom label Anda harus ditandai terlebih dahulu. Jika Anda mengalami kesalahan, coba gunakan Edit Metadata untuk mengidentifikasi kolom yang berisi label.

    4. Jumlah benih untuk disapu: Tunjukkan berapa banyak benih awal acak yang berbeda untuk dicoba saat melakukan penyisiran parameter.

    5. Pilih metrik yang akan digunakan saat mengukur kesamaan kluster. Untuk informasi selengkapnya, lihat topik Pengelompokan K-Means .

    6. Iterasi: Tentukan jumlah total iterasi yang harus dilakukan oleh algoritma K-means. Iterasi ini digunakan untuk mengoptimalkan pemilihan centroid cluster.

    7. Jika Anda menggunakan kolom label untuk menginisialisasi sapuan, gunakan opsi Tetapkan Mode Label untuk menentukan bagaimana nilai di kolom label harus ditangani.

      • Mengisi nilai yang hilang: Jika kolom label Anda berisi beberapa nilai yang hilang, gunakan opsi ini untuk menyiratkan kategori berdasarkan kluster yang ditetapkan oleh titik data.

      • Menimpa dari yang paling dekat ke pusat: Menghasilkan nilai label untuk semua titik data yang ditetapkan ke kluster, menggunakan label titik yang paling dekat dengan pusat kluster.

      • Abaikan kolom label: Pilih opsi ini jika Anda tidak ingin melakukan salah satu operasi di atas.

  4. Dalam modul Sweep Clustering , gunakan opsi, Untuk Metrik untuk mengukur hasil pengelompokan, untuk menentukan metode matematika yang akan digunakan saat memperkirakan kesesuaian model pengelompokan terlatih:

    • Siluet Sederhana: Metrik ini menangkap ketatnya titik data dalam setiap kluster. Ini dihitung sebagai kombinasi dari kesamaan setiap baris dengan cluster dan kesamaan dengan cluster terdekat berikutnya. Jika cluster hanya memiliki 1 baris, jarak prorata ke sentroid terdekat berikutnya dihitung sebagai gantinya, untuk menghindari mendapatkan 0 sebagai hasilnya. "Disederhanakan" mengacu pada fakta bahwa jarak ke cluster centroid digunakan sebagai ukuran kesamaan sederhana. Secara umum, skor yang lebih tinggi lebih baik. Nilai rata-rata atas himpunan data menunjukkan seberapa baik data telah dikelompokkan. Jika ada terlalu banyak atau terlalu sedikit cluster, beberapa cluster akan memiliki nilai siluet yang lebih rendah daripada yang lain. Untuk informasi lebih lanjut, lihat artikel Wikipedia ini.

    • Davies-Bouldin: Metrik ini bertujuan untuk mengidentifikasi kumpulan cluster terkecil dengan penyebaran paling sedikit. Karena metrik didefinisikan sebagai rasio pencar dalam setiap cluster atas pemisahan cluster, nilai yang lebih rendah berarti bahwa pengelompokan lebih baik. Model pengelompokan terbaik meminimalkan metrik ini. Untuk menghitung metrik Davies-Bouldin, jarak baris rata-rata ke centroid dihitung per kluster. Untuk setiap pasangan kelompok, jumlah rata-rata tersebut dibagi dengan jarak antara sentroid. Nilai maksimal atas semua cluster lainnya dipilih untuk setiap cluster dan rata-rata di semua cluster. Untuk informasi lebih lanjut, lihat artikel Wikipedia ini.

    • Dunn: Metrik ini bertujuan untuk mengidentifikasi kumpulan terkecil dari kluster paling kompak. Umumnya, nilai yang lebih tinggi untuk metrik ini menunjukkan pengelompokan yang lebih baik. Untuk menghitung metrik Dunn, jarak centroid-to-centroid minimal dibagi dengan jarak maksimal setiap titik data ke pusat klusternya. Untuk informasi lebih lanjut, lihat artikel Wikipedia ini.

    • Deviasi rata-rata: Metrik ini dihitung dengan mengambil jarak rata-rata dari setiap titik data ke pusat klusternya. Nilainya menurun karena jumlah sentroid meningkat; oleh karena itu, tidak berguna saat menyapu untuk menemukan jumlah sentroid. Metrik ini direkomendasikan untuk digunakan saat Anda memilih benih inisialisasi sentroid terbaik.

  5. Tentukan mode penyapuan parameter: Pilih opsi yang menentukan kombinasi nilai yang digunakan saat pelatihan, dan bagaimana mereka dipilih:

    • Seluruh kisi: Semua nilai dalam rentang yang diberikan dicoba dan dievaluasi. Opsi ini biasanya lebih mahal secara komputasi.

    • Sapuan acak: Gunakan opsi ini untuk membatasi jumlah lari. Model pengelompokan dibangun dan dievaluasi menggunakan kombinasi nilai yang dipilih secara acak dari rentang nilai parameter yang diizinkan.

  6. Jumlah maksimum berjalan pada sapuan acak: Atur opsi ini jika Anda memilih opsi sapu acak . Ketik nilai untuk membatasi jumlah maksimum iterasi saat menguji set parameter yang dipilih secara acak.

    Peringatan

    Parameter Iterasi modul K-Means Clustering memiliki tujuan yang berbeda dan tidak terpengaruh oleh pengaturan ini: membatasi jumlah pass atas data yang dibuat untuk meningkatkan cluster, dengan meminimalkan jarak rata-rata dari setiap titik data ke centroid cluster-nya. Sebaliknya, iterasi yang didefinisikan oleh parameter modul Sweep Clustering dilakukan untuk mencoba inisialisasi sentroid acak yang berbeda. Masalah minimalisasi ini diketahui np-hard; oleh karena itu, mencoba beberapa biji acak dapat menghasilkan hasil yang lebih baik.

    Jika Anda memilih sapuan acak, gunakan opsi benih acak untuk menentukan nilai benih acak awal, untuk mulai membuat sentroid. Salah satu keuntungan menggunakan sapuan parameter untuk membuat model pengelompokan adalah Anda dapat dengan mudah menguji beberapa nilai benih untuk mengurangi sensitivitas model pengelompokan yang diketahui ke nilai benih awal.

  7. Klik Kumpulan Kolom, dan pilih kolom yang akan digunakan saat membuat kluster. Secara default, semua kolom fitur digunakan saat membangun dan menguji model pengelompokan.

    Anda dapat menyertakan kolom label, jika ada di himpunan data Anda. Jika ada label, Anda dapat menggunakannya untuk memandu pemilihan sentroid, menggunakan label sebagai fitur, atau mengabaikan label. Atur opsi ini untuk penanganan label modul Clustering Kmeans seperti yang dijelaskan pada Langkah 3 di atas.

  8. Periksa Tambahkan atau Hapus Centang untuk Hanya Hasil: Gunakan opsi ini untuk mengontrol kolom mana yang dikembalikan dalam hasil.

    Secara default, modul mengembalikan kolom asli himpunan data pelatihan bersama dengan hasilnya. Jika Anda membatalkan pilihan opsi ini. hanya tugas kluster yang dikembalikan.

  9. Tambahkan modul Tetapkan Data ke Kluster ke eksperimen Anda.

  10. Koneksi output berlabel Model Terlatih Terbaik ke input Model Terlatih dari Tetapkan Data ke Kluster.

  11. Tambahkan himpunan data yang dimaksudkan untuk evaluasi, dan hubungkan ke port Himpunan Data modul Tetapkan Data ke Kluster .

  12. Tambahkan modul Evaluasi Model , dan hubungkan ke Tetapkan Data ke Kluster. Secara opsional, Anda dapat menghubungkan himpunan data evaluasi.

  13. Jalankan eksperimen.

Hasil

Modul Sweep Clustering menghasilkan tiga hasil yang berbeda:

  • Model terlatih terbaik. Model terlatih yang dapat Anda gunakan untuk penilaian dan evaluasi. Klik kanan dan pilih Simpan sebagai Model Terlatih untuk menangkap model pengelompokan yang dioptimalkan dan menggunakannya untuk penilaian.

  • Hasil himpunan data. Satu set tugas kluster, berdasarkan model yang dioptimalkan.

    Nama kolom Deskripsi
    Penetapan Nilai ini menunjukkan kluster tempat setiap titik data telah ditetapkan. Cluster dalam model terlatih diberi label dengan indeks berbasis 0.
    DistancesToClusterCenter no.1

    DistancesToClusterCenter no.n
    Nilai ini menunjukkan seberapa dekat titik data dengan pusat setiap kluster.

    Kolom dibuat untuk setiap kluster yang dibuat dalam model yang dioptimalkan.

    Anda dapat membatasi jumlah kluster dengan menggunakan opsi Jumlah centroids .

    Secara default, Anda dapat mengembalikan kolom dari himpunan data pelatihan bersama dengan hasilnya, untuk membuatnya lebih mudah untuk meninjau dan menafsirkan tugas kluster.

  • Sapu hasil. Himpunan data yang berisi metrik evaluasi berikut untuk kluster:

    Nama kolom Deskripsi
    Metrik kluster Nilai yang menunjukkan kualitas kluster rata-rata untuk menjalankannya. Run dipesan dengan skor terbaik.
    Jumlah centroid Jumlah cluster yang dibuat dalam iterasi khusus dari sapuan ini
    Indeks lari Pengidentifikasi untuk setiap iterasi

    Tip

    Nilai yang dikembalikan untuk metrik kluster harus ditafsirkan secara berbeda, tergantung pada metrik mana yang Anda pilih saat menyiapkan sapuan. Untuk metrik default, Siluet sederhana, skor yang lebih tinggi lebih baik. Bagi Davies-Bouldin, skor yang lebih rendah lebih baik.

Contoh

Untuk melihat contoh sapuan parameter dengan pengelompokan K-means, lihat Galeri AI Azure:

Catatan teknis

Bagian ini berisi tips dan detail implementasi.

Mengoptimalkan model pengelompokan

Kualitas dan akurasi model pengelompokan dapat sangat dipengaruhi oleh pilihan parameter awal, seperti jumlah centroid dan nilai benih yang digunakan untuk menginisialisasi cluster. Untuk mengurangi sensitivitas ini ke parameter awal, modul Sweep Clustering membantu Anda menemukan kombinasi parameter terbaik. Anda menentukan rentang parameter yang akan diuji, dan modul secara otomatis membangun dan menguji beberapa model, dan akhirnya memilih jumlah kluster yang optimal.

Untuk membuat sapuan parameter, Anda juga harus mengonfigurasi modul Pengelompokan K-Means untuk menggunakan sapuan parameter. Anda dapat menentukan bahwa sapuan berulang atas semua kemungkinan kombinasi parameter, atau menggunakan kombinasi parameter acak. Anda juga dapat memilih salah satu dari beberapa metrik standar untuk mengukur keakuratan sentroid selama proses pembuatan dan pengujian model berulang. Setelah jumlah iterasi yang ditentukan selesai, modul memilih jumlah kluster terbaik, berdasarkan metrik yang dipilih, dan menghasilkan laporan yang dapat Anda gunakan untuk menilai hasilnya.

Tips penggunaan

  • Dalam beberapa kasus, Anda mungkin sudah tahu berapa banyak kelompok yang Anda harapkan untuk ditemukan. Misalnya, data Anda mungkin memiliki label kelas yang dapat digunakan dalam memandu pemilihan sentroid. Dalam hal ini, Anda dapat mengonfigurasi modul Pengelompokan K-Means untuk menggunakan kolom label untuk memandu pemilihan sentroid awal.

  • Jika Anda mengetahui beberapa cluster yang diharapkan tetapi tidak yakin berapa banyak cluster yang optimal, atur jumlah centroid ke angka yang lebih besar dari jumlah nilai label yang diketahui. Modul Sweep Clustering membuat kluster untuk titik data yang diketahui dan kemudian menentukan jumlah optimal kluster tambahan untuk titik data yang tersisa.

Menangani nilai yang hilang di kolom label

Ada beberapa cara untuk menangani nilai yang hilang di kolom label Anda. Misalnya, misalkan Anda memiliki tugas klasifikasi gambar dan hanya beberapa gambar yang diberi label.

Anda dapat menggunakan kolom label untuk memandu pemilihan centroid tetapi menentukan bahwa setiap label yang hilang diisi dengan menggunakan tugas kluster. Dengan kata lain, nilai label yang ada tidak diubah, tetapi label yang hilang diisi.

Atau, untuk semua titik data yang ditetapkan ke kluster, Anda dapat menimpa bahkan label yang ada, menggunakan satu label yang paling mewakili kluster. Untuk memahami bagaimana opsi ini bermanfaat, bayangkan Anda menggunakan data gambar dengan label yang sangat rinci, seperti ras anjing yang berbeda. Dengan menggunakan opsi ini, Anda dapat mengganti semua label terperinci dengan label kategori tunggal, "anjing".

Nilai benih dalam log

File log yang dihasilkan oleh modul Train Clustering Model tampaknya menunjukkan bahwa benih yang sama digunakan untuk semua iterasi algoritma pengelompokan K-means, terlepas dari benih yang disediakan di properti Random Seed .

Bahkan, implementasi menggunakan benih yang disediakan pengguna untuk menghasilkan urutan angka acak yang berbeda untuk setiap lari. Dengan demikian, hanya satu benih yang diperlukan untuk membuat semua angka yang dihasilkan secara acak.

Maksud dari log adalah menunjukkan benih mana yang digunakan modul ketika pengguna tidak menentukan benih di panel Properti .

Input yang diharapkan

Nama Jenis Deskripsi
Model tak terlatih Antarmuka ICluster Model pengelompokan yang tidak terlatih
Himpunan Data Tabel Data Masukkan sumber data

Parameter modul

Nama Jenis Nilai Opsional Default Deskripsi
Metrik untuk mengukur hasil pengelompokan Metrik Kluster Siluet Sederhana, Davies-Bouldin, Dunn, Deviasi Rata-rata Diperlukan Siluet Sederhana Pilih metrik yang digunakan untuk mengevaluasi model regresi
Tentukan mode penyapuan parameter Metode Sapu Seluruh kisi atau sapuan acak Diperlukan Sapuan acak Sapu seluruh kisi pada ruang parameter, atau sapu dengan menggunakan jumlah sampel yang terbatas
Kumpulan Kolom Pilihan Kolom Diperlukan Pola pemilihan kolom
Jumlah maksimum berjalan pada sapuan acak Bilangan bulat [1;10000] Hanya tersedia saat SweepingMode diatur ke Penyapuan acak 5 Atur jumlah maksimum eksekusi untuk dijalankan saat menggunakan sapuan acak
Benih acak Bilangan bulat Hanya tersedia saat SweepingMode diatur ke Penyapuan acak 0 Memberikan nilai untuk menyemai generator angka acak untuk sapuan acak
Periksa Tambahkan atau Hapus Centang hanya untuk Hasil Boolean Diperlukan True Pilih untuk menunjukkan bahwa himpunan data output harus berisi himpunan data input dengan kolom penetapan ditambahkan. Batal pilih untuk menunjukkan bahwa hanya kolom tugas yang harus dikeluarkan.

Output

Nama Jenis Deskripsi
Model Terlatih Terbaik Antarmuka ICluster Model pengelompokan terlatih
Kumpulan data hasil Tabel Data Input himpunan data yang ditambahkan oleh kolom data tugas atau kolom tugas saja
Hasil sapu Tabel Data Log metrik yang dihasilkan untuk menjalankan sapuan kluster

Pengecualian

Pengecualian Deskripsi
Kesalahan 0003 Pengecualian terjadi jika satu atau beberapa input null atau kosong.

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

Pengklusteran K-Means
Tetapkan Data ke Kluster
Pembelajaran Mesin / Kereta Api
Pembelajaran Mesin / Inisialisasi Model / Pengelompokan