Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pelajari cara membangun model klasifikasi multikelas menggunakan Model Builder untuk mengategorikan tingkat risiko pelanggaran restoran yang ditemukan selama pemeriksaan kesehatan.
Dalam tutorial ini, Anda akan belajar cara:
- Menyiapkan dan memahami data
- Membuat file konfigurasi Model Builder
- Pilih skenario
- Memuat data dari database
- Melatih model
- Evaluasilah model
- Menggunakan model untuk prediksi
Prasyarat
Untuk daftar prasyarat dan instruksi penginstalan, kunjungi panduan penginstalan Model Builder.
Gambaran umum klasifikasi multikelas Model Builder
Sampel ini membuat aplikasi konsol C# yang mengategorikan risiko pelanggaran kesehatan menggunakan model pembelajaran mesin yang dibangun dengan Model Builder. Anda dapat menemukan kode sumber untuk tutorial ini di dotnet/machinelearning-samples repositori GitHub.
Membuat aplikasi konsol
Buat aplikasi konsol C# yang disebut "RestaurantViolations".
Menyiapkan dan memahami data
Himpunan data yang digunakan untuk melatih dan mengevaluasi model pembelajaran mesin awalnya berasal dari Skor Keamanan Restoran Departemen Kesehatan Publik San Francisco. Untuk kenyamanan, himpunan data telah dikondensasi untuk hanya menyertakan kolom yang relevan untuk melatih model dan membuat prediksi. Kunjungi situs web berikut untuk mempelajari selengkapnya tentang himpunan data.
Unduh himpunan data Skor Keamanan Restoran dan buka zipnya.
Setiap baris dalam himpunan data berisi informasi mengenai pelanggaran yang diamati selama pemeriksaan dari Departemen Kesehatan dan penilaian risiko terhadap ancaman pelanggaran yang dihadirkan untuk kesehatan dan keselamatan masyarakat.
| Tipe Inspeksi | Deskripsi Pelanggaran | RiskCategory |
|---|---|---|
| Rutinitas - Tidak Terjadwal | Permukaan kontak makanan yang tidak dibersihkan atau dibersihkan secara tidak memadai | Risiko Sedang |
| Kepemilikan Baru | Infestasi vermin risiko tinggi | Risiko Tinggi |
| Rutinitas - Tidak Terjadwal | Kain lap tidak bersih atau tidak disimpan dengan benar atau sanitizer tidak memadai. | Risiko Rendah |
- InspectionType: jenis inspeksi. Ini bisa menjadi inspeksi pertama kali untuk pendirian baru, inspeksi rutin, inspeksi keluhan, dan banyak jenis lainnya.
- ViolationDescription: deskripsi pelanggaran yang ditemukan selama pemeriksaan.
- RiskCategory: tingkat keparahan risiko yang ditimbulkan oleh pelanggaran terhadap kesehatan dan keselamatan masyarakat.
label adalah kolom yang ingin Anda prediksi. Saat melakukan tugas klasifikasi, tujuannya adalah menetapkan kategori (teks atau numerik). Dalam skenario klasifikasi ini, tingkat keparahan pelanggaran ditetapkan nilai risiko rendah, sedang, atau tinggi. Oleh karena itu, RiskCategory adalah label .
features adalah input yang Anda berikan model untuk memprediksi label. Dalam hal ini, InspectionType dan ViolationDescription digunakan sebagai fitur atau input untuk memprediksi RiskCategory.
Membuat file konfigurasi Pembuat Model
Saat pertama kali menambahkan Model Builder ke solusi, ia akan meminta Anda untuk membuat file mbconfig. File mbconfig melacak semua yang Anda lakukan di Model Builder untuk memungkinkan Anda membuka kembali sesi.
- Di Penjelajah Solusi, klik kanan proyek RestaurantViolations , dan pilih Tambahkan>Model Pembelajaran Mesin.
- Beri nama
mbconfigproyek RestaurantViolationsPrediction, dan klik tombol Tambahkan .
Pilih skenario
Layar Skenario Pembuat Model
Untuk melatih model Anda, pilih dari daftar skenario pembelajaran mesin yang tersedia yang disediakan oleh Model Builder. Dalam hal ini, skenarionya adalah Klasifikasi data.
- Untuk sampel ini, tugasnya adalah klasifikasi multikelas. Dalam langkah Skenario Pembuat Model, pilih skenario Klasifikasi data .
Muat datanya
Pembuat Model menerima data dari database SQL Server atau file lokal dalam csvformat , tsv, atau txt .
- Dalam langkah data alat Pembuat Model, pilih SQL Server dari pilihan jenis sumber data.
- Pilih tombol Pilih sumber data .
- Dalam dialog Pilih Sumber Data , pilih File Database Microsoft SQL Server.
- Kosongkan kotak centang Selalu gunakan pilihan ini dan klik Lanjutkan.
- Dalam dialog Properti Koneksi , pilih Telusuri dan pilih file RestaurantScores.mdf yang diunduh.
- Pilih OK.
- Pilih Pelanggaran dari dropdown menu Tabel.
- Pilih RiskCategory di kolom untuk memprediksi (Label) dropdown.
- Biarkan pilihan default di Opsi data tingkat lanjut.
- Klik tombol Langkah berikutnya untuk berpindah ke langkah pelatihan di Model Builder.
Melatih model
Tugas pembelajaran mesin yang digunakan untuk melatih model klasifikasi masalah dalam tutorial ini adalah klasifikasi multikelas. Selama proses pelatihan model, Model Builder melatih model terpisah menggunakan algoritma dan pengaturan klasifikasi multikelas yang berbeda untuk menemukan model berkinerja terbaik untuk himpunan data Anda.
Waktu yang diperlukan model untuk melatih sebanding dengan jumlah data. Model Builder secara otomatis memilih nilai default untuk Waktu pelatihan (detik) berdasarkan besarnya sumber data Anda.
- Model Builder menetapkan nilai Waktu untuk melatih (detik) sebanyak 60 detik. Pelatihan untuk jangka waktu yang lebih lama memungkinkan Model Builder mengeksplorasi sejumlah besar algoritma dan kombinasi parameter untuk mencari model terbaik.
- Klik Mulai Pelatihan.
Sepanjang proses pelatihan, data kemajuan ditampilkan di bagian Training results dari tahapan pelatihan.
- Status menampilkan status penyelesaian proses pelatihan.
- Akurasi terbaik menampilkan akurasi model berkinerja terbaik yang ditemukan oleh Model Builder sejauh ini. Akurasi yang lebih tinggi berarti model diprediksi lebih benar pada data pengujian.
- Algoritma terbaik menampilkan nama algoritma berkinerja terbaik yang dilakukan oleh Model Builder sejauh ini.
- Algoritma terakhir menampilkan nama algoritma yang terakhir digunakan oleh Model Builder untuk melatih model.
Setelah pelatihan selesai, file mbconfig akan memiliki model yang dihasilkan yang disebut RestaurantViolationsPrediction.zip setelah pelatihan dan dua file C# dengannya:
- RestaurantViolationsPrediction.consumption.cs: File ini memiliki metode publik yang akan memuat model dan membuat mesin prediksi dengannya dan mengembalikan prediksi.
- RestaurantViolationsPrediction.training.cs: File ini terdiri dari alur pelatihan yang dibuat Model Builder untuk membangun model terbaik termasuk hiperparameter apa pun yang digunakannya.
Klik tombol Langkah berikutnya untuk menavigasi ke langkah evaluasi.
Evaluasilah model
Hasil dari langkah pelatihan akan menjadi salah satu model yang memiliki performa terbaik. Dalam langkah evaluasi alat Pembuat Model, di bagian Model terbaik , akan berisi algoritma yang digunakan oleh model berkinerja terbaik dalam entri Model bersama dengan metrik untuk model tersebut dalam Akurasi.
Selain itu, di jendela Output
Bagian ini juga akan memungkinkan Anda untuk menguji model Anda dengan melakukan satu prediksi. Ini akan menawarkan kotak teks untuk mengisi nilai dan Anda dapat mengklik tombol Prediksi untuk mendapatkan prediksi dari model terbaik. Secara default ini akan diisi oleh baris acak dalam himpunan data Anda.
(Opsional) Memanfaatkan model
Langkah ini akan memiliki templat proyek yang dapat Anda gunakan untuk menggunakan model. Langkah ini bersifat opsional dan Anda dapat memilih metode yang paling sesuai dengan kebutuhan Anda tentang cara melayani model.
- Aplikasi Konsol
- API untuk Web
Aplikasi Konsol
Saat menambahkan aplikasi konsol ke solusi, Anda akan diminta untuk memberi nama proyek.
Beri nama proyek konsol RestaurantViolationsPrediction_Console.
Klik Tambahkan ke solusi untuk menambahkan proyek ke solusi Anda saat ini.
Jalankan aplikasi.
Output yang dihasilkan oleh program akan terlihat mirip dengan cuplikan di bawah ini:
InspectionType: Routine - Unscheduled ViolationDescription: Moderate risk food holding temperature Predicted RiskCategory: Moderate Risk
API untuk Web
Saat menambahkan API web ke solusi Anda, Anda akan diminta untuk memberi nama proyek.
Beri nama RestaurantViolationsPrediction_API proyek API Web.
Klik Tambahkan ke solusi* untuk menambahkan proyek ke solusi Anda saat ini.
Jalankan aplikasi.
Buka PowerShell dan masukkan kode berikut di mana PORT adalah port yang didengarkan aplikasi Anda.
$body = @{ InspectionType="Reinspection/Followup" ViolationDescription="Inadequately cleaned or sanitized food contact surfaces" } Invoke-RestMethod "https://localhost:<PORT>/predict" -Method Post -Body ($body | ConvertTo-Json) -ContentType "application/json"Jika berhasil, output akan terlihat mirip dengan teks di bawah ini. Output memiliki RiskCategory yang diprediksi sebagai Risiko Sedang dan memiliki skor masing-masing label input - Risiko Rendah, Risiko Tinggi, dan Risiko Sedang.
prediction score ---------- ----- Moderate Risk {0.055566575, 0.058012854, 0.88642055}
Selamat! Anda telah berhasil membangun model pembelajaran mesin untuk mengategorikan risiko pelanggaran kesehatan menggunakan Model Builder. Anda dapat menemukan kode sumber untuk tutorial ini di dotnet/machinelearning-samples repositori GitHub.
Sumber daya tambahan
Untuk mempelajari selengkapnya tentang topik yang disebutkan dalam tutorial ini, kunjungi sumber daya berikut: