ํ์ดํ ๋ผ์ธ .score()
๋ฐ .fit()
๋ฉ์๋๋ฅผ ํจ์นํ๋ฉด AutoMLSearch ํ
์คํธ์์ ๋ค์ ๋ฉ์์ง๊ฐ ๋ฐ์ํฉ๋๋ค.
์ฌํ
์ฒดํฌ ์์ ๋ฉ์ธ
pytest -s evalml/tests/automl_tests/test_automl.py::test_automl_rerun
@ bchen1116 ๋ง์ฝ ๋น์ ์ด ์ ์ ๋ชจ์์ return_value
๋ฅผ ์ถ๊ฐํ๋ฉด ๊ทธ๊ฒ์ ์ฌ๋ผ์ ธ์ผ ํฉ๋๋ค :
@patch('evalml.pipelines.BinaryClassificationPipeline.score', return_value={"Log Loss Binary": 0.2})
@freddyaboulton ์ด ๋ชจ๋ .score()
๋ชจ์์ ์ถ๊ฐํด์ผํ๋ ๊ฒ์
๋๊น? ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ด์ด ๋ฒ๊ทธ์ ๋ํ ์ต์์ ์๋ฃจ์
์ผ๊น์?
๋๋ ์ด๊ฒ์ ๋ฒ๊ทธ๋ผ๊ณ ๋ถ๋ฅด๋ ๊ฒ์ ๋ง์ค ์ธ๋ค. ์๋ํ๋ฉด ๊ทธ๊ฒ์ด ์คํจํด์ผ ํ ๋ ํ ์คํธ๋ฅผ ํต๊ณผํ๊ฒํ๊ฑฐ๋ ๊ทธ ๋ฐ๋์ ๊ฒฝ์ฐ๋ ๋ง์ฐฌ๊ฐ์ง์ธ ๋ฐฉ์์ผ๋ก automl์ ๋์์ ๋ณ๊ฒฝํ์ง ์๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทผ๋ณธ์ ์ธ ๋ฌธ์ ๋ return_value๋ฅผ ์ ๊ณตํ์ง ์์ผ๋ฉด MagicMock
๊ฐ ๋ฐํ๋๋ค๋ ๊ฒ์
๋๋ค. ๊ฒฐ๊ตญ ์ฐ๋ฆฌ๋ f- ๋ฌธ์์ด๋ก ์ ์๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
logger.info(f"Best pipeline {self.objective.name}: {best_pipeline['score']:3f}")
MagicMock์ ๋ํด __format__
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ง๋ง ์ ์๋์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค.
๋ก๊น ์ด ํธ์ถ๋๋ ๋ฐฉ์์ ๋ณ๊ฒฝํ๋ฉด ์ถ์ ํ ๋ก๊ทธ๋ฅผ ํผํ ์ ์์ง๋ง ์ฝ๋๋ฅผ ๋ณต์กํ๊ฒ ๋ง๋ค์ง ์์๊น ๊ฑฑ์ ๋ฉ๋๋ค.
์ด๋ป๊ฒ ์๊ฐํด?
์, ์๊ฒ ์ต๋๋ค. ๊ทธ ๋ฉ์์ง๊ฐ ์ด๋์ ์ค๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. AutoML์ ๋์์ ํด๋ฅผ ๋ผ์น ์ง ์๋ ๊ฒ ๊ฐ๊ธฐ ๋๋ฌธ์ ๋์์ด ๊ด์ฐฎ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋์ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ข ๋ฃํ๊ฒ ์ต๋๋ค.