Rumah pembangunan bahagian belakang Tutorial Python Menilai Model Klasifikasi Pembelajaran Mesin

Menilai Model Klasifikasi Pembelajaran Mesin

Sep 07, 2024 pm 02:01 PM

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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Apr 01, 2025 pm 05:09 PM

Penyelesaian kepada Isu Kebenaran Semasa Melihat Versi Python di Terminal Linux Apabila anda cuba melihat versi Python di Terminal Linux, masukkan Python ...

Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah? Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah? Apr 02, 2025 am 07:15 AM

Cara mengelakkan dikesan semasa menggunakan fiddlerevery di mana untuk bacaan lelaki-dalam-pertengahan apabila anda menggunakan fiddlerevery di mana ...

Bagaimana cara menyalin seluruh lajur satu data ke dalam data data lain dengan struktur yang berbeza di Python? Bagaimana cara menyalin seluruh lajur satu data ke dalam data data lain dengan struktur yang berbeza di Python? Apr 01, 2025 pm 11:15 PM

Apabila menggunakan Perpustakaan Pandas Python, bagaimana untuk menyalin seluruh lajur antara dua data data dengan struktur yang berbeza adalah masalah biasa. Katakan kita mempunyai dua DAT ...

Bagaimanakah uvicorn terus mendengar permintaan http tanpa serving_forever ()? Bagaimanakah uvicorn terus mendengar permintaan http tanpa serving_forever ()? Apr 01, 2025 pm 10:51 PM

Bagaimanakah Uvicorn terus mendengar permintaan HTTP? Uvicorn adalah pelayan web ringan berdasarkan ASGI. Salah satu fungsi terasnya ialah mendengar permintaan HTTP dan teruskan ...

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam? Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam? Apr 02, 2025 am 07:18 AM

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam masa 10 jam? Sekiranya anda hanya mempunyai 10 jam untuk mengajar pemula komputer beberapa pengetahuan pengaturcaraan, apa yang akan anda pilih untuk mengajar ...

Bagaimana untuk mendapatkan data berita yang melangkaui mekanisme anti-crawler Investing.com? Bagaimana untuk mendapatkan data berita yang melangkaui mekanisme anti-crawler Investing.com? Apr 02, 2025 am 07:03 AM

Memahami Strategi Anti-Crawling of Investing.com Ramai orang sering cuba merangkak data berita dari Investing.com (https://cn.investing.com/news/latest-news) ...

See all articles