首頁 > 後端開發 > Python教學 > 為什麼在 Scikit-learn 中計算 F-Score 時收到「UndefinedMetricWarning」?

為什麼在 Scikit-learn 中計算 F-Score 時收到「UndefinedMetricWarning」?

Barbara Streisand
發布: 2024-11-25 10:19:14
原創
672 人瀏覽過

Why Am I Getting an

F-Score 計算中的「UndefinedMetricWarning」故障排除

當有標籤時,Sklearn 的F-score 指標UndefinedMetricWarning」未預測的真實資料(y_test) (y_pred)。發生這種情況是因為對於沒有預測樣本的標籤,F 分數未定義。在這種情況下,分數設定為 0.0。

在您的情況下,您可能已經注意到錯誤僅在第一次執行期間出現,而不是隨後出現。這是因為預設情況下警告僅顯示一次。您可以透過將 warnings.filterwarnings() 函數設為「始終」來修改此行為,以便每次都顯示警告。

要避免警告,您有兩個選項:

  1. 忽略沒有預測的標籤:透過將labels 參數設為y_pred 中的唯一值來指定您感興趣的標籤。這將排除沒有預測樣本的標籤,並且警告將消失:
import numpy as np

metrics.f1_score(y_test, y_pred, average='weighted', labels=np.unique(y_pred))
登入後複製
  1. 明確處理未定義的指標:如果您想在自訂中處理未定義的指標會這樣,您可以使用error_score 參數為undefined 指派特定值(例如-1、0 或NaN)

關於尾隨的「 precision', 'predicted',average, warn_for)」錯誤訊息,這是 scikit-learn 0.18.1 中的一個錯誤,已在後續版本中修復。錯誤訊息不應影響您的結果。

以上是為什麼在 Scikit-learn 中計算 F-Score 時收到「UndefinedMetricWarning」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板