FE
1. Feature Engineering์ด๋?
Feature Engineering์ ๋ฐ์ดํฐ ๋ถ์๋ณด๋ค๋ ๋จธ์ ๋ฌ๋/๋ฅ๋ฌ๋์์ ๋ ๋ง์ด ์ฐ์ด๋ ์ฉ์ด์ ๋๋ค. EDA๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ํ์ํด๋ณด์๋ค๋ฉด ์ด๋ค ๋ฐ์ดํฐ๊ฐ ๋ถ์์ ์ ์ฉํ๊ฒ ์ฐ์ผ ์ ์์์ง ๋๋ต์ ์ธ ํ์ ์ด ๋์ ๊ฒ์ ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด์ ๋ ์ต์ข ์ ์ผ๋ก ๋ชจ๋ธ๋ง์ ์ด๋ค ๋ณ์๋ฅผ ์ฌ์ฉํ ์ง ๊ฒฐ์ ํด์ผ ํ ๋์ ๋๋ค. Feature Engineering์ EDA๋ฅผ ํตํด ์์๋ธ ๋ฐ์ดํฐ์ ๋ํ ์ดํด๋ฅผ ๋ฐํ์ผ๋ก Feature๋ฅผ ์์ฑํ๊ฑฐ๋ ์ ํํ๋ ์์ ์ ํฌํจํ์ฌ, ์ ํํ Feature๋ค์ ๋ชจ๋ธ๋ง์ Input์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ ๊น์ง ํ์ํ ๋ชจ๋ ๊ณผ์ (Imputation, Outlier Handling, Log transformtation, Encoding, Scaling ๋ฑ)์ ์๋ฏธํฉ๋๋ค.
2. Feature Engineering์ ๋ชฉ์
Feature Engineering์ ๋ชฉ์ ์ ๊ฒฐ๊ตญ ๋ชจ๋ธ๋ง์ ์ฑ๋ฅ์ ์ฌ๋ฆฌ๋ ๊ฒ์ ๋๋ค. ์ฃผ์ด์ง ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํด ๋ชจ๋ธ๋ง์ ํ๋ฉด ์ข์ ์ฑ๋ฅ์ด ๋์ฌ ๊ฒ ๊ฐ์ง๋ง, ์ค์ ๋ก๋ ๊ทธ๋ ์ง ์์ต๋๋ค. ๋ค์ค๊ณต์ ์ฑ ๋ฑ์ ์ด์ ๋ก ์ธํด ์ ์ฉํ Feature๋ค๋ง ์ ํํด์ ๋ถ์ํ๋ ๊ฒ์ด ํจ์ฌ ์ ํํ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด๋ ๋๋ค. ๋ํ ์ ํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋๋ก ๋ชจ๋ธ๋ง์ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ๋ฐ์ดํฐ์ ํน์ฑ์ ๋ฐ๋ผ Imputation, Scaling, Log transformation ๋ฑ์ ๊ฐ๊ณต์ ๋ํด์ฃผ๋ ๊ฒ์ด ํจ์ฌ ์ข์ ๋ชจ๋ธ๋ง ์ฑ๋ฅ์ ๋ผ ์ ์์ต๋๋ค. ๊ตฌ์ฒด์ ์ธ ์ด์ ์ ๋ํด์๋ ์ดํ Feature Engineering์ ์ข ๋ฅ๋ฅผ ์ค๋ช ํ๋ฉฐ ๊ฐ์ด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
3. Feature Engineering์ ์ข
๋ฅ
1) Feature Creation
Feature Creation์ด๋ ๋ชจ๋ธ์ ์ ์ฉํ๋ค๊ณ ํ๋จ๋๋ ๋ ๋ฆฝ๋ณ์๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. Feature Creation์ ๊ผญ ์ธ๋ถ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ ๋ฟ๋ง ์๋๋ผ ๊ธฐ์กด์๋ ์กด์ฌํ์ง ์์์ง๋ง ๊ธฐ์กด ์ปฌ๋ผ๋ค์ ์กฐํฉํ์ฌ ๋ง๋ค ์ ์๋ ๋ณ์๋ฅผ ์ถ๊ฐํ๋ ๊ฒ๋ ํฌํจ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ธ๊ตฌ์ ๋ฉด์ ์ด ๋ ๋ฆฝ๋ณ์๋ก ์ฃผ์ด์ ธ ์์ ๋, ์ธ๊ตฌ๋ฅผ ๋ฉด์ ์ผ๋ก ๋๋ ์ธ๊ตฌ๋ฐ๋ ๋ณ์๋ฅผ ์ถ๊ฐํ๋ ๊ฒ๋ Feature Creation์ ํด๋นํฉ๋๋ค. ์ข ์๋ณ์๋ฅผ ์ค๋ช ํ ์ ์๋ ๋ณ์๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ๋น์ฐํ๊ฒ๋ ์ข์ ์ฑ๋ฅ์ ๋์์ ์ค ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ชฉํ๋ก ํ๋ ์ข ์๋ณ์๋ฅผ ์ค๋ช ํ ์ ์๋ ๋ณ์๋ค ์ค ์์ง ๊ณ ๋ ค๋์ง ์์ ๊ฒ์ด ์๋์ง ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ฒํ ํด๋ณด์์ผ ํฉ๋๋ค.
2) Feature Extraction
Feature Extraction์ด๋ ์ ์ฉํ ์ ๋ณด๋ผ๊ณ ์์๋๋ Feature๋ง ์์ถํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ํนํ ๋ ๋ฆฝ๋ณ์๋ค ๊ฐ ์๊ด๊ด๊ณ๊ฐ ๋์ ๋์๋ ๋ค์ค๊ณต์ ์ฑ์ ์ ๊ฑฐํ๊ธฐ ์ํด ๋ณ์๋ฅผ ์ค์ด๋ ๊ฒ์ด ์ ๋ฆฌํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋น๋ง๋๋ฅผ ์์ธกํ๊ธฐ ์ํด ํค์ ๋ชธ๋ฌด๊ฒ๋ฅผ ๋ชจ๋ ๋ณ์๋ก ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค, ํค์ ๋ชธ๋ฌด๊ฒ ์ค ๋น๋ง๋์ ๋ ํฐ ์ํฅ์ ์ค ๊ฒ์ผ๋ก ์์๋๋ ๋ชธ๋ฌด๊ฒ๋ง์ ๋ณ์๋ก ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ์ด๋ ํค์ ๋ชธ๋ฌด๊ฒ ์์ฒด์ ์๊ด๊ด๊ณ๊ฐ ๋๊ธฐ ๋๋ฌธ์ ์์ธก์ ์ ์ํฅ์ ๋ผ์น ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
3) Imputation
Imputation์ ์ ์
Imputation์ด๋ ๊ฒฐ์ธก์น๋ฅผ ์ฑ์ฐ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๋จธ์ ๋ฌ๋/๋ฅ๋ฌ๋์ ํ ๋ ๊ฐ์ฅ ๋ํ์ ์ธ ์ ์ฒ๋ฆฌ๊ฐ ๊ฒฐ์ธก์น ์ฒ๋ฆฌ์ ๋๋ค. ๊ฒฐ์ธก์น๋ Human Error๋ Data Flow Interruption ๋ฑ์ ์ํด ๋ฐ์ํ ์ ์์ต๋๋ค. ๊ฒฐ์ธก์น๋ ๊ฒฐ์ธก์น์ ๋น์จ์ด ์ผ๋ง๋ ๋์์ง, ํด๋น ๋ณ์๊ฐ ์ฐ์ํ์ธ์ง ๋ฒ์ฃผํ์ธ์ง์ ๋ฐ๋ผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ด ๋ค๋ฆ ๋๋ค.
๋ฐ์ดํฐ์ ๋ฐ๋ฅธ Imputation ๋ฐฉ๋ฒ
๊ฒฐ์ธก๊ฐ์ ๋น์จ์ ๋ฐ๋ฅธ ๊ฒฐ์ธก์น ์ฒ๋ฆฌ ๋ฐฉ๋ฒ
๊ฒฐ์ธก๊ฐ์ด 10% ์ดํ์ผ ๊ฒฝ์ฐ, ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ง์ฐ๊ฑฐ๋ ๋์นํฉ๋๋ค.
๊ฒฐ์ธก๊ฐ์ด 10% ์ด์์ผ ๊ฒฝ์ฐ, ๋ณ์๋ฅผ ์ ๊ฑฐํ๊ฑฐ๋ ๋์นํฉ๋๋ค.
๋ณ์ ์ ํ์ ๋ฐ๋ฅธ ๊ฒฐ์ธก์น ์ฒ๋ฆฌ ๋ฐฉ๋ฒ
์ฐ์ํ ๋ณ์์ ๊ฒฝ์ฐ, 0์ผ๋ก ๋์นํ๊ฑฐ๋ ํ๊ท ๋์น๋ฒ ๋ฑ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฒ์ฃผํ ๋ณ์์ ๊ฒฝ์ฐ, ๊ฐ์ฅ ๋น๋๊ฐ ๋์ ๋ฒ์ฃผ๋ก ๋์นํ๊ฑฐ๋ Knn ๋์น๋ฒ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Imputation์ ์ข ๋ฅ
์ ๊ฑฐ
๋ฐ์ดํฐ์ ๊ฐ์๊ฐ ์ ์ ๊ฒฝ์ฐ, ๋จ์ ์ ๊ฑฐ๋ ๋ฐ๋์งํ์ง ์์ต๋๋ค. ๋ฐ์ดํฐ๊ฐ ๋ง์ ์๋ก ๋ชจ๋ธ์ด ๋ค์ํ ๋ฐ์ดํฐ๋ฅผ ํ์ตํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ง๋ง ์ ์ฒด ๋ฐ์ดํฐ ๊ฐ์์ ๋นํด ๊ฒฐ์ธก ๋ฐ์ดํฐ ๊ฐ์๊ฐ ๋งค์ฐ ์ ๊ณ , ์ ์ ํ ๋์น๊ฐ์ด ์๋ค๋ฉด ์ ๊ฑฐํ๋ ๊ฒ์ด ๋ฐ๋์งํฉ๋๋ค. ๊ฒฐ์ธก์น๋ฅผ ์๋ชป ๋์นํด ์ค๋ฅ๊ฐ ์๋ ๋ฐ์ดํฐ๋ฅผ ํ์ต์ํค๋ ๊ฒ ์ญ์ ๋ชจ๋ธ ์ฑ๋ฅ์ ์ ์ํฅ์ ๋ฏธ์น๊ธฐ ๋๋ฌธ์ ๋๋ค.
ํ๊ท ๋์น๋ฒ
ํ๊ท ๋์น๋ฒ์ ์ฐ์ํ ๋ณ์์ ๊ฒฐ์ธก๊ฐ์ ์ฌ์ฉํ๋ ๋ํ์ ์ธ ๋์น๋ฒ์ผ๋ก, ์ฌ์ฉ ๋ฐฉ๋ฒ์ด ๊ฐ๋จํ๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค. ํ์ง๋ง ๊ด์ธก๋ ์๋ฃ๋ฅผ ํ ๋๋ก ํ ์ถ์ ๊ฐ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์๋ฒฝํ ๋์น ๋ฐฉ๋ฒ์ ์๋๋ผ๊ณ ํ ์ ์์ต๋๋ค.
Knn ๋์น
Knn ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ์์ธกํ๊ณ ์ ํ๋ ๋ฐ์ดํฐ๋ก๋ถํฐ ๊ฐ์ฅ ๊ฐ๊น์ด k๊ฐ ์ด์์ ์ฐพ์ ๋ค, ์ด๋ค ์ด์์ผ๋ก๋ถํฐ ์์ธกํ๊ณ ์ ํ๋ ๋ฐ์ดํฐ์ ๋ถ๋ฅ๋ฅผ ์ ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ํด๋น ๋ฐฉ๋ฒ์ ๋ค๋ฅธ ๋ณ์๋ค์ด ๋น์ทํ์ ๋์ ๊ฒฐ์ธก๊ฐ์ ๊ฐ์ฅ ๊ทธ๋ด ๋ฏํ ๋ถ๋ฅ๋ฅผ ์์๋ด๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ์ฅ ๋น๋๊ฐ ๋์ ๋ฒ์ฃผ๋ก ๊ฒฐ์ธก๊ฐ์ ๋์นํ๋ ๊ฒ๋ณด๋ค ์ค๋ฅ๋ฅผ ๋ฒํ ๊ฐ๋ฅ์ฑ์ด ์ ๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
4) Outlier Handling
Outlier์ ์ ์ ๋ฐ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ
์ด์์น๋ ๋ณ์์ ๋ถํฌ์์ ๋น์ ์์ ์ผ๋ก ๋ฒ์ด๋ ๊ฐ์ ์๋ฏธํฉ๋๋ค. ๊ฒฐ์ธก์น์ ๋ง์ฐฌ๊ฐ์ง๋ก Human Error, Data Flow Interruption ๋ฑ์ ์ํด ๋ฐ์ํ ์ ์์ต๋๋ค. ๋ํ ํด๋น ๋ณ์๊ฐ ๋ณธ๋ ๊ฐ์ง๊ณ ์๋ ๋ณ๋์ฑ ๋๋ฌธ์ ์ด์์น๊ฐ ๋ฐ์ํ ์๋ ์์ต๋๋ค. ํด๋น ๋ณ์์ ๋ณ๋์ฑ ๋๋ฌธ์ ๋ฐ์ํ ์ด์์น๋ผ๊ณ ํ ์ง๋ผ๋ ๋ค๋ฅธ ๊ฐ๋ค๊ณผ์ ์ฐจ์ด๊ฐ ํฌ๋ฉด ๋ชจ๋ธ์ ์ฑ๋ฅ์ ์์ข์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ๋ฐ๋ผ์ ์ ๊ฑฐ ๋๋ ์ํ/ํํ ๊ฐ์ผ๋ก ๋์ฒดํ๋ ๋ฐฉ์์ด ํ์ํฉ๋๋ค.
Outlier ํ์ ๋ฐฉ๋ฒ
Boxplot

