Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa F-Score Saya Melemparkan 'UndefinedMetricWarning' dalam Python dan Bagaimana Saya Membetulkannya?

Mengapa F-Score Saya Melemparkan 'UndefinedMetricWarning' dalam Python dan Bagaimana Saya Membetulkannya?

Patricia Arquette
Lepaskan: 2024-11-16 14:37:03
asal
620 orang telah melayarinya

Why Does My F-Score Throw a

Amaran 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}
Salin selepas log masuk

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')
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan