Model Validasi Silang
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.
- Lihat informasi tentang memindahkan proyek pembelajaran mesin dari ML Studio (klasik) ke Azure Machine Learning.
- Mer informasjon tentang Azure Machine Learning.
ML Dokumentasi Studio (klasik) sedang berhenti dan mungkin tidak diperbarui di masa mendatang.
Memvalidasi silang perkiraan parameter untuk model klasifikasi atau regresi dengan mempartisi data
Kategori: Pembelajaran Mesin / Evaluasi
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 Model Validasi Silang di Pembelajaran Mesin Studio (klasik). Validasi silang adalah teknik penting yang sering digunakan dalam pembelajaran mesin untuk menilai variabilitas dataset dan keandalan model apa pun yang dilatih menggunakan data itu.
Modul Model Validasi Silang mengambil sebagai input dataset berlabel, bersama dengan klasifikasi atau model regresi yang tidak terlatih. Modul ini membagi himpunan data ke dalam sejumlah subset (lipatan), menyusun model pada setiap lipatan, kemudian mengembalikan serangkaian statistik akurasi untuk setiap lipatan. Dengan membandingkan statistik akurasi untuk semua lipatan, Anda dapat menafsirkan kualitas kumpulan data dan memahami apakah model rentan terhadap variasi data.
Validasi silang juga mengembalikan hasil dan probabilitas yang diprediksi untuk himpunan data, sehingga Anda dapat menilai keandalan prediksi.
Cara kerja validasi silang
Validasi silang secara acak membagi data pelatihan menjadi sejumlah partisi, juga disebut lipatan.
- Algoritma default ke 10 lipatan jika Anda sebelumnya belum mempartisi himpunan data.
- Untuk membagi himpunan data menjadi jumlah lipatan yang berbeda, Anda dapat menggunakan modul Partisi dan Sampel dan menunjukkan berapa banyak lipatan yang akan digunakan.
Modul menyisihkan data dalam lipatan 1 untuk digunakan untuk validasi (ini kadang-kadang disebut lipatan holdout), dan menggunakan lipatan yang tersisa untuk melatih model.
Misalnya, jika Anda membuat lima lipatan, modul akan menghasilkan lima model selama validasi silang, setiap model dilatih menggunakan 4/5 data, dan diuji pada 1/5 sisanya.
Selama pengujian model untuk setiap lipatan, beberapa statistik akurasi dievaluasi. Statistik mana yang digunakan tergantung pada jenis model yang Anda evaluasi. Statistik yang berbeda digunakan untuk mengevaluasi model klasifikasi vs model regresi.
Ketika proses pembuatan dan evaluasi selesai untuk semua lipatan, Cross-Validate Model menghasilkan satu set metrik kinerja dan hasil yang dinilai untuk semua data. Anda harus meninjau metrik ini untuk melihat apakah ada lipatan tunggal yang memiliki akurasi sangat tinggi atau rendah.
Keuntungan validasi silang
Cara yang berbeda, dan sangat umum untuk mengevaluasi model adalah dengan membagi data menjadi pelatihan dan set pengujian menggunakan Data Terpisah, dan kemudian memvalidasi model pada data pelatihan. Namun, validasi silang menawarkan beberapa keuntungan:
Validasi silang menggunakan lebih banyak data pengujian.
Validasi silang mengukur performa model dengan parameter yang ditentukan dalam ruang data yang lebih besar. Artinya, validasi silang menggunakan seluruh dataset pelatihan untuk pelatihan dan evaluasi, bukan beberapa bagian. Sebaliknya, jika Anda memvalidasi model dengan menggunakan data yang dihasilkan dari split acak, biasanya Anda mengevaluasi model hanya pada 30% atau kurang dari data yang tersedia.
Namun, karena validasi silang melatih dan memvalidasi model beberapa kali melalui dataset yang lebih besar, itu jauh lebih intensif secara komputasi dan membutuhkan waktu lebih lama daripada memvalidasi pada split acak.
Validasi silang mengevaluasi himpunan data serta model.
Validasi silang tidak hanya mengukur keakuratan model, tetapi juga memberi Anda beberapa gagasan tentang seberapa representatif dataset dan seberapa sensitif model terhadap variasi data.
Cara menggunakan Model Cross-Validate
Ada dua cara utama untuk menggunakan validasi silang.
Validasi silang dapat memakan waktu lama untuk dijalankan jika Anda menggunakan banyak data. Oleh karena itu, Anda dapat menggunakan Cross-Validate Model pada tahap awal membangun dan menguji model Anda, untuk mengevaluasi kebaikan parameter model (dengan asumsi bahwa waktu komputasi dapat ditoleransi), dan kemudian melatih dan mengevaluasi model Anda menggunakan parameter yang ditetapkan dengan model Train dan modul Evaluate Model .
Validasi silang sederhana
Dalam skenario ini, Anda berdua melatih dan menguji model menggunakan Cross Validate Model.
Tambahkan modul Model Validasi Silang ke eksperimen Anda. Anda dapat menemukannya di Pembelajaran Mesin Studio (klasik), dalam kategori Pembelajaran Mesin, di bawah Evaluasi.
Koneksi output dari setiap klasifikasi atau model regresi.
Misalnya, jika Anda menggunakan Mesin Point Bayes Dua Kelas untuk klasifikasi, konfigurasikan model dengan parameter yang Anda inginkan, lalu seret konektor dari port model yang tidak terlatih dari pengklasifikasi ke port pencocokan Model Validasi Silang.
Tip
Model tidak perlu dilatih karena Cross-Validate Model secara otomatis melatih model sebagai bagian dari evaluasi.
Pada port Himpunan DataModel Validasi Silang, hubungkan himpunan data pelatihan berlabel apa pun.
Di panel PropertiModel Validasi Silang, klik Luncurkan pemilih kolom dan pilih kolom tunggal yang berisi label kelas, atau nilai yang dapat diprediksi.
Tetapkan nilai untuk parameter benih acak jika Anda ingin dapat mengulangi hasil validasi silang di seluruh lintasan berturut-turut pada data yang sama.
Jalankan eksperimen.
Lihat bagian Hasil untuk deskripsi laporan.
Untuk mendapatkan salinan model untuk digunakan kembali nanti, klik kanan output modul yang berisi algoritma (misalnya, Two Class Bayes Point Machine), dan klik Simpan sebagai Model Terlatih.
Validasi silang dengan sapuan parameter
Dalam skenario ini, Anda menggunakan Tune Model Hyperparameters untuk mengidentifikasi model terbaik dengan melakukan sapuan parameter, dan kemudian menggunakan Cross Validate Model untuk memeriksa keandalannya. Ini adalah cara termudah untuk memiliki Pembelajaran Mesin mengidentifikasi model terbaik dan kemudian menghasilkan metrik untuk itu.
Tambahkan himpunan data untuk pelatihan model, dan tambahkan salah satu modul pembelajaran mesin yang membuat model klasifikasi atau regresi.
Tambahkan modul Tune Model Hyperparameters ke eksperimen Anda. Anda dapat menemukannya dalam kategori Pembelajaran Mesin, di bawah Train.
Lampirkan model klasifikasi atau regresi ke input model Yang Tidak Terlatih dari Tune Model Hyperparameters.
Tambahkan modul Model Validasi Silang ke eksperimen Anda. Anda dapat menemukannya di Pembelajaran Mesin Studio (klasik), dalam kategori Pembelajaran Mesin, di bawah Evaluasi.
Temukan output model terbaik trained dari Tune Model Hyperparameters, dan hubungkan ke input model Yang Tidak Terlatih dari Cross Validate Model.
Koneksi data pelatihan ke input himpunan data Pelatihan dari Cross Validate Model.
Jalankan eksperimen.
Setelah meninjau hasil, dan skor evaluasi, untuk mendapatkan salinan model terbaik untuk digunakan kembali nanti, cukup klik kanan modul Tune Model Hyperparameters , pilih Model terbaik terlatih, lalu klik Simpan sebagai Model Terlatih.
Catatan
Anda mungkin mendapatkan hasil yang berbeda jika menggunakan input pada modul Tune Model Hyperparameters untuk Himpunan data validasi opsional.
Itu karena ketika Anda menggunakan opsi ini, Anda pada dasarnya menentukan himpunan data pelatihan statis dan dataset pengujian. Oleh karena itu, proses validasi silang juga menggunakan dataset pelatihan dan pengujian yang ditentukan, daripada membagi data menjadi n kelompok untuk pelatihan dan pengujian. Namun, metrik dihasilkan secara n-fold.
Hasil
Setelah semua iterasi selesai, Cross-Validate Model membuat skor untuk seluruh himpunan data, serta metrik kinerja yang dapat Anda gunakan untuk menilai kualitas model.
Hasil penilaian
Output pertama modul menyediakan data sumber untuk setiap baris, bersama dengan beberapa nilai yang diprediksi dan probabilitas terkait.
Untuk melihat hasil ini, dalam percobaan, klik kanan modul Model Validasi Silang , pilih Hasil yang Dinilai, dan klik Visualisasikan.
Nama kolom baru | Deskripsi |
---|---|
Lipat Tugas | Menunjukkan indeks berbasis 0 dari lipatan setiap baris data ditugaskan selama validasi silang. |
Label Skor | Kolom ini ditambahkan di akhir himpunan data, dan berisi nilai yang diprediksi untuk setiap baris |
Probabilitas Penilaian | Kolom ini ditambahkan di akhir himpunan data, dan menunjukkan perkiraan probabilitas nilai dalam Label Yang Dinilai. |
Hasil evaluasi
Laporan kedua dikelompokkan berdasarkan lipatan. Ingat bahwa, selama eksekusi, Cross-Validate Model secara acak membagi data pelatihan menjadi n lipatan (secara default, 10). Dalam setiap iterasi melalui himpunan data, Cross-Validate Model menggunakan satu kali lipat sebagai himpunan data validasi, dan menggunakan lipatan n-1 yang tersisa untuk melatih model. Masing-masing n model diuji terhadap data di semua lipatan lainnya.
Dalam laporan ini, lipatan dicantumkan berdasarkan nilai indeks, dalam urutan naik. Untuk memesan di kolom lain, Anda dapat menyimpan hasilnya sebagai himpunan data.
Untuk melihat hasil ini, dalam percobaan, klik kanan modul Model Validasi Silang , pilih Hasil evaluasi dengan lipatan, dan klik Visualisasikan.
Nama kolom | Deskripsi |
---|---|
Nomor lipatan | Pengidentifikasi untuk setiap lipatan. Jika Anda membuat 5 lipatan, akan ada 5 subset data, bernomor 0 hingga 4. |
Jumlah contoh dalam lipatan | Jumlah baris yang ditetapkan untuk setiap lipatan. Jumlah-jumlah tersebut kira-kira harus sama. |
Model | Algoritma yang digunakan dalam model, diidentifikasi dengan nama API |
Selain itu, metrik berikut disertakan untuk setiap lipatan, tergantung pada jenis model yang Anda evaluasi.
Model klasifikasi: Presisi, penarikan, F-score, AUC, kehilangan log rata-rata, kehilangan log pelatihan
Model regresi: Kemungkinan log negatif, kesalahan absolut rata-rata, kesalahan kuadrat rata-rata akar, kesalahan absolut relatif, dan koefisien penentuan
Contoh
Untuk contoh bagaimana validasi silang digunakan dalam pembelajaran mesin, lihat Galeri AI Azure:
Validasi silang untuk pengklasifikasi biner: Menunjukkan cara menggunakan validasi silang dengan model klasifikasi biner.
Regresi Validasi Silang: Himpunan Data Impor Otomatis: Menunjukkan cara menggunakan validasi silang dengan model regresi dan cara menafsirkan hasilnya.
Catatan teknis
Ini adalah praktik terbaik untuk menormalkan dataset sebelum menggunakannya untuk validasi silang.
Karena Cross-Validate Model melatih dan memvalidasi model beberapa kali, itu jauh lebih intensif secara komputasi dan membutuhkan waktu lebih lama untuk menyelesaikan daripada jika Anda memvalidasi model menggunakan dataset yang dibagi secara acak.
Sebaiknya gunakan Model Validasi Silang untuk menetapkan kebaikan model yang diberikan parameter yang ditentukan. Gunakan Tune Model Hyperparameters untuk mengidentifikasi parameter yang optimal.
Tidak perlu membagi dataset menjadi set pelatihan dan pengujian saat Anda menggunakan validasi silang untuk mengukur keakuratan model.
Namun, jika dataset validasi disediakan di hulu, modul menggunakan dataset pelatihan dan pengujian yang ditentukan alih-alih membelah menjadi n lipatan. Artinya, dataset pertama digunakan untuk melatih model untuk setiap kombinasi parameter, dan model dievaluasi pada dataset validasi. Lihat bagian tentang menggunakan sapuan parameter dengan validasi silang.
Meskipun artikel ini menggunakan versi modul yang lebih lama, ia memiliki penjelasan yang baik tentang proses validasi silang: Cara memilih parameter untuk mengoptimalkan algoritme Anda dalam Pembelajaran Mesin
Input yang diharapkan
Nama | Jenis | Deskripsi |
---|---|---|
Model tak terlatih | Antarmuka ILearner | Model yang tidak terlatih untuk validasi silang pada himpunan data |
Himpunan Data | Tabel Data | Himpunan data input |
Parameter modul
Nama | Rentang | Jenis | Default | Deskripsi |
---|---|---|---|---|
Kolom label | apa pun | Pilihan Kolom | Pilih kolom yang berisi label yang akan digunakan untuk validasi | |
Benih acak | apa pun | Bilangan bulat | 0 | Nilai benih untuk generator angka acak Nilai ini bersifat opsional. Jika tidak ditentukan |
Output
Nama | Jenis | Deskripsi |
---|---|---|
Hasil penilaian | Tabel Data | Hasil penilaian |
Hasil evaluasi dengan lipatan | Tabel Data | Hasil evaluasi (dengan lipatan dan keseluruhan) |
Pengecualian
Pengecualian | Deskripsi |
---|---|
Kesalahan 0035 | Pengecualian terjadi jika tidak ada fitur yang disediakan untuk pengguna atau item yang diberikan. |
Kesalahan 0032 | Pengecualian terjadi jika argumen bukan sebuah angka. |
Kesalahan 0033 | Pengecualian terjadi jika argumen adalah Tidak terbatas. |
Kesalahan 0001 | Pengecualian terjadi jika satu atau beberapa kolom himpunan data tertentu tidak dapat ditemukan. |
Kesalahan 0003 | Pengecualian terjadi jika satu atau beberapa input null atau kosong. |
Kesalahan 0006 | Pengecualian terjadi jika parameter lebih besar dari atau sama dengan nilai yang ditentukan. |
Kesalahan 0008 | Pengecualian terjadi jika parameter tidak dalam jangkauan. |
Kesalahan 0013 | Pengecualian terjadi jika pelajar yang diteruskan ke modul memiliki tipe yang tidak valid. |
Untuk daftar kesalahan khusus untuk modul Studio (klasik), lihat Pembelajaran Mesin Kode kesalahan.
Untuk daftar pengecualian API, lihat Pembelajaran Mesin Kode Kesalahan REST API.