Rumah > pembangunan bahagian belakang > Tutorial Python > Menilai Model Klasifikasi Pembelajaran Mesin

Menilai Model Klasifikasi Pembelajaran Mesin

WBOY
Lepaskan: 2024-09-07 14:01:07
asal
1156 orang telah melayarinya

Kerangka

  • Apakah matlamat penilaian model?
  • Apakah tujuan penilaian model, dan apakah beberapa prosedur penilaian biasa?
  • Apakah kegunaan ketepatan klasifikasi, dan apakah itu had?
  • Bagaimanakah matriks kekeliruan menggambarkan prestasi a pengelas?
  • Apakah metrik yang boleh dikira daripada matriks kekeliruan?

Tmatlamat penilaian model adalah untuk menjawab soalan;

bagaimana cara saya memilih antara model yang berbeza?

Proses menilai pembelajaran mesin membantu menentukan sejauh mana model itu boleh dipercayai dan berkesan untuk aplikasinya. Ini melibatkan penilaian faktor yang berbeza seperti prestasi, metrik dan ketepatannya untuk ramalan atau membuat keputusan.

Tidak kira model apa yang anda pilih untuk digunakan, anda memerlukan cara untuk memilih antara model: jenis model yang berbeza, parameter penalaan dan ciri. Anda juga memerlukan prosedur penilaian model untuk menganggarkan sejauh mana model akan digeneralisasikan kepada data yang tidak kelihatan. Akhir sekali, anda memerlukan prosedur penilaian untuk dipasangkan dengan prosedur anda di lain-lain untuk mengukur prestasi model anda.

Sebelum kita meneruskan, mari kita semak beberapa prosedur penilaian model yang berbeza dan cara ia beroperasi.

Prosedur Penilaian Model dan Cara Ia Beroperasi.

  1. Latihan dan ujian pada data yang sama
    • Memberi ganjaran kepada model yang terlalu kompleks yang "melebihkan" data latihan dan tidak semestinya akan digeneralisasikan
  2. Pecahan kereta api/ujian
    • Pahasikan set data kepada dua bahagian, supaya model boleh dilatih dan diuji pada data yang berbeza
    • Anggaran prestasi luar sampel yang lebih baik, tetapi masih merupakan anggaran "varians tinggi"
    • Berguna kerana kelajuan, kesederhanaan dan fleksibiliti
  3. Pengesahan silang K-lipat
    • Buat pembahagian kereta api/ujian "K" secara sistematik dan purata hasilnya bersama
    • Anggaran prestasi luar sampel yang lebih baik
    • Berlari "K" kali lebih perlahan daripada pemisahan kereta api/ujian.

Daripada di atas, kita boleh simpulkan bahawa:

  • Latihan dan ujian ke atas data yang sama ialah punca klasik untuk memasang lampau di mana anda membina model yang terlalu kompleks yang tidak akan digeneralisasikan kepada data baharu dan itu sebenarnya tidak berguna.

  • Train_Test_Split memberikan anggaran prestasi luar sampel yang jauh lebih baik.

  • Pengesahan silang K kali ganda lebih baik dengan pembahagian ujian kereta api K secara sistematik dan purata keputusan bersama-sama.

Ringkasnya, train_tests_split masih menguntungkan untuk pengesahan silang kerana kelajuan dan kesederhanaannya, dan itulah yang akan kami gunakan dalam panduan tutorial ini.

Metrik Penilaian Model:

Anda akan sentiasa memerlukan metrik penilaian untuk mengikut prosedur pilihan anda, dan pilihan metrik anda bergantung pada masalah yang anda tangani. Untuk masalah pengelasan, anda boleh menggunakan ketepatan pengelasan. Tetapi kami akan menumpukan pada metrik penilaian klasifikasi penting lain dalam panduan ini.

Sebelum kita mempelajari sebarang metrik penilaian baharu' Mari semak ketepatan klasifikasi dan bercakap tentang kekuatan dan kelemahannya.

Ketepatan pengelasan

Kami telah memilih set data Pima Indians Diabetes untuk tutorial ini, yang merangkumi data kesihatan dan status diabetes bagi 768 pesakit.

Evaluating A Machine Learning Classification Model

Jom baca data dan cetak 5 baris pertama data. Lajur label menunjukkan 1 jika pesakit menghidap diabetes dan 0 jika pesakit tidak menghidap diabetes, dan kami berhasrat untuk menjawab soalan:

