๋ชจ๋ธ์ ํ๋ จ์ํค๋ ๊ณผ์ ์์ ์ด๋ฐ ๊ฒฝ๊ณ ๋ฅผ ๋ฐ์ต๋๋ค.
์ด์ ๊ฐ์ ํธ์ถ๋ก ๋ ๊ตฌ์ฒด์ ์ผ๋ก ํธ๋ฆฌ๊ฑฐํ ์ ์์ต๋๋ค.
from evalml.objectives import F1
f1 = F1()
f1.score(y_predicted=[0, 0],
y_true=[0, 1])
์ฒ๋ฆฌ ๋ฐฉ๋ฒ ์ธก๋ฉด์์. ์ฌ๊ธฐ ์๊ฐ๋๋ ๊ฒ์ด ์์ต๋๋ค
nan
๋๋ ์ธก์ ํญ๋ชฉ์ ๋ํด ๊ฐ๋ฅํ ์ต์
์ ์ ์๋ก ๋ฐ๊ฟ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๊ฒฐ๊ณผ ์ฌ์ ์ ์ด๋๊ฐ์ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ ์ฅํ ์ ์์ต๋๋ค.๋ค, ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ฝ๋๊ฐ ๊ทธ๋ ๊ฒ ํ์ง ์๋ ํ ์๋ฌด ๊ฒ๋ stdout์ ์ธ์๋๋ ๊ฒ์ ํ์ฉํด์๋ ์ ๋ฉ๋๋ค.
์ด๊ฒ์ด #311๊ณผ ๊ด๋ จ์ด ์๋์ง ๊ถ๊ธํฉ๋๋ค.
์ด ๋ ๊ฐ์ง ์ ์์ ๋ชจ๋ ์ํํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด sklearn stdout ์ถ๋ ฅ์ ์ต์ ํ๊ณ ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์์ฒด ๊ฒฝ๊ณ ๋ฉ์์ง๋ ์์ฑํฉ๋๋ค.
@christopherbunn RE ํ์์์ ์ด๊ฒ์ ์ธ๊ธ
@christopherbunn @jeremyliweishih ๋๋ ์ด๊ฒ์ ๋ํด ์ข ๋ ์ฝ์๊ณ , ์ฌ๊ธฐ์์ ๋ชจ๋ ์ ๋ฐ๋ ๋ฐ f1 ๋ชฉํ(์ด์ง ๋ฐ ๋ค์ค ํด๋์ค)์ ๋ํด zero_division=0.0
๋ฅผ ์ค์ ํ๋ ๊ฒ์ผ๋ก ์์ ํ๊ณ ์ถ์ต๋๋ค.
์ค๋ช
์ ๋ฐ๋ ๋ n_true_pos / (n_true_pos + n_false_pos)
์
๋๋ค. ๋ฐ๋ผ์ ๋ชจ๋ธ์ด ๋ฌธ์ ์ ๋ฐ์ดํฐ ๋ถํ ์์ ํน์ ๋ ์ด๋ธ์ ์ ํ ์์ธกํ์ง ์๋ ๊ฒฝ์ฐ ํด๋น ๋ ์ด๋ธ์ ๋ํด ์ฐธ ๋๋ ๊ฑฐ์ง ๊ธ์ ์ด ์์ผ๋ฏ๋ก 0์ผ๋ก ๋๋๊ธฐ๊ฐ ๋ฐ์ํฉ๋๋ค. f1์ ๊ฒฝ์ฐ๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค.
๋
ผ์
ํด๋์ค์ ๊ท ํ์ ์ ์ ์งํ๊ณ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค(ํ์ฌ๋ ์ํํ์ง ์์ง๋ง ๋ณ๋์ ์ฃผ์ ์ธ #194 #457). ๊ทธ๋ ๋ค๋ฉด ํ๋ จ ๋๋ ๊ฒ์ฆ ๋ถํ ์ ํน์ ํด๋์ค์ ์ธ์คํด์ค๊ฐ ๊ฑฐ์ ํฌํจ๋ ๊ฐ๋ฅ์ฑ์ด ๊ฑฐ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๊ฐ ๊ฐ์ ํ ์ ์๊ณ ๋ชจ๋ธ์ด ์ฌ์ ํ ํน์ ๋ ์ด๋ธ์ ๋ํด ์์ธก์ ํ์ง ์๋๋ค๋ฉด, ๋๋ ๊ทธ๊ฒ์ด ์ข์ง ์์ ๋ชจ๋ธ์ด๋ผ๊ณ ์ฃผ์ฅํ ๊ฒ์
๋๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์ ๋ฐ๋์ f1 ๋ชจ๋์ ๋ํด 0์ธ ๊ฐ๋ฅํ ๊ฐ์ฅ ๋ฎ์ ์ ์๋ฅผ ๋ถ์ฌํด์ผ ํฉ๋๋ค.
์ข์ ์๋ฆฌ?
์์
In [38]: import numpy as np
In [39]: import sklearn.metrics
In [40]: y_true = np.array([0, 0, 0, 0, 1])
In [41]: y_pred = np.array([0, 0, 0, 0, 0])
In [42]: sklearn.metrics.precision_score(y_true, y_pred)
/Users/dylan.sherry/.pyenv/versions/3.8.2/envs/evalml/lib/python3.8/site-packages/sklearn/metrics/_classification.py:1272: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples. Use `zero_division` parameter to control this behavior.
_warn_prf(average, modifier, msg_start, len(result))
Out[42]: 0.0
In [43]: sklearn.metrics.precision_score(y_true, y_pred, zero_division=0.0)
Out[43]: 0.0
@dsherry ๋ ๋์๊ฒ ์๋ฏธ๊ฐ ์์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ์ง๊ธํ๊ณ ์๋ ์ผ์ด์ง๋ง ๊ฒฝ๊ณ ์ ํจ๊ปํ๋ค๊ณ ์๊ฐํฉ๋๋ค (๊ธฐ๋ณธ๊ฐ์ 0์ผ๋ก ์ค์ ๋๊ณ ๊ฒฝ๊ณ ๋ ๊ฒ์ํ๋ "๊ฒฝ๊ณ "๋ก ๊ธฐ๋ณธ ์ค์ ๋์ด ์๊ธฐ ๋๋ฌธ์)
@jeremyliweishih ๋ค!
@christopherbunn ์์