Melatih dan mengevaluasi model di Penyusun Model

Selesai

Di unit ini, Anda akan mempelajari cara melatih dan mengevaluasi model pembelajaran mesin di Model Builder.

Selama pelatihan, Model Builder menerapkan algoritma ke data Anda. Dengan menggunakan metrik evaluasi untuk skenario tertentu, Anda mengukur seberapa baik performa model Anda.

Pelatihan Model Builder

Sekarang setelah Anda memilih skenario Anda, memilih lingkungan pelatihan Anda, dan memuat data Anda, saatnya untuk mulai melatih model Anda. Pelatihan terdiri dari penerapan algoritma untuk skenario yang dipilih ke himpunan data Anda untuk menemukan model terbaik. Kami akan membahas apa arti "terbaik" dalam langkah evaluasi.

Dalam kebanyakan kasus, untuk melatih model pembelajaran mesin di Model Builder, Anda hanya perlu menyediakan jumlah waktu yang ingin Anda latih.

Berapa lama saya harus melatihnya?

Periode pelatihan yang lebih lama memungkinkan Model Builder untuk menjelajahi lebih banyak model dengan rentang pengaturan yang lebih luas.

Tabel berikut merangkum waktu rata-rata yang diperlukan untuk mendapatkan performa yang baik untuk rangkaian contoh himpunan data pada mesin lokal, dengan menggunakan CPU:

Ukuran himpunan data Waktu rata-rata untuk melatih
0 MB hingga 10 MB 10 detik
10 MB hingga 100 MB 10 menit
100 MB hingga 500 MB 30 menit
500 MB hingga 1 GB 60 menit
1 GB+ 3+ jam

Angka-angka ini hanya sebagai panduan. Durasi pelatihan yang tepat tergantung pada:

  • Jumlah fitur (kolom) yang digunakan sebagai input ke model.
  • Jenis kolom.
  • Tugas pembelajaran mesin.
  • Performa CPU, GPU, disk, dan memori mesin yang digunakan untuk pelatihan.

Tip

Gunakan lebih dari 100 baris sebagai himpunan data. Kurang dari itu mungkin tidak akan membuahkan hasil apa pun.

Bagaimana Model Builder menemukan model terbaik?

Anda mungkin pernah mendengar bahwa pembelajaran mesin melibatkan matematika yang kompleks. Jadi, bagaimana Model Builder dapat melatih model pembelajaran mesin jika Anda hanya menyediakan skenario, himpunan data, dan berapa lama Anda ingin Model Builder melakukan pelatihan?

Model Builder menggunakan pembelajaran mesin otomatis (AutoML) untuk mengidentifikasi kumpulan transformasi guna menyiapkan data Anda untuk pelatihan, memilih algoritma, dan menyesuaikan pengaturan algoritma (juga dikenal sebagai hyperparameter). Dengan menggunakan metrik evaluasi yang khusus untuk tugas pembelajaran mesin yang dipilih, Model Builder dapat menentukan model mana yang berperforma terbaik untuk data Anda.

Kode pelatihan dan konsumsi

Setelah model Anda menyelesaikan pelatihan, Model Builder membuat file berikut dan menambahkannya ke proyek Anda. File ini bersarang di bawah file .mbconfig Anda.

  • <MODEL-NAME>.zip: Artefak untuk model pembelajaran mesin. File ini berisi versi serial model Anda.
  • <MODEL-NAME>.training.cs: File ini berisi alur pelatihan model. Alur pelatihan model Anda terdiri dari transformasi data dan algoritma yang digunakan untuk melatih model pembelajaran mesin Anda. Untuk informasi selengkapnya, lihat Transformasi data dan Cara memilih algoritma ML.NET.
  • <MODEL-NAME>.consumption.cs: File ini berisi kelas-kelas yang menentukan skema input dan output model Anda. File ini juga berisi metode Predict, yang menggunakan model Anda untuk membuat API PredictionEngine dan membuat prediksi. PredictionEngine adalah API praktis yang memungkinkan Anda melakukan prediksi pada satu contoh data.

Mengevaluasi model Anda

Setelah Anda menemukan model terbaik untuk data Anda, saatnya menguji seberapa baik model tersebut membuat prediksi. Salah satu cara untuk mengevaluasi seberapa baik performa model Anda adalah dengan menggunakan metrik.