์ถ์ฒ:https://www.kdnuggets.com/2019/11/understanding-boxplots.html
๊ฐ์ฅ ๋ง์ด ์๋ ค์ง ๋ฐฉ๋ฒ์ Boxplot์ ๋๋ค. Boxplot์ Q3 + 1.5*(Q3-Q1)์ด๋ฉด upper outlier๋ก, Q1 - 1.5*(Q3-Q1)์ด๋ฉด lower outlier๋ก ๊ท์ ํฉ๋๋ค.
3-Sigma

์ถ์ฒ:https://news.mit.edu/2012/explained-sigma-0209
3-Sigma๋ ์ผ๋ณ๋ ์๋ฃ๋ค ์ค ๐ต + 3๐ผ ๋ฅผ ๋ฒ์ด๋๋ ๊ฒ๋ค์ ์ด์๊ฐ์ด๋ผ๊ณ ๊ท์ ํฉ๋๋ค. ์ ๊ท ๋ถํฌ๋ฅผ ๋ฐ๋ฅด๋ ๋ฐ์ดํฐ์ ๊ฒฝ์ฐ, 99.7%์ ํ๋ฅ ๋ก ๐ต + 3๐ผ ๋ด์ ์กด์ฌํ๋ค๋ ์ฌ์ค์ ๊ทธ ๊ธฐ๋ฐ์ ๋๊ณ ์์ต๋๋ค. ํ์ง๋ง ๋๋ถ๋ถ์ ๋ฐ์ดํฐ๊ฐ ์ ๊ท ๋ถํฌ๋ฅผ ๋ฐ๋ฅด์ง ์๋๋ค๋ ์ ์ ๋ช ์ฌํด์ผ ํฉ๋๋ค. ์ด๋ ๊ฒ ๋ฐ์ดํฐ์ Skewness๊ฐ ์ฌํ ๊ฒฝ์ฐ, ์ด์์น๋ฅผ ์ฒ๋ฆฌํ ๋ ํ๊ท ๋์ ์ค์๊ฐ์ผ๋ก ๋์นํ์ฌ์ผ ํฉ๋๋ค.
Encoding
Encoding์ ์ ์
Encoding์ด๋ ๋ฒ์ฃผํ ์ปฌ๋ผ์ ๋ชจ๋ธ๋ง์ ์ฌ์ฉํ๊ณ ์ ํ ๋ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ชจ๋ธ๋ง์ ํ๊ณ ์ ํ ๋, ๋ฒ์ฃผํ ๋ณ์๋ ๊ทธ๋๋ก ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ๋ฐ๋์ ์ซ์ ํํ์ ๊ฐ์ผ๋ก ๋ฐ๋์ด์ผ ํฉ๋๋ค. Encoding์๋ ๋ค์ํ ๋ฐฉ๋ฒ์ด ์์ง๋ง, ์ฌ๊ธฐ์๋ Encoding ์ค ๊ฐ์ฅ ๋๋ฆฌ ์ฐ์ด๋ ๋ฐฉ๋ฒ์ธ One-hot Encoding์ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
One hot Encoding

