


Mengapa F-Score Saya Melemparkan 'UndefinedMetricWarning' dalam Python dan Bagaimana Saya Membetulkannya?
Nov 16, 2024 pm 02:37 PMAmaran F-Score: Metrik Tidak Ditakrifkan dan Sampel Ramalan Hilang
Dalam konteks tugas pengelasan, metrik skor F biasanya digunakan untuk menilai prestasi model. Walau bagaimanapun, apabila menghadapi ralat "UndefinedMetricWarning: F-score is ill-defined", ini menunjukkan bahawa F-score tidak boleh dikira untuk label tertentu kerana tiada sampel yang diramalkan.
Isu ini timbul apabila label hadir dalam set label sebenar (y_test) tidak muncul dalam set label yang diramalkan (y_pred). Akibatnya, pengiraan skor F untuk label sedemikian menghasilkan nilai yang tidak ditentukan. Untuk mengendalikan situasi ini, scikit-learn memberikan nilai 0.0 kepada skor F bagi label ini.
Salah satu cara untuk memerhati senario ini adalah melalui contoh. Pertimbangkan situasi di mana label '2' hadir dalam y_test tetapi tiada dalam y_pred:
>>> set(y_test) - set(y_pred) {2}
Memandangkan tiada sampel ramalan untuk label '2,' skor F untuk label ini dianggap 0.0. Memandangkan pengiraan termasuk skor 0, amaran dipaparkan oleh scikit-learn to alert about the undefined metric.
Amaran ini dinaikkan hanya pada kali pertama ia berlaku. Tingkah laku ini disebabkan oleh tetapan lalai amaran dalam Python, yang memastikan bahawa amaran khusus ditunjukkan sekali sahaja.
Untuk menyekat amaran ini, anda boleh melumpuhkannya menggunakan warnings.filterwarnings('ignore'):
import warnings warnings.filterwarnings('ignore')
Sebagai alternatif, anda boleh menentukan label minat secara eksplisit, tidak termasuk label yang tidak diramalkan sampel:
>>> metrics.f1_score(y_test, y_pred, average='weighted', labels=np.unique(y_pred)) 0.91076923076923078
Dengan menyatakan label yang sebenarnya telah diramalkan, amaran itu boleh dielakkan.
Atas ialah kandungan terperinci Mengapa F-Score Saya Melemparkan 'UndefinedMetricWarning' dalam Python dan Bagaimana Saya Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimana saya menggunakan sup yang indah untuk menghuraikan html?

Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks

Cara Bekerja Dengan Dokumen PDF Menggunakan Python

Cara Cache Menggunakan Redis dalam Aplikasi Django

Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch?

Cara Melaksanakan Struktur Data Anda Sendiri di Python

Serialization dan deserialisasi objek python: Bahagian 1