Soalan: Bolehkah kita meramalkan status diabetes pesakit berdasarkan ukuran kesihatan mereka?

Kami mentakrifkan metrik ciri kami X dan vektor tindak balas Y. Kami menggunakan train_test_split untuk memisahkan X dan Y kepada set latihan dan ujian.

Evaluating A Machine Learning Classification Model

Seterusnya, kami melatih model regresi logistik pada set latihan. Semasa langkah muat, objek model logreg sedang mempelajari hubungan antara X_train dan Y_train. Akhirnya kami membuat ramalan kelas untuk set ujian.

Evaluating A Machine Learning Classification Model

Evaluating A Machine Learning Classification Model

Kini, kami telah membuat ramalan untuk set ujian, kami boleh mengira ketepatan pengelasan, iaitu peratusan ramalan yang betul.

Evaluating A Machine Learning Classification Model

Walau bagaimanapun, pada bila-bila masa anda menggunakan ketepatan klasifikasi sebagai metrik penilaian anda, adalah penting untuk membandingkannya dengan Ketepatan nol, iaitu ketepatan yang boleh dicapai dengan sentiasa meramalkan kelas yang paling kerap.

Evaluating A Machine Learning Classification Model

Ketepatan nol menjawab soalan; jika model saya meramalkan kelas utama 100 peratus masa, berapa kerapkah ia betul? Dalam senario di atas, 32% daripada ujian_y ialah 1 (satu). Dalam erti kata lain, model bodoh yang meramalkan bahawa pesakit menghidap diabetes, adalah tepat 68% pada masa itu (iaitu sifar). Ini menyediakan garis dasar yang kami mungkin mahu mengukur regresi logistik kami model.

Apabila kami membandingkan ketepatan Null 68% dan ketepatan model 69%, model kami tidak kelihatan sangat baik. Ini menunjukkan satu kelemahan ketepatan pengelasan sebagai metrik penilaian model. Ketepatan klasifikasi tidak memberitahu kami apa-apa tentang pengedaran asas ujian ujian.

Ringkasan:

  • Ketepatan klasifikasi ialah metrik klasifikasi paling mudah untuk difahami
  • Tetapi, ia tidak memberitahu anda pengedaran asas nilai tindak balas
  • Dan, ia tidak memberitahu anda apa "jenis" ralat pengelas anda buat.

Sekarang mari kita lihat matriks kekeliruan.

Matriks kekeliruan

Matriks Kekeliruan ialah jadual yang menerangkan prestasi model pengelasan.
Ia berguna untuk membantu anda memahami prestasi pengelas anda, tetapi ia bukan metrik penilaian model; jadi anda tidak boleh memberitahu scikit belajar memilih model dengan matriks kekeliruan terbaik. Walau bagaimanapun, terdapat banyak metrik yang boleh dikira daripada matriks kekeliruan dan ia boleh digunakan terus untuk memilih antara model.

Evaluating A Machine Learning Classification Model

  • Setiap pemerhatian dalam set ujian diwakili dalam tepat satu kotak
  • Ia adalah matriks 2x2 kerana terdapat 2 kelas tindak balas
  • Format yang ditunjukkan di sini adalah bukan universal

Mari kita terangkan beberapa istilah asasnya.

  • Positif Benar (TP): kami betul meramalkan bahawa mereka mempunyai menghidap diabetes
  • Negatif Sejati (TN): kami betul meramalkan bahawa mereka tidak menghidap diabetes
  • Positif Palsu (FP): kami salah meramalkan bahawa mereka ada menghidap diabetes ("Ralat Jenis I")
  • Negatif Palsu (FN): kami salah meramalkan bahawa mereka tidak menghidap diabetes ("Ralat Jenis II")

Mari lihat cara kita boleh mengira metrik

Evaluating A Machine Learning Classification Model

Evaluating A Machine Learning Classification Model

Evaluating A Machine Learning Classification Model

Kesimpulannya:

  • Matriks kekeliruan memberi anda gambaran yang lebih lengkap tentang prestasi pengelas anda
  • Juga membolehkan anda mengira pelbagai metrik klasifikasi dan metrik ini boleh membimbing pemilihan model anda

Atas ialah kandungan terperinci Menilai Model Klasifikasi Pembelajaran Mesin. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan