๋ฐ์ดํฐ ๋ถ์ + ํผ์ฒ ์์ง๋์ด๋ง + ML ๊ตฌํ,
์ธ ๊ฐ์ง ์ญ๋์ ํ๋ฒ์ ์ก์๋ณด์ธ์.
Apache Spark์
๋จธ์ ๋ฌ๋์ ๋ง๋จ.
์คํ ์์ค ๋์ฉ๋ ๋ถ์ฐ ์ฒ๋ฆฌ ์๋ฃจ์
์ ์ต๊ฐ์์ธ Apache Spark(์ํ์น ์คํํฌ)์ Machine Learning์ด ๋ง๋ฌ์ต๋๋ค.

๊ตญ๋ด ๋ง์ ๋๊ธฐ์
๊ณผ ๊ธ์ต๊ธฐ๊ด์์ Apache Spark๋ฅผ ํ์ฉํ์ฌ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๊ณ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ๋ง๋ค๊ณ ์์ต๋๋ค. Spark๋ ๋ถ์ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ํ๋ ์์ ๊ธฐ๋ฐ์ผ๋ก ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ ๊ฒ๋ ์ ๋๋ถํฐ ๋ง๊ฒ๋ ์์ญ ๋์ ์๋ฒ ์์์ ์ฉ๋์ ํ์ฅํด ๊ฐ๋ฉด์ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ML ๋ชจ๋ธ์ ๋ง๋ค ์ ์์ต๋๋ค. ๋๋ฌธ์ ํ ๋์ ์๋ฒ์์๋ง ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ ๊ตฌํ์ด ๊ฐ๋ฅํ ์ฌ์ดํท๋ฐ์ ํ๊ณ๋ฅผ ๋ฒ์ด๋ ์ ์์ต๋๋ค.

๋ฐ์ดํฐ ๊ฐ๊ณต/๋ถ์์๋ ๋ฅํ
๋จธ์ ๋ฌ๋ ์ ๋ฌธ๊ฐ๋ก
์ฑ์ฅ์์ผ ๋๋ฆฌ๊ฒ ์ต๋๋ค.
'์คํํฌ ๋จธ์ ๋ฌ๋ ์๋ฒฝ ๊ฐ์ด๋ - Part 1' ๊ฐ์๋ ์คํํฌ(Spark)์์ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์ตํ๋ ๊ฒ์ ๋์ด์ ๋ฐ์ดํฐ ๊ฐ๊ณต๊ณผ ๋ถ์์๋ ๋ฅํ ๋จธ์ ๋ฌ๋ ์ ๋ฌธ๊ฐ๋ก ์ฌ๋ฌ๋ถ์ ์ฑ์ฅ์์ผ ๋๋ฆด๊ฒ์
๋๋ค.
์ง์ ํ ๋จธ์ ๋ฌ๋ ์ ๋ฌธ๊ฐ๋ก ์ฑ์ฅํ๊ธฐ ์ํด์๋ ๋น๋จ ML ๊ตฌํ ๋ฅ๋ ฅ ๋ฟ๋ง ์๋๋ผ ์
๋ฌด ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ๊ฐ๊ณตํ๊ณ ์กฐํฉํ์ฌ ML ๋ชจ๋ธ์ ๋ง๋ค์ด ๋ด๋ ๋ฅ๋ ฅ ์ญ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ด๋ฅผ ์ํด ์ค๋ฌด์์ ๋์ฉ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ SQL์ ํ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ๋ ๋ฒ๊ณผ ์
๋ฌด ๋๋ฉ์ธ ๋ถ์์ ๊ธฐ๋ฐํ ๋ฐ์ดํฐ ๋ถ์ ๊ธฐ๋ฒ์ ์ค์ต์ ํตํด์ ์ตํ์๊ฒ ๋ ๊ฒ์
๋๋ค.
์์ธํ ์ด๋ก ์ค๋ช
๋ฐ ์ค์ต์ ํตํด ๋ฐ์ดํฐ ๊ฐ๊ณต/๋ถ์ ๋ฐ ML ๊ตฌํ ์ญ๋์ ํค์ธ ์ ์๋๋ก ๊ตฌ์ฑํ์์ต๋๋ค.
์ฌ๋ฌ๋ถ์ด ์ง๋ฉดํ ๋ฌธ์ ๋ฅผ
ํด๊ฒฐํด๋๋ฆฝ๋๋ค.
์คํํฌ ๊ธฐ๋ฐ์์ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ๊ตฌํํ๊ธฐ๋ ์ฝ์ง ์์ต๋๋ค. ๋ฐ๋ก ์คํํฌ ์ํคํ
์ฒ ํน์์ฑ์ ๊ธฐ๋ฐํ ๋
ํนํ ๋จธ์ ๋ฌ๋ API์ ํ๋ ์์ํฌ, ๊ทธ๋ฆฌ๊ณ SQL์ ๊ธฐ๋ฐํ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฑ ๊ธฐ์กด ๋ฐ์ดํฐ ์ฌ์ด์ธํฐ์คํธ๋ ๋จธ์ ๋ฌ๋ ์ ๋ฌธ๊ฐ๋ค์ด ๊ฒช์ด๋ณด์ง ๋ชปํ ๋ง์ ๋ฌธ์ ์ ๋ด์ฐฉํ๊ธฐ ๋๋ฌธ์
๋๋ค.

