Multikelas Satu-vs-Satu

Artikel ini menjelaskan cara menggunakan komponen Multikelas Satu-vs-Satu dalam perancang Azure Machine Learning. Tujuan artikel ini adalah membuat model klasifikasi yang dapat memprediksi beberapa kelas, dengan menggunakan pendekatan satu-vs-satu.

Komponen ini berguna untuk membuat model yang memprediksi tiga atau lebih kemungkinan hasil, ketika hasilnya bergantung pada variabel pemrediksi berkelanjutan atau kategoris. Metode ini juga memungkinkan Anda menggunakan metode klasifikasi biner untuk masalah yang memerlukan beberapa kelas output.

Selengkapnya tentang model satu-vs-satu

Beberapa algoritma klasifikasi mengizinkan penggunaan lebih dari dua kelas menurut desain. Beberapa algoritma lain membatasi kemungkinan hasil ke satu dari dua nilai (model biner atau dua kelas). Namun demikian, algoritma klasifikasi biner dapat diadaptasi untuk tugas klasifikasi multi-kelas melalui berbagai strategi.

Komponen ini menerapkan metode satu lawan satu, di mana model biner dibuat per pasangan kelas. Pada waktu prediksi, kelas yang menerima suara terbanyak akan dipilih. Karena harus sesuai dengan pengklasifikasi n_classes * (n_classes - 1) / 2, metode ini biasanya lebih lambat dari satu-vs-semua karena kompleksitas O(n_classes^2). Namun, metode ini dapat menguntungkan algoritma seperti algoritma kernel yang tidak berfungsi dengan baik dengan n_samples. Ini karena setiap masalah pembelajaran individual hanya melibatkan sebagian kecil dari data. Sedangkan di satu-vs-semua, himpunan data digunakan n_classes kali.

Intinya, komponen membuat ansambel model individu dan kemudian menggabungkan hasilnya, untuk membuat model tunggal yang memprediksi semua kelas. Pengklasifikasi biner apa pun dapat digunakan sebagai dasar model satu-vs-satu.

Misalnya, Anda mengonfigurasi model Mesin Vektor Dukungan Dua Kelas dan memberikannya sebagai input ke komponen Multikelas Satu-vs-Satu. Komponen ini akan menciptakan model mesin vektor dukungan dua kelas untuk semua anggota kelas output. Kemudian modul akan menerapkan metode satu-vs-satu untuk menggabungkan hasil dari semua kelas.

Komponen ini menggunakan OneVsOneClassifier sklearn, dan Anda dapat mempelajari detail selengkapnya di sini.

Cara mengonfigurasi pengklasifikasi Multikelas Satu-vs-Satu

Komponen ini menciptakan ansambel model klasifikasi biner untuk menganalisis beberapa kelas. Untuk menggunakan komponen ini, Anda perlu mengkonfigurasi dan melatih model klasifikasi biner terlebih dahulu.

Anda menghubungkan model biner ke komponen Multikelas Satu-vs-Satu. Latih ansambel model menggunakan Latih Model dengan himpunan data pelatihan berlabel.

Saat Anda menggabungkan model, Multikelas Satu-vs-Satu membuat beberapa model klasifikasi biner, mengoptimalkan algoritma untuk setiap kelas, dan menggabungkan model. Komponen melakukan tugas-tugas ini meskipun himpunan data pelatihan mungkin memiliki beberapa nilai kelas.

  1. Tambahkan komponen Multikelas Satu-vs-Satu ke alur Anda di perancang. Anda dapat menemukan komponen ini di bawah Pembelajaran Mesin - Inisialisasi, dalam kategori Klasifikasi.

    Pengklasifikasi Multikelas Satu-vs-Satu tidak memiliki parameter yang dapat dikonfigurasi sendiri. Penyesuaian apa pun harus dilakukan dalam model klasifikasi biner yang disediakan sebagai input.

  2. Tambahkan model klasifikasi biner ke alur, lalu konfigurasikan model tersebut. Misalnya, Anda dapat menggunakan Mesin Vektor Dukungan Dua Kelas atau Pohon Keputusan Dua Kelas yang Ditingkatkan.

  3. Tambahkan komponen Latih Model ke alur Anda. Sambungkan pengklasifikasi yang tidak terlatih yang merupakan output dari Multikelas Satu-vs-Satu.

  4. Pada input Latih Model lain, sambungkan himpunan data terlatih berlabel yang memiliki beberapa nilai kelas.

  5. Kirimkan alur.

Hasil

Setelah pelatihan selesai, Anda dapat menggunakan model ini untuk membuat prediksi multikelas.

Atau, Anda dapat meneruskan pengklasifikasi tidak terlatih ke Model Validasi Silang untuk validasi silang dengan himpunan data validasi berlabel.

Langkah berikutnya

Lihat set komponen yang tersedia untuk Azure Machine Learning.