Mengevaluasi performa model di Azure Machine Learning Studio (klasik)
BERLAKU UNTUK:Pembelajaran Mesin Studio (klasik) Azure Pembelajaran Mesin
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.
- Pelajari Azure Machine Learning
ML Dokumentasi Studio (klasik) sedang berhenti dan mungkin tidak diperbarui di masa mendatang.
Dalam artikel ini, Anda dapat mempelajari metrik yang dapat Anda gunakan untuk memantau performa model di Azure Machine Learning Studio (klasik). Mengevaluasi performa model adalah salah satu tahap inti dalam proses ilmu data. Ini menunjukkan seberapa sukses penilaian (prediksi) himpunan data yang telah dilakukan oleh model yang terlatih. Azure Machine Learning Studio (klasik) mendukung evaluasi model melalui dua modul pembelajaran mesin utamanya:
Modul ini memungkinkan Anda untuk melihat performa model Anda dalam hal jumlah metrik yang umumnya digunakan dalam statistik dan pembelajaran mesin.
Mengevaluasi model harus dipertimbangkan bersama dengan:
Tiga skenario pembelajaran umum yang diawasi ditampilkan:
- regresi
- klasifikasi biner
- klasifikasi multikelas
Evaluasi vs. Validasi Silang
Evaluasi dan validasi silang adalah cara standar untuk mengukur performa model Anda. Keduanya menghasilkan metrik evaluasi yang dapat Anda periksa atau bandingkan dengan model lain.
Evaluasi Model memperkirakan himpunan data yang dinilai sebagai input (atau dua jika Anda ingin membandingkan performa dua model yang berbeda). Oleh karena itu, Anda perlu melatih model Anda menggunakan modul Model Latihan dan membuat prediksi pada beberapa set data menggunakan modul Model Penilaian sebelum Anda dapat mengevaluasi hasilnya. Evaluasi didasarkan pada label/probabilitas yang dinilai bersama dengan label yang sebenarnya, yang semuanya dihasilkan oleh modul Model Penilaian.
Atau, Anda dapat menggunakan validasi silang untuk melakukan sejumlah operasi evaluasi penilaian latihan (10 kali lipat) secara otomatis pada subset data input yang berbeda. Data input dibagi menjadi 10 bagian, di mana satu dikhususkan untuk pengujian, dan 9 lainnya untuk pelatihan. Proses ini diulang 10 kali dan metrik evaluasi dirata-ratakan. Ini membantu dalam menentukan seberapa baik model akan digeneralisasi ke himpunan data baru. Modul Model Validasi Silang mengambil model yang tidak terlatih dan beberapa himpunan data berlabel, dan mengeluarkan hasil evaluasi dari masing-masing sebanyak 10 kali, selain hasil rata-rata.
Di bagian berikut, kita akan membangun model regresi dan klasifikasi sederhana dan mengevaluasi performanya, menggunakan Model Evaluasi dan modul Model Validasi Silang.
Mengevaluasi Model Regresi
Asumsikan kita ingin memprediksi harga mobil menggunakan fitur seperti dimensi, tenaga kuda, spesifikasi mesin, dan sebagainya. Ini adalah masalah regresi khas, di mana (harga) variabel target adalah nilai numerik berkelanjutan. Kita dapat menyesuaikan model regresi linier yang, mengingat nilai fitur mobil tertentu, dapat memprediksi harga mobil itu. Model regresi ini dapat digunakan untuk menilai himpunan data yang sama dengan yang kita latih. Setelah memiliki harga mobil yang diprediksi, kita dapat mengevaluasi performa model dengan melihat berapa banyak prediksi menyimpang dari harga aktual rata-rata. Untuk mengilustrasikan ini, kita menggunakan Himpunan data harga mobil (Mentah) yang tersedia di bagian Himpunan Data Tersimpan di Azure Machine Learning Studio (klasik).
Membuat Eksperimen
Tambahkan modul berikut ke ruang kerja Anda di Azure Machine Learning Studio (klasik):
- Data harga mobil (Mentah)
- Regresi Linear
- Model Latihan
- Model Penilaian
- Evaluasi Model
Sambungkan port seperti yang ditunjukkan di bawah ini di Gambar 1 dan atur kolom Label modul Model Latihan ke harga.
Gambar 1. Mengevaluasi Model Regresi.
Memeriksa Hasil Evaluasi
Setelah menjalankan eksperimen, Anda dapat mengklik port output modul Evaluasi Model dan pilih Visualisasi untuk melihat hasil evaluasi. Metrik evaluasi yang tersedia untuk model regresi adalah: Kesalahan Absolut Rata-Rata, Kesalahan Absolut Rata-Rata Akar, Kesalahan Absolut Relatif, Kesalahan Kuadrat Relatif, dan Koefisien Penentuan.
Istilah "kesalahan" di sini menunjukkan perbedaan antara nilai yang diprediksi dan nilai sebenarnya. Nilai absolut atau kuadrat dari perbedaan ini biasanya dihitung untuk menangkap total besarnya kesalahan di semua instans, karena perbedaan antara nilai yang diprediksi dan benar bisa negatif dalam beberapa kasus. Metrik kesalahan mengukur performa prediktif model regresi dalam hal simpangan rata-rata prediksinya dari nilai sebenarnya. Nilai kesalahan yang lebih rendah berarti model lebih akurat dalam membuat prediksi. Metrik kesalahan keseluruhan dari nol berarti model tersebut sangat cocok dengan data.
Koefisien penentuan, yang juga dikenal sebagai R kuadrat, juga merupakan cara standar untuk mengukur seberapa baik model sesuai dengan data. Ini dapat diartikan sebagai proporsi variasi yang dijelaskan oleh model. Proporsi yang lebih tinggi lebih baik dalam hal ini, di mana 1 menunjukkan kecocokan yang sempurna.
Gambar 2. Metrik Evaluasi Regresi Linier.
Menggunakan Validasi Silang
Seperti disebutkan sebelumnya, Anda dapat melakukan pelatihan, penilaian, dan evaluasi berulang secara otomatis menggunakan modul Model Validasi Silang. Yang Anda butuhkan dalam hal ini adalah himpunan data, model yang tidak terlatih, dan modul Model Validasi Silang (lihat gambar di bawah). Anda perlu mengatur kolom label ke harga di properti modul Model Validasi Silang.
Gambar 3. Memvalidasi Silang Model Regresi.
Setelah menjalankan eksperimen, Anda dapat memeriksa hasil evaluasi dengan mengklik port output yang tepat dari modul Model Validasi Silang. Ini akan memberikan tampilan terperinci dari metrik untuk setiap perulangan (kali), dan hasil rata-rata masing-masing metrik (Gambar 4).
Gambar 4. Hasil Validasi Silang Model Regresi.
Mengevaluasi Model Klasifikasi Biner
Dalam skenario klasifikasi biner, variabel target hanya memiliki dua kemungkinan hasil, misalnya: {0, 1} atau {false, true}, {negative, positive}. Asumsikan Anda diberi himpunan data karyawan dewasa dengan beberapa variabel demografis dan pekerjaan, dan Anda diminta untuk memprediksi tingkat pendapatan, variabel biner dengan nilai {"<=50 K", ">50 K"}. Dengan kata lain, kelas negatif mewakili karyawan yang menghasilkan kurang dari atau sama dengan 50 K per tahun, dan kelas positif mewakili semua karyawan lainnya. Seperti dalam skenario regresi, kita akan melatih model, menilai beberapa data, dan mengevaluasi hasilnya. Perbedaan utama di sini adalah pilihan metrik komputasi dan output Azure Machine Learning Studio (klasik). Untuk mengilustrasikan skenario prediksi tingkat pendapatan, kita akan menggunakan himpunan data Dewasa untuk membuat eksperimen Studio (klasik) dan mengevaluasi performa model regresi logistik dua kelas, pengklasifikasi biner yang umum digunakan.
Membuat Eksperimen
Tambahkan modul berikut ke ruang kerja Anda di Azure Machine Learning Studio (klasik):
- Himpunan data Klasifikasi Biner Pendapatan Sensus Dewasa
- Regresi Logistik Dua Kelas
- Model Latihan
- Model Penilaian
- Evaluasi Model
Sambungkan port seperti yang ditunjukkan di bawah ini di Gambar 5 dan atur kolom Label modul Model Latihan ke pendapatan.
Gambar 5. Mengevaluasi Model Klasifikasi Biner.
Memeriksa Hasil Evaluasi
Setelah menjalankan eksperimen, Anda dapat mengklik port output modul Evaluasi Model dan pilih Visualisasi untuk melihat hasil evaluasi (Gambar 7). Metrik evaluasi yang tersedia untuk model klasifikasi biner adalah: Akurasi, Presisi, Recall, Skor F1, dan AUC. Selain itu, modul menghasilkan matriks kebingungan yang menunjukkan jumlah positif sejati, negatif palsu, positif palsu, dan negatif sejati, serta kurva ROC, Presisi/Penarikan, dan Lift.
Akurasi hanyalah proporsi instans yang diklasifikasikan dengan benar. Biasanya itu adalah metrik pertama yang Anda lihat saat mengevaluasi pengklasifikasi. Namun, ketika data pengujian tidak seimbang (di mana sebagian besar instans termasuk dalam salah satu kelas), atau Anda lebih tertarik pada performa di salah satu kelas, akurasi tidak benar-benar menangkap efektivitas pengklasifikasi. Dalam skenario klasifikasi tingkat pendapatan, asumsikan Anda sedang menguji beberapa data di mana 99% instans mewakili orang yang berpenghasilan kurang dari atau sama dengan 50K per tahun. Dimungkinkan untuk mencapai akurasi 0.99 dengan memprediksi kelas "<=50K" untuk semua instans. Pengklasifikasi dalam hal ini tampaknya melakukan pekerjaan dengan baik secara keseluruhan, tetapi pada kenyataannya, ia gagal mengklasifikasikan salah satu individu berpenghasilan tinggi (1%) dengan benar.
Untuk alasan itu, sangat membantu untuk menghitung metrik tambahan yang menangkap aspek evaluasi yang lebih spesifik. Sebelum masuk ke detail metrik tersebut, penting untuk memahami matriks kebingungan evaluasi klasifikasi biner. Label kelas dalam set pelatihan hanya dapat mengambil dua nilai yang mungkin, yang biasanya kita sebut sebagai positif atau negatif. Contoh positif dan negatif yang diprediksi oleh pengklasifikasi dengan benar disebut positif sejati (TP) dan negatif sejati (TN). Demikian pula, instans yang salah diklasifikasikan disebut positif palsu (FP) dan negatif palsu (FN). Matriks kebingungan hanyalah tabel yang menunjukkan jumlah instans yang termasuk dalam masing-masing dari empat kategori ini. Azure Machine Learning Studio (klasik) secara otomatis memutuskan kelas mana dari dua kelas dalam himpunan data yang merupakan kelas positif. Jika label kelas adalah Boolean atau bilangan bulat, maka instans berlabel 'true' atau '1' ditetapkan kelas positif. Jika label adalah untai, seperti dengan himpunan data pendapatan, label diurutkan menurut abjad dan tingkat pertama dipilih untuk menjadi kelas negatif sementara tingkat kedua adalah kelas positif.
Gambar 6. Matriks Kebingungan Klasifikasi Biner.
Kembali ke masalah klasifikasi pendapatan, kita ingin mengajukan beberapa pertanyaan evaluasi yang membantu kita memahami performa pengklasifikasi yang digunakan. Pertanyaan yang wajar adalah: 'Dari individu-individu yang diprediksi model akan menghasilkan >50 K (TP+FP), berapa banyak yang diklasifikasikan dengan benar (TP)?' Pertanyaan ini dapat dijawab dengan melihat model Presisi, yaitu proporsi positif yang diklasifikasikan dengan benar: TP/(TP+FP). Pertanyaan umum lainnya adalah "Dari semua karyawan berpenghasilan tinggi dengan penghasilan >50rb (TP+FN), berapa banyak pengklasifikasi mengklasifikasikan dengan benar (TP)". Ini sebenarnya adalah Penarikan, atau tingkat positif sejati: TP/(TP+FN) dari pengklasifikasi. Anda mungkin melihat bahwa ada pertukaran yang jelas antara presisi dan penarikan. Misalnya, mengingat himpunan data yang relatif seimbang, pengklasifikasi yang memprediksi sebagian besar instans positif, akan memiliki penarikan kembali yang tinggi, tetapi presisi yang agak rendah karena banyak instans negatif akan salah diklasifikasikan sehingga menghasilkan sejumlah besar positif palsu. Untuk melihat perbedaan plot kedua metrik ini, Anda dapat mengklik kurva PRESISI/PENARIKAN di halaman output hasil evaluasi (bagian kiri atas Gambar 7).
Gambar 7. Hasil Evaluasi Klasifikasi Biner.
Metrik terkait lain yang sering digunakan adalah Skor F1, yang mempertimbangkan presisi dan penarikan. Ini adalah rata-rata harmonik dari kedua metrik ini dan dihitung seperti: F1 = 2 (presisi x penarikan) / (presisi + penarikan). Skor F1 adalah cara yang baik untuk meringkas evaluasi dalam satu angka, tetapi merupakan praktik yang baik untuk melihat presisi dan penarikan bersama untuk lebih memahami bagaimana seorang pengklasifikasi berperilaku.
Selain itu, seseorang dapat memeriksa tingkat positif sejati vs. tingkat positif palsu dalam kurva Receiver Operating Characteristic (ROC) dan nilai Area Under the Curve (AUC) yang sesuai. Semakin dekat kurva ini ke sudut kiri atas, semakin baik kinerja pengklasifikasi (yaitu memaksimalkan tingkat positif sejati sambil meminimalkan tingkat positif palsu). Kurva yang dekat dengan diagonal plot, hasil dari pengklasifikasi yang cenderung membuat prediksi yang dekat dengan tebakan acak.
Menggunakan Validasi Silang
Seperti dalam contoh regresi, kita dapat melakukan validasi silang untuk berulang kali melatih, menilai, dan mengevaluasi subset data yang berbeda secara otomatis. Demikian pula, kita dapat menggunakan modul Model Validasi Silang, model regresi logistik yang tidak terlatih, dan himpunan data. Kolom label harus diatur ke pendapatan di properti modul Model Validasi Silang. Setelah menjalankan eksperimen dan mengklik port output yang tepat dari modul Model Validasi Silang, kita dapat melihat nilai metrik klasifikasi biner untuk setiap lipat, selain rata-rata dan simpangan baku masing-masing.
Gambar 8. Memvalidasi Silang Model Klasifikasi Biner.
Gambar 9. Hasil Validasi Silang Pengklasifikasi Biner.
Mengevaluasi Model Klasifikasi Multikelas
Dalam eksperimen ini, kita akan menggunakan himpunan data Iris populer, yang berisi contoh tiga jenis (kelas) yang berbeda dari tanaman iris. Ada empat nilai fitur (panjang/lebar sepal dan panjang/lebar petal) untuk setiap instans. Dalam eksperimen sebelumnya, kita melatih dan menguji model menggunakan himpunan data yang sama. Di sini, kita akan menggunakan modul Membagi Data untuk membuat dua subset data, pertama latihan, dan yang kedua menilai dan mengevaluasi. Himpunan data Iris tersedia untuk umum di Repositori Pembelajaran Mesin UCI, dan dapat diunduh menggunakan modul Data Impor.
Membuat Eksperimen
Tambahkan modul berikut ke ruang kerja Anda di Azure Machine Learning Studio (klasik):
Sambungkan port seperti yang ditunjukkan di bawah ini pada Gambar 10.
Atur indeks kolom Label modul Model Latihan ke 5. Himpunan data tidak memiliki baris header tetapi kita tahu bahwa label kelas berada di kolom kelima.
Klik modul Impor Data dan atur properti Sumber data ke URL Web melalui HTTP, dan URL ke http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data.
Atur pecahan instans yang akan digunakan untuk pelatihan dalam modul Membagi Data (misalnya 0,7).
Gambar 10. Mengevaluasi Pengklasifikasi Multikelas
Memeriksa Hasil Evaluasi
Jalankan eksperimen dan klik pada port output Evaluasi Model. Dalam hal ini, hasil evaluasi ditampilkan dalam bentuk matriks kebingungan. Matriks menunjukkan instans aktual vs. yang diprediksi untuk ketiga kelas.
Gambar 11. Hasil Evaluasi Klasifikasi Multikelas.
Menggunakan Validasi Silang
Seperti disebutkan sebelumnya, Anda dapat melakukan pelatihan, penilaian, dan evaluasi berulang secara otomatis menggunakan modul Model Validasi Silang. Anda membutuhkan himpunan data, model yang tidak terlatih, dan modul Model Validasi Silang (lihat gambar di bawah). Sekali lagi Anda perlu mengatur kolom label modul Model Validasi Silang (dalam kasus ini, indeks kolom 5). Setelah menjalankan eksperimen dan mengklik port output yang tepat dari Model Validasi Silang, Anda dapat memeriksa nilai metrik untuk setiap perkalian serta rata-rata dan simpangan baku. Metrik yang ditampilkan di sini mirip dengan metrik yang dibahas dalam kasus klasifikasi biner. Namun, dalam klasifikasi multikelas, komputasi positif/negatif sejati dan positif/negatif palsu dilakukan dengan mengandalkan basis per kelas, karena tidak ada kelas positif atau negatif secara keseluruhan. Misalnya, ketika menghitung presisi atau penarikan kelas 'Iris-setosa', diasumsikan bahwa ini adalah kelas positif dan semua lainnya sebagai negatif.
Gambar 12. Memvalidasi Silang Model Klasifikasi Multikelas.
Gambar 13. Hasil Validasi Silang Model Klasifikasi Multikelas.