One-Hot Encoding์ด๋ ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ํด๋น ์ปฌ๋ผ์ ์กด์ฌํ๋ ๋ชจ๋ ๋ฒ์ฃผ ๊ฐ๊ฐ์ ์๋ก์ด ๋ณ์(Dummy Variables)๋ก ๋ง๋ค์ด 0๊ณผ 1๋ก ์ด๋ค ๋ฒ์ฃผ์ ์ํ๋ ์ง๋ฅผ ํ๊ธฐํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. One-hot encoding Integer Encoding์ ๋ฐ์ ๋ ํํ๋ก, ๋ฒ์ฃผ ๊ฐ ๊ด๊ณ๊ฐ ์ ํ ์๋ค๋ ๊ฒ์ ๊ฐ์ ํ๊ณ ์์ต๋๋ค. ํ์ง๋ง ๋ฒ์ฃผ์ ๊ฐ์๊ฐ ๋งค์ฐ ๋ง์ ๊ฒฝ์ฐ, ๋ฒ์ฃผ์ ๊ฐ์๋งํผ ์ปฌ๋ผ์ด ์ถ๊ฐ๋ก ์์ฑ๋์ด ํฌ์ํ๋ ฌ(Sparse Matrix, ํ๋ ฌ์ ๊ฐ์ด ๋๋ถ๋ถ 0์ธ ํ๋ ฌ)์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
Last updated