Apakah membangun classifier multiclass lebih baik daripada beberapa binary?

18

Saya perlu mengklasifikasikan URL ke dalam kategori. Katakanlah saya memiliki 15 kategori yang saya rencanakan untuk menurunkan setiap URL.

Apakah pengklasifikasi 15 arah lebih baik? Di mana saya memiliki 15 label dan menghasilkan fitur untuk setiap titik data.

Atau membangun 15 pengklasifikasi biner, katakan: Film atau Non-Film, dan gunakan angka yang saya dapatkan dari klasifikasi ini untuk membuat ranker, untuk memilih kategori terbaik, akan lebih baik?

madCode
sumber

Jawaban:

12

Pertama-tama, Anda harus bertanya pada diri sendiri apakah masalah Anda multilabel (yaitu, URL tunggal dapat menjadi milik beberapa kelas) atau tidak (yaitu, URL tunggal hanya dapat dimiliki oleh satu kelas).

Jika yang pertama, pergi dengan baterai pengklasifikasi biner, karena ini adalah cara standar untuk melakukan masalah multilabel.

Jika yang terakhir, jawabannya tergantung pada kombinasi bagaimana tampilan data Anda, apa tujuan analisis Anda dan metode apa yang Anda gunakan - mungkin Anda harus mencoba keduanya dan memilih yang terbaik.
Hanya perhatikan bahwa beberapa metode (seperti SVM) tidak dapat benar-benar melakukan klasifikasi multiklass karena cara mereka didefinisikan dan dengan demikian secara internal menggunakan baterai dari pengklasifikasi biner.


sumber
pernyataan masalah saya sedang mempertimbangkan asumsi @mbq sebelumnya. Saya tahu ada banyak label. dan ya, seperti yang Anda katakan saya telah memutuskan untuk pergi untuk 15 pengklasifikasi biner tapi sekali lagi, saya perlu peringkat mereka untuk memilih satu kategori terbaik. Jadi, saya akan mencoba melakukan klasifikasi tingkat atas lainnya menggunakan angka yang saya peroleh dari baterai pengklasifikasi biner. Apakah Anda melihat masalah?
madCode
SVM dapat melakukan klasifikasi multi-kelas. Metode ini sangat mirip dengan regresi softmax (lihat "Pada implementasi algoritmik dari mesin vektor berbasis kernel multiclass").
user1149913
4

Ini akan tergantung pada bagaimana data Anda tersebar. Ada contoh indah yang baru-baru ini diberikan kepada pertanyaan serupa di mana OP ingin tahu apakah fungsi diskriminan linear tunggal akan menjadi pengklasifikasi yang lebih baik untuk menentukan populasi A vs B atau C atau yang didasarkan pada fungsi diskriminan linear mutliple yang memisahkan A, B dan C. Seseorang memberikan scatterplot berwarna yang sangat bagus untuk menunjukkan bagaimana menggunakan dua diskriminan akan lebih baik daripada satu dalam kasus itu. Saya akan mencoba menautkannya.

Michael R. Chernick
sumber
Tunggu sebentar. Saya kesulitan menemukannya tetapi saya akan terus mencari.
Michael R. Chernick
Maaf karena tidak dapat menemukan tautannya. Bayangkan awan dengan satu warna ke kiri, yang lain di tengah dan ketiga di kanan. Dua garis diskriminan linier akan melakukan pekerjaan yang baik untuk memisahkan kelompok menengah dari yang ke kiri dan ke kanan tetapi tidak ada garis tunggal yang akan berhasil dengan baik. Gambar itu akan bernilai lebih dari semua kata-kata ini.
Michael R. Chernick
1
@MichaelChernick Apakah ini tautan yang Anda cari?
Saya rasa saya mengerti apa yang Anda katakan: bit.ly/M1NydS - gambar yang Anda tentukan saya temui dalam presentasi ini. Klasifikasi 4 arah atau 3 arah..bisa langsung. Tapi .. Saya bertanya-tanya apakah presisi / recall akan dikompromikan jika melakukan klasifikasi 15 arah, Dr. Chernick.
madCode
@Prastrastator Terima kasih telah menemukan itu. saya mengalami begitu banyak kesulitan menemukan itu dan saya sedang mencari banyak waktu mencari! Itu adalah posting baru-baru ini jadi saya pikir akan mudah ditemukan.
Michael R. Chernick
1

Beberapa metode menangani multiclass, Random Forests, MLPs misalnya.

Jika Anda tidak ingin seperti itu, maka ada kemungkinan ECOC dapat melakukan 1-vs-All untuk masalah Anda, hanya pengujian yang akan membuktikannya.

image_doctor
sumber