๋ณธ ๊ฐ์, ์คํํฌ ๋จธ์ ๋ฌ๋ ์๋ฒฝ ๊ฐ์ด๋๋ฅผ ํตํด ์ฌ๋ฌ๋ถ์ด ๋ด์ฐฉํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฅ๋ ฅ์ ๊ธธ๋ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค.
'์คํํฌ ๋จธ์ ๋ฌ๋ ์๋ฒฝ ๊ฐ์ด๋ - Part 1' ๊ฐ์ ์ ๋ฐ๋ถ๋
๊ฐ์ ์ ๋ฐ๋ถ๋ ์คํํฌ Machine Learning Framework์ ๊ตฌ์ฑํ๋ ๋ค์ํ ์์๋ค์ธ DataFrame, SQL, Estimator, Transformer, Pipeline, Evaluator ๋ฑ์ ๋ํด์ ์์ธํ ์ด๋ก ์ค๋ช
๊ณผ ํ๋ถํ ์ค์ต์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์ฌ๋ฌ๋ถ์ Spark์์ ML ๋ชจ๋ธ์ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๊ตฌํํ์ค ์ ์์ ๊ฒ์
๋๋ค.
๋ํ ์คํํฌ์์ XGBoost์ LightGB์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ, ๋ฒ ์ด์ง์ ์ต์ ํ์ ๊ธฐ๋ฐํ HyperOpt๋ฅผ ์ด์ฉํ์ฌ ํ์ดํผ ํ๋ผ๋ฏธํฐ๋ฅผ ํ๋ํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์ธํ ์ค๋ช
๋๋ฆฌ๊ฒ ์ต๋๋ค.

'์คํํฌ ๋จธ์ ๋ฌ๋ ์๋ฒฝ ๊ฐ์ด๋ - Part 1' ๊ฐ์ ํ๋ฐ๋ถ๋
๊ฐ์ ํ๋ฐ๋ถ๋ ์บ๊ธ์ Instacart Market Basket Analysis ๊ฒฝ์ฐ ๋ํ ์ค์ต์ ํตํด์ ์ฌ๋ฌ๋ถ์ ์ค์ ๋ฐ์ดํฐ ๊ฐ๊ณต/๋ถ์ ๋ฅ๋ ฅ๊ณผ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ ๊ตฌํ ๋ฅ๋ ฅ์ ๋์์ ํฅ์ ์์ผ ๋๋ฆด ๊ฒ์
๋๋ค. ์บ๊ธ Instacart ๊ฒฝ์ฐ๋ํ๋ ๋์ด๋ ๋์ ๊ฒฝ์ฐ์ด๋ฉฐ, ํนํ ๋ฐ์ดํฐ ์ธํธ๊ฐ ์ ์ ์๊ฑฐ๋์ ์ฃผ๋ฌธ ์ฒ๋ฆฌ ํ
์ด๋ธ๋ค(์ํ, ์ฃผ๋ฌธ, ์ฃผ๋ฌธ ์ํ)๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
ํด๋น ๋ฐ์ดํฐ ์ธํธ๋ฅผ ํตํด SQL ๊ธฐ๋ฐ์์ ์
๋ฌด ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ๊ฐ๊ณตํ๊ณ ๋ถ์ํ๋ฉฐ Feature Engineering์ ์ํํ๋์ง, ๋ํ ์
๋ฌด์์ ๋ถ์ ๋๋ฉ์ธ์ ์ด๋ป๊ฒ ๋์ถํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ ๋์ถ๋ Feature ๋ค์ ๊ธฐ๋ฐ์ผ๋ก ์ด๋ป๊ฒ ๋ชจ๋ธ์ ์์ฑํ๋ ์ง์ ๋ํด์ ์์ธํ๊ฒ ๋ฐฐ์ฐ์๊ฒ ๋ ๊ฒ ์
๋๋ค.


์ด๋ฒ์ ์ถ์ํ๋ '์คํํฌ ๋จธ์ ๋ฌ๋ ์๋ฒฝ ๊ฐ์ด๋' ๊ฐ์๋ Part 1์
๋๋ค. Part 2 ๊ฐ์๋ ์ถํ์ ์ถ์ ์์ ์ด๋ฉฐ, ํ
์คํธ ๋ถ์, ์ถ์ฒ(Recommendation), ๊ทธ๋ฆฌ๊ณ TimeSeries ๋ถ์์ ๋ค๋ฃฐ ์์ ์
๋๋ค.
๐ป ์๊ฐ ์ ํ์ธํด์ฃผ์ธ์!
- ๋ณธ ๊ฐ์์ ์ค์ต ์ฝ๋๋ ๋ชจ๋ Python ๊ธฐ๋ฐ์ผ๋ก ๋์ด ์์ต๋๋ค. Scala๋ ๋ค๋ฃจ์ง ์์ผ๋ ๊ฐ์ ์ ํ ์ ์ฐธ์กฐ ๋ถํ๋๋ฆฝ๋๋ค.
์ค์ต ํ๊ฒฝ์
ํ์ธํด์ฃผ์ธ์.
์ค์ต์ Databricks(๋ฐ์ดํฐ๋ธ๋ฆญ์ค)๋ฅผ ์ด์ฉํฉ๋๋ค. Databricks๋ Spark๋ฅผ ์ค์นํ์ง ์๊ณ ๋ ํด๋ผ์ฐ๋ ์์์ Spark ๊ธฐ๋ฐ์ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ง๋ค ์ ์๋ ๋
ธํธ๋ถ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค.

Databricks๋ Community ๋ฒ์ ์ผ๋ก ๊ณต์์ ์ผ๋ก 14์ผ๊ฐ ๋ฌด๋ฃ ์ฌ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์น์
0์ 'Databricks์์ Spark ํด๋ฌ์คํฐ ๊ด๋ฆฌํ๊ธฐ ๋ฐ ๊ฐ์
2์ฃผ ํ์๋ Databricks ์ฌ์ฉํ๊ธฐ' ๊ฐ์ ์์์์ 14์ผ ์ดํ์๋ ๋ฌด๋ฃ๋ก ๊ณ์ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ํด์ ๋ง์๋๋ฆฌ๊ณ ์์ผ๋ ๊ผฌ~์ฅ ํด๋น ์์์ ํ์ธ ๋ถํ๋๋ฆฝ๋๋ค(Databricks Community ๋ฒ์ ์ ๋ํ ์ค๋ช
์ ๋งํฌ๋ฅผ ์ฐธ์กฐํด ์ฃผ์ญ์์ค).
๊ฐ์ ์ค์ต ์ฝ๋์ ๊ฐ์ ์ค๋ช
์๋ฃ๋ '์ค์ต์ฝ๋์ ์ค๋ช
์๋ฃ ๋ค์ด๋ก๋ ๋ฐ๊ธฐ'์์ ๋ค์ด๋ก๋ ๋ฐ์ผ์ค ์ ์์ต๋๋ค.
์ ์ ์ง์์ด
ํ์ํ ๊ฐ์์
๋๋ค.
๋ณธ ๊ฐ์๋ ์๊ฐ์ ๋ถ๋ค์ด ํ์ด์ฌ ๋จธ์ ๋ฌ๋ ์๋ฒฝ ๊ฐ์ด๋์ 5์ฅ(ํ๊ท) ๋๋ ์ด์ ์คํ๋ ์ง์์ ๊ฐ์ง๊ณ ์๋ ๊ฒ์ผ๋ก, ๋ํ SQL์ ๋ํ ๋งค์ฐ ๊ธฐ๋ณธ์ ์ธ ๋ถ๋ถ์ ์์๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๊ณ ๊ตฌ์ฑ๋์์ผ๋ ๊ฐ์ ์ ํ์ ์ ์ฌํญ ์ฐธ์กฐ ๋ถํ๋๋ฆฝ๋๋ค.
Spark๋ ๊ธฐ๋ณธ์ ์ธ ๋ถ๋ถ์ ์์๋ฉด ์ข์ง๋ง, ๋ชฐ๋ผ๋ ๊ฐ์๋ฅผ ๋ฐ๋ผ๊ฐ์๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์ผ์ค ๊ฒ์
๋๋ค.
์ ์ ๊ฐ์๋ฅผ ํ์ธํด์ฃผ์ธ์!
ํ์ด์ฌ ๋จธ์ ๋ฌ๋ ์๋ฒฝ ๊ฐ์ด๋
์ด๋ก ์์ฃผ์ ๋จธ์ ๋ฌ๋ ๊ฐ์๋ ๊ทธ๋ง,
๋จธ์ ๋ฌ๋์ ํต์ฌ ๊ฐ๋
๋ถํฐ ์ค์ ์ญ๋๊น์ง ์ฝ๊ณ ์ ํํ๊ฒ.
์ง์๊ณต์ ์์ ์ธํฐ๋ทฐ๊ฐ ๊ถ๊ธํ๋ค๋ฉด? (ํด๋ฆญ)