๋ฌธ์
๋ก์ปฌ์์ ์คํ(python 3.8์์, ๊ทธ๋ฌ๋ ๋ค๋ฅธ Python ๋ฒ์ ์์๋ ๋น์ทํ ๊ฒ์ ๋ณด์์ต๋๋ค)
(featurelabs) โ evalml git:(master) pytest -v evalml/tests/automl_tests/test_autobase.py::test_pipeline_limits
====================================================================== test session starts ======================================================================
platform darwin -- Python 3.8.0, pytest-4.4.1, py-1.8.0, pluggy-0.13.1 -- /Users/dsherry/anaconda/envs/featurelabs/bin/python
cachedir: .pytest_cache
rootdir: /Users/dsherry/development/aie/featurelabs/evalml, inifile: setup.cfg
plugins: xdist-1.26.1, cov-2.6.1, nbval-0.9.3, forked-1.1.3
collected 1 item
evalml/tests/automl_tests/test_autobase.py::test_pipeline_limits PASSED [100%]
======================================================================= warnings summary ========================================================================
evalml/tests/automl_tests/test_autobase.py::test_pipeline_limits
evalml/tests/automl_tests/test_autobase.py::test_pipeline_limits
...
/Users/dsherry/anaconda/envs/featurelabs/lib/python3.8/site-packages/sklearn/metrics/classification.py:1436: UndefinedMetricWarning:
Precision is ill-defined and being set to 0.0 due to no predicted samples.
...
/Users/dsherry/anaconda/envs/featurelabs/lib/python3.8/site-packages/sklearn/metrics/classification.py:1436: UndefinedMetricWarning:
F-score is ill-defined and being set to 0.0 due to no predicted samples.
...
/Users/dsherry/anaconda/envs/featurelabs/lib/python3.8/site-packages/sklearn/metrics/classification.py:872: RuntimeWarning:
invalid value encountered in double_scalars
...
/Users/dsherry/development/aie/featurelabs/evalml/evalml/automl/auto_base.py:307: RuntimeWarning:
invalid value encountered in double_scalars
sklearn์์ 3๊ฐ์ ๊ฒฝ๊ณ ๊ฐ ๋ฐ์ํ๊ณ ์ฝ๋์์ 1๊ฐ๊ฐ ๋ฐ์ํฉ๋๋ค. ํ ์คํธ๋ฅผ ์คํํ ๋๋ง๋ค ๊ฒฝ๊ณ ์ ์กฐํฉ/์์๊ฐ ์ฝ๊ฐ ๋ค๋ฅธ ๊ฒ ๊ฐ์ต๋๋ค.
๋ ๋ง์ ์ ๋ณด
AutoBase._add_result
์์ ๋ง์ง๋ง ๊ฒฝ๊ณ ๊ฐ ๋ฐ์ํ ํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค .
high_variance_cv = (scores.std() / scores.mean()) > .2
scores
์ด ๋ชจ๋ ๋น์ด ์๊ฑฐ๋ ๋ชจ๋ 0์ธ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ ๊ทธ๋ด๊น์? ์ด๊ฒ์ ๋ค์์ ์ดํด๋ณผ ์ฌํญ์
๋๋ค. ๋ชจ๋ธ์ ์ฑ์ ํ ๋ ํ
์คํธ ๋ฐ์ดํฐ๊ฐ ๋น์ด ์์ต๋๊น?
๋ด ์์ฌ์ ์ด ๋ฐ์ดํฐ ์ธํธ๊ฐ ๋๋ฌด ์๊ฑฐ๋ ๋๋ฌด ๊ท ์ผํ๊ณ ์ด์ ๋ํด ํ๋ จ๋ ๋ชจ๋ธ์ด ๋ชจ๋ ๋์ผํ ๊ฐ ๋๋ ์ด์ ์ ์ฌํ ๊ฒ์ ์์ธกํ๊ณ ์๋ค๋ ๊ฒ์ ๋๋ค. ๋ด๊ฐ ์ณ๋ค๋ฉด ์ด๊ฒ์ ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ๋ก๋ํ ๋ ์ด ๋ฌธ์ ๋ฅผ ๊ฐ์งํ๊ธฐ ์ํด ๊ฐ๋๋ ์ผ์ด ํ์ํ๊ณ ์ค์ ํผํ (#275)์ ํผํ๊ธฐ ์ํด ๋จ์ ํ ์คํธ์์ ์กฐ๋กฑํ๋ ๊ฒ์ด ์ค์ํ๋ค๋ ๊ฒ์ ๊ฐ์กฐํฉ๋๋ค(์ด ํน์ ํ ์คํธ๊ฐ ๊ทธ๋ ์ง ์๋๋ผ๋ ์กฐ๋กฑ).
๋ฒ๊ทธ #167 ์ ๋๋ฒ๊น ํ๋ ๋์ ์ด๋ฌํ ๊ฒฝ๊ณ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๊ทธ๋์ ์ด๊ฒ์ด ๊ทธ๊ฒ๊ณผ ๊ด๋ จ์ด ์์ ์ ์์ต๋๋ค.
๋ค์ ๋จ๊ณ
์ด๋ฌํ ๊ฒฝ๊ณ ๊ฐ ๋ํ๋๋ ์ด์ ๋ฅผ ํ์ธํด์ผ ํฉ๋๋ค. ํ
์คํธ ์ค์ ์ ๋ฌธ์ ๊ฐ ์๋ค๋ฉด ํ
์คํธ๋ฅผ ๋ณ๊ฒฝํ์ฌ ์์ ํ๊ฑฐ๋ ํผํ๋๋ก ํฉ์๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ฒ๊ทธ์ผ ์ ์์ต๋๋ค. ์ด์จ๋ ์ ์์ ์ธ ์ฌ์ฉ์์ ์ด์ ๊ฐ์ ๊ฒฝ๊ณ ๋ฅผ ์ธ์ํด์๋ ์๋ฉ๋๋ค.
์ด๊ฒ์ #445๊ฐ ๋ณํฉ๋ ํ ๋ง์คํฐ์ ํ์๋์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. 3.8์ ๋ํ ํ ์คํธ๋ ์ฌ๊ธฐ์์ ๋ณผ ์ @dsherry๋ ๋ณํฉ๋ ๋ชฉํ์ ํจ๊ป ์ฌ๋ผ์ง ์ด์ ๋ฅผ ์ ๋ชจ๋ฅด๊ฒ ์ง๋ง ์ง๊ธ์ ๋ซ์์ผ ํฉ๋๊น?
@jeremyliweishih ํ , ์ด์ํด! ์, double_scalar
๋ํ ํน์ ๊ฒฝ๊ณ ๊ฐ ํ์๋์ง ์์ต๋๋ค. ์๋ง๋ #445๋ ๋จ์ ํ
์คํธ๋ฅผ ์ฌ๋ฐ๋ฅธ ๋ฐฉ์์ผ๋ก ์์์ ๊ฒ์
๋๋ค.
๋๋ ๋น์ ์ด ๋งํฌ ํ circleci ์์ ์์ ์ด๊ฒ์ ๋ด ๋๋ค.
=============================== warnings summary ===============================
evalml/utils/gen_utils.py:98
/home/circleci/evalml/evalml/utils/gen_utils.py:98: RuntimeWarning: invalid value encountered in true_divide
conf_mat = conf_mat.astype('float') / conf_mat.sum(axis=0)
test_python/lib/python3.8/site-packages/numpy/core/_methods.py:38
/home/circleci/evalml/test_python/lib/python3.8/site-packages/numpy/core/_methods.py:38: ComplexWarning: Casting complex values to real discards the imaginary part
return umr_sum(a, axis, dtype, out, keepdims, initial, where)
๊ทธ๊ฒ๋ค์ ์์ ์, ์? ๋ฒ๊ทธ๋ฅผ ๋ฎ์ ์ ์์ต๋๋ค.
์ฒซ ๋ฒ์งธ ์ ์: "์๋" ์ถ๊ฐevalml/evalml/utils/gen_utils.py:98
, circleci์์ ์คํํ๊ณ ์ค๋จ๋๋ ์์น๋ฅผ ํ์ธํฉ๋๋ค. ๋ ๋ฒ์งธ ๊ฒฝ์ฐ๋ ํ์คํ์ง ์์ต๋๋ค. ๊ฒฝ๊ณ ๊ฐ ๋ฐ์ํ๋ฉด ๋จ์ ํ
์คํธ๊ฐ ์คํจํ๋๋ก ํ๋ ๋ฐฉ๋ฒ์ด ์์๊น์?
@dsherry @jeremyliweishih ์ด์ ๋ํด Jeremy์ ์ด์ผ๊ธฐํ์ง๋ง ํ์ฌ ํ๊ณ ์๋ PR์ด ๋ ๋ฒ์งธ ๊ฒฝ๊ณ ๋ฅผ ์ฒ๋ฆฌํ๋ค๊ณ ์๊ฐํฉ๋๋ค! :) (#638)