[GP] R์์ ์ฝ๋๋ฅผ ๋ณ๋ ฌ์ฒ๋ฆฌ ํ๋ ๋ฐฉ๋ฒ
์ด ๊ธ์ N.K Dev Lab์์ ์์ฑ๋ ๊ธ์
๋๋ค.
์ค๋์ R ์ฝ๋๋ฅผ ๋ณ๋ ฌ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค. ๋ณ๋ ฌ ์ฒ๋ฆฌ? ๋ง์ด ๋ค์ด๋ณด์ จ๋ ๋ง์์ด๊ฒ ์ง๋ง ๋ณ๋ ฌ ์ฒ๋ฆฌ๊ฐ ์ผ๋จ ๋ฌด์์ธ์ง ๋จผ์ ์์๋ณด๊ณ ์งํํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
Parallel Processing
๋ณ๋ ฌ ์ฒ๋ฆฌ ํน์ ๊ณ์ฐ์ ์ปดํจํฐ๋ฅผ ์ด์ฉํด์ ๋์์ ๋ง์ ๊ณ์ฐ์ ํ๋๋ก ํ๋ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ ์ค์ ํ๋์ ๋๋ค. ๊ณผ๊ฑฐ์๋ ํ๋ก์ธ์ ์ฑ๋ฅ์ด ํ๋๋น ์ฝ์ด ํ ๊ฐ๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ๋ณ๋ ฌ ์ฒ๋ฆฌ๋ผ๋ ๊ฒ์ ์ฌ์ค์ ๋ถ๊ฐ๋ฅํ ๊ฒ์ ๊ฐ๊น์ ์ต๋๋ค. ํ์ง๋ง ์ด๋ฅผ ๊ฐ๋ฅํ๋๋ก ํ ๊ฒ์ ๋ฉํฐํ์คํน ๋ฐฉ์์ด ์์๊ธฐ ๋๋ฌธ์ด์ฃ . ์ด ๋ฐฉ๋ฒ์ ํ๋์ ๊ณ์ฐ์ ์ฌ๋ฌ ๊ฐ๋ก ์ชผ๊ฐ์ ๋๋ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ผ๋ก ๋์์ ๋ง์ ๊ณ์ฐ์ ํ๊บผ๋ฒ์ ์ฒ๋ฆฌํ๋ ๊ฒ์ด๋์ ์ฝ๊ฐ์ ์ฐจ์ด๊ฐ ์์์ต๋๋ค.
ํ์ง๋ง ํ๋ ํ๋ก์ธ์์๋ ํ ํ๋ก์ธ์์ ์ฌ๋ฌ ๊ฐ์ ์ฝ์ด๊ฐ ๋ฌ๋ ค ์๋ ํ๋ก์ธ์๊ฐ ๋ง์ด ๋์ค๊ณ ์์ฃ . ๋ํ์ ์ผ๋ก 8๊ฐ์ ์ฝ์ด๋ฅผ ๋ฌ๋ฆฐ ๋ ์์ ์ฅํ ์ฝ์ด ํ๋ก์ธ์๋ผ๊ณ ๋ ๋ง์ด ์ด์ผ๊ธฐ๋ฅผ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฌํ ๋ง์ ์ฝ์ด๋ฅผ ๊ฐ์ง๊ณ ์๋ง์ ๋ฐ๋ณต ์ฐ์ฐ์ ๊ฐ ์ฝ์ด๋งํผ ๋๋ ๋ถ์ฐํ๋ ์ฒ๋ฆฌ ๋ฐฉ์์ ๋ฐ๋ก ๋ณ๋ ฌ ์ฒ๋ฆฌ๋ผ๊ณ ์ด์ผ๊ธฐ ํฉ๋๋ค.
์ฌ์ค ์ฌ๊ธฐ์ ๋งํ๋ ์ฅํ ์ฝ์ด๋ ์ฐ๋ฆฌ๊ฐ ํํ ์ฐ๋ ๋ ธํธ๋ถ, ๋ฐ์คํฌํฑ ์ค์์ ๊ฐ์ฅ ์ฑ๋ฅ์ด ๋์ ํ๋ก์ธ์๋ฅผ ์ด์ผ๊ธฐ ํฉ๋๋ค. ์ฌ๋ฌ๋ถ๋ค์ด ์ฌ์ฉํ๋ PC์ ๋ฐ๋ผ์ ํ๋ก์ธ์๊ฐ ๋์ผ ์ฝ์ด์ผ ์๋ ์๊ณ , ์ฟผ๋ ์ฝ์ด์ผ ์๊ฐ ์์ต๋๋ค. ํ์ง๋ง ์ ๋ง ์ค๋๋ ์ปดํจํฐ๊ฐ ์๋๋ผ๋ฉด ์ฑ๊ธ ์ฝ์ด๋ฅผ ๊ฐ์ง๋ ๊ฒฝ์ฐ๋ ๊ฑฐ์ ์์ฃ โฆ ๊ทธ๋ฌ๋ ์ผ๋ง๋ ์ง ๋ณ๋ ฌ ์ฒ๋ฆฌ ์ค์ต์ ํ๋ ๋ฐ ์์ด ํฐ ๋ฌธ์ ๊ฐ ๋์ง ์์ ๊ฒ์ด๋ผ๊ณ ํ๋จํฉ๋๋ค.
When should use?
๊ทธ๋ ๋ค๋ฉด ์ฐ๋ฆฌ๋ ์ด๋ฌํ ๋ณ๋ ฌ ์ฒ๋ฆฌ๋ฅผ ์ด๋จ ๋ ์ฌ์ฉํด์ผ ํ ๊น์? ๋ํ์ ์ผ๋ก ์ ๋ ๋ณ๋ ฌ ์ฒ๋ฆฌ๋ฅผ ์๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ฐ์ ์ฌ๋ฌ ๋ช ์ ์ฌ์ฉ์๊ฐ ๋ฐ๋ณต์ ์ธ ์์ ์ ์์ฒญํ ๋ ๋ง์ด ์ฌ์ฉํ์์ต๋๋ค. ํ์ง๋ง R์ ์ฌ์ฉํด์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ํ ๊ฒฝ์ฐ์๋ ์๋ง์ ๋ฐ์ดํฐ ์งํฉ์ฒด๋ฅผ ๋ฐ๋ณตํด์ ์ฒ๋ฆฌํ ๋ ๋ง์ด ์ฌ์ฉํ์ฃ . ๋ฐ์ดํฐ๊ฐ ์ปค์ง๊ฑฐ๋ ๊ทธ ์์ด ๋ง์์ง๋ฉด ๋ฐ๋ณตํ๋ ํ์๋ ๋ง์์ง๋๊น์.
1 | len <- list.files("~/images", pattern = "\\.png$") |
์ฐ๋ฆฌ๊ฐ ํํ ์ด๋ฏธ์ง ์ฒ๋ฆฌ๋ฅผ ํ๋ ค๊ณ ์์ ์ ์คํ ๋ฆฌ์ง์ ์๋ ์ด๋ฏธ์ง๋ฅผ ๊บผ๋ด ๋ชจ๋ ์ด๋ฏธ์ง๋ฅผ Grayscale ์ฒ๋ฆฌ๋ฅผ ํ๋ ค๊ณ ํ๋ค๋ฉด ๋ณดํต์ ์ด๋ฌํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ๊ฒ์ ๋๋ค. (์์ ์ฝ๋๋ ์ค๋ช ์ ์ฝ๊ฒํ๊ธฐ ์ํด ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ ๊ฒ์ ๋๋ค.)
1 | lapply(len, function(x) { |
R์ ์ข ์ฌ์ฉํด๋ณด์ ๋ถ๋ค์ด๋ผ๋ฉด ์ด๋ฌํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด๋ ๋๊ฒ ์ง์? ๋ฐํ ๊ฐ์ ํด๋น ํ์ผ์ด ์ด๋ป๊ฒ ์ฒ๋ฆฌ๋์๋์ง์ ๋ํ ๋ง์ง๋ง ๋ฉ์์ง๋ฅผ ๋ฆฌ์คํธ๋ก ๋ฐํํด์ฃผ๊ธฐ ๋๋ฌธ์ ์ฒ๋ฆฌ๋ ๋งค์ฐ ์ ์ฉํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ํ์ง๋ง ์ฌ์ ํ ๋๊ฐ์ ๊ฒ์ ๊ฐ์ ๋์์ ๊ณ์ ๋ฐ๋ณตํ๋ค๋ ๊ฒ์ ๋๋ค.
์๋ฅผ ๋ค์ด ์ ๊ธฐ์ ์๋ ์ด๋ฏธ์ง๊ฐ 100,000๊ฐ ์๋ค๊ณ ์๊ฐํ์ฌ ๋ณด๊ฒ ์ต๋๋ค. ํ์ ๋ฐ๋ณต๋ฌธ์ ๋งจ ์ฒซ ์ด๋ฏธ์ง๊ฐ ๋ฐ๋ณต๋ฌธ์ ์ฝ๋๋ฅผ ์ฒ๋ฆฌํ๊ณ ๋๋ ๋๊น์ง ๋ค์ ์ด๋ฏธ์ง๋ ๊ณ์ ๋๊ธฐ ์ค์ธ ์ํ๋ก ๋จธ๋ฌผ๊ฒ ๋ฉ๋๋ค. ํ์ง๋ง ์ฐ๋ฆฌ๋ ์ฝ์ด๋ฅผ ์ฌ๋ฌ ๊ฐ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ์ฌ๊ณ ์๋ ์ฝ์ด๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ๋์ฑ ์ผ ์ฒ๋ฆฌ๊ฐ ๋นจ๋ผ์ง๊ฒ ์ฃ ?
์ด์ด์ ์ฝ์ผ์๋ ค๋ฉด ์๋์ ๋ฒํผ์ ํด๋ฆญํด์ฃผ์ธ์.
... ๊ณ์ ์ฝ๊ธฐ'Data Analysis > R' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[GP] R์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค(RDBMS)์ ์ฐ๊ฒฐํ๋ 3๊ฐ์ง ๋ฐฉ๋ฒ (0) | 2018.12.31 |
---|---|
[GP] R์ ๋ค์ํ ์๋ฃ๊ตฌ์กฐ๋ค (0) | 2018.08.26 |
[GP] R ํ๋ก๊ทธ๋๋ฐ๊ณผ ๋ฐ์ดํฐ-์ฒ๋ฆฌ (0) | 2018.08.04 |