Metrik evaluasi khusus untuk jenis tugas pembelajaran mesin yang dilakukan model. Untuk setiap tugas, Anda dapat melihat berbagai metrik untuk menentukan performa model Anda.

Tabel ini menunjukkan metrik evaluasi yang digunakan Model Builder untuk memilih model terbaik, berdasarkan skenario:

Skenario Metrik evaluasi Mencari
Klasifikasi data Biner (Akurasi) / Multikelas (Akurasi Mikro) Semakin mendekati 1.00, semakin baik
Prediksi nilai R-Kuadrat Semakin mendekati 1.00, semakin baik
Klasifikasi gambar Akurasi Semakin mendekati 1.00, semakin baik
Rekomendasi R-Kuadrat Semakin mendekati 1.00, semakin baik
Deteksi objek Akurasi Semakin mendekati 1.00, semakin baik

Untuk informasi selengkapnya tentang metrik evaluasi ML.NET, lihat Metrik evaluasi model.

Memilih model dengan metrik tertinggi

Model Anda telah mencapai metrik evaluasi yang sempurna. Apakah itu berarti Anda memiliki model yang sempurna? Belum tentu. Bahkan, jika Anda mendapatkan model "sempurna" seperti yang ditentukan oleh metrik evaluasi Anda, Anda harus bersikap skeptis.

Dalam pembelajaran mesin, ada konsep yang disebut overfitting, dan itu adalah sesuatu yang harus Anda waspadai. Overfitting adalah saat model Anda mempelajari pola dalam himpunan data pelatihan Anda terlalu baik. Saat Anda mencoba menggunakan model dengan data baru, overfitting tidak memberikan hasil yang akurat.

Berikut skenario untuk membantu menggambarkan overfitting. Bayangkan Anda sedang belajar untuk ujian. Entah bagaimana Anda memiliki pertanyaan dan juga jawabannya sebelum ujian. Saat Anda belajar untuk ujian, Anda fokus pada menghafal jawaban atas pertanyaan. Ketika Anda mengikuti ujian dan menerima hasilnya, Anda mendapatkan nilai tinggi. Nilai yang tinggi mungkin menandakan bahwa Anda mengetahui materi pelajaran dengan baik. Namun, jika seseorang mengajukan pertanyaan kepada Anda tentang salah satu mata pelajaran yang tidak langsung di ujikan, Anda mungkin salah karena Anda belum mempelajarinya, Anda hanya menghafal jawabannya. Overfitting bekerja dengan cara yang sama.

Meningkatkan model Anda

Jika Anda tidak puas dengan metrik evaluasi model Anda, Anda dapat mencoba hal-hal berikut untuk meningkatkan model Anda:

  • Memberikan pengamatan data yang lebih representatif: Pengalaman adalah guru terbaik. Konsep ini juga berlaku untuk pembelajaran mesin. Semakin banyak pengamatan data yang dapat Anda berikan, semakin luas rangkaian pola yang dapat dikenali model Anda.
  • Memberikan lebih banyak konteks: Menambahkan kolom yang menambahkan konteks ke data Anda membantu model Anda mengidentifikasi pola. Misalnya, katakanlah Anda mencoba memprediksi harga rumah dan satu-satunya titik data yang Anda miliki adalah jumlah kamar. Model dengan sendirinya mungkin tidak memberi tahu Anda banyak informasi. Namun, bagaimana jika Anda tahu bahwa rumah tersebut terletak di lingkungan pinggiran kota di luar wilayah metropolitan utama, dengan pendapatan rumah tangga rata-rata adalah $80.000 dan sekolah berada di persentil ke-20 teratas? Sekarang Anda memiliki lebih banyak informasi yang dapat membantu menginformasikan keputusan model.
  • Menggunakan data dan fitur yang berarti: Meskipun lebih banyak sampel data dan fitur dapat membantu meningkatkan akurasi model, mereka juga dapat menimbulkan gangguan karena tidak semua data dan fitur berarti. Penting untuk memahami fitur mana yang paling memengaruhi keputusan algoritma.
  • Menjelajahi lebih banyak algoritma: Memberi Model Builder lebih banyak waktu untuk memungkinkannya menjelajahi lebih banyak algoritma dan hiperparameter dapat membantu meningkatkan model Anda.

Di unit berikutnya, Anda akan menggunakan Model Builder untuk melatih model pembelajaran mesin.