์๋ก์ด ํน์ฑ(ํน์ฑ๊ณตํ), ์ด์์น, Scaler, ๋ชจ๋ธ ์ฑ๋ฅ ํฅ์
1) ์๋ก์ด ํน์ฑ์ ๋ง๋ค ์ ์๋ค๋ฉด, ์ด๋ค ํน์ฑ๊ณตํ์ ํด ๋ณผ ์ ์์๊น์?
- BMI(๋น๋ง์ง์) = ๋ชธ๋ฌด๊ฒ / ํค^2 (ํค : [m], ๋ชธ๋ฌด๊ฒ : [kg])
- ๋์ฌ์ฆํ๊ตฐ ๊ฐ๋ฅ์ฑ : ์์ถ๊ธฐ ํ์๊ณผ ์ด์๊ธฐ ํ์ ์ฐจ์ด ์ฐธ๊ณ
- age / 365 ๋ฅผ ํตํด ๋์ด๋ก ๋ง์ถ๊ธฐ
2) ์์๋ผ์ด์ด๊ฐ ์๋ ํน์ฑ์ด ์๋ค๋ฉด, ์ด๋ค ๊ธฐ์ค์ผ๋ก ์ ๊ฑฐํ ์ ์์๊น์?
์ด ๋ถ๋ถ์ด ๋๋ฉ์ธ ์ง์๊ณผ ์ฐ๊ด์ด ํฐ ๊ฒ ๊ฐ์ต๋๋ค.
- ๋จผ์ boxplot๊ณผ ๊ฐ์ ์๊ฐํ ์๋ฃ๋ฅผ ํตํด์ ์ด์์น์ ์ ๋ฌด๋ฅผ ํ์ธ
- ํต๊ณ์น์ ๊ธฐ๋ฐํด์ ์์ ๋ฐ ํ์ %์ ๊ฐ์ ์ ๊ฑฐ
- ํน์ ๋๋ฉ์ธ ์ง์์ ๋์ ํด์ ์ด์์น์ ๋ํ ๊ธฐ์ค์ ์ก๊ณ ์ ๊ฑฐ
๊ณผ์ ์ ์์์์ ์ ๊ฐ์ ๊ฒฝ์ฐ๋ ๋จ์ํ ํต๊ณ์น๋ก ํ๊ฒ ๋๋ ๋ชธ๋ฌด๊ฒ๊ฐ 100kg๋ง ๋์ด๊ฐ๋ ์ ๊ฑฐ๊ฐ ๋์ด๋ฒ๋ ค์ ๋ฐ๋ก ๋๋ฉ์ธ ์ง์์ ์์น ํน์ ์์์ (๊ต์ฅํ ์ฃผ๊ด์ ์ด์ง๋ง)์ ์ํด ์ด์์น๋ฅผ ์ ๊ฑฐํ์์ต๋๋ค.
# ์์น๊ฐ์ ๋ํ ์ด์์น ์กด์ฌ ๊ฐ๋จํ ํ์ธ
df['height'].min(), df['height'].max()
df['weight'].min(), df['weight'].max()
# ๊ฐ ์๊ฐํ ์๋ฃ ๋ฐ ์์์ (๋๋ฉ์ธ)์์ ์ด์์น์ ๋ํ ๊ธฐ์ค์ ์ก๊ณ ๋ฐ์ดํฐ ์ ๋ณ
df = df[(df['height'] >= 140) & (df['height'] <= 200)]
df = df[(df['weight'] >= 30) & (df['weight'] <= 150)]
df = df[(df['ap_hi'] >= 30) & (df['ap_hi'] <= 200)]
df = df[(df['ap_lo'] >= 30) & (df['ap_lo'] <= 200)]
df = df[df['ap_lo'] < df['ap_hi']]
3) feature scaling ๋ฌธ์๋ฅผ ๋ณด๋ฉด ์ฌ๋ฌ๊ฐ์ง ์ข ๋ฅ์ Scalar๊ฐ ์๋๋ฐ, ๊ฐ Scalar๋ ๊ฐ๊ฐ ์ด๋ค ์ํฉ์ ์ ์ฉํ๋ฉด ์ข์๊น์? ๋ณธ ๋ฐ์ดํฐ์์๋ ์ด๋ค scalar๋ฅผ ์ ์ฉํด๋ณผ ์ ์์๊น์?
StandardScaler
๊ฐ ์ฐจ์(์ปฌ๋ผ)์ ๋จ์๋ฅผ ๋ง์ถฐ์ค๋๋ค ๊ทธ๋ฌ๋ ์ด์์น๊ฐ ์กด์ฌํ๋ค๋ฉด ํ๊ท ๊ณผ ํ์คํธ์ฐจ์ ์ํฅ์ ๋ผ์ณ ๊ท ํ์กํ ์ฒ๋๋ฅผ ๋ณด์ฅํ ์ ์์ต๋๋ค.
MinMaxScaler
๋ชจ๋ ๋ณ์์ ๊ฐ์ด 0 ~ 1 ์ฌ์ด์ ์๋๋ก ๋ฐ์ดํฐ๋ฅผ ์กฐ์ ํฉ๋๋ค. ๋ค๋ง, ์ด์์น๊ฐ ์กด์ฌ ์ ๋ณํ๋ ๊ฐ์ด ๋งค์ฐ ์ข์ ๋ฒ์๋ก ์์ถ๋ ์ ์์ต๋๋ค. ์ฆ, ์ด์์น์ ๊ต์ฅํ ๋ฏผ๊ฐํฉ๋๋ค.
MaxAbsScaler
์ ๋๊ฐ์ด 0 ~ 1 ์ฌ์ด์ ์๋๋ก ์กฐ์ ํฉ๋๋ค. ์ฆ, -1 ~ 1 ์ฌ์ด๋ก ์กฐ์ ํ๊ฒ ๋ฉ๋๋ค. ์์ ๋ฐ์ดํฐ๋ก๋ง ๊ตฌ์ฑ๋ ๋ฐ์ดํฐ์ ์์ MinMaxScaler์ ์ ์ฌํ๊ฒ ๋์ํฉ๋๋ค.
RobustScaler
์ด์์น์ ์ํฅ์ ์ต์ํํ ๊ธฐ๋ฒ์ ๋๋ค. ์ค์๊ฐ๊ณผ IQR์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ StandardScaler์ ๋น๊ต ์ ๋์ผํ ๊ฐ์ ๋ ๋๊ฒ ๋ถํฌ์ํค๊ณ ์์์ ํ์ธํ ์ ์์ต๋๋ค.
์ผ๋จ ๊ณผ์ ๋ฐ์ดํฐ์์ StandardScaler๋ฅผ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒ ๊ฐ๊ณ , ์ฐ์ํ ๋ฐ์ดํฐ์ ์๊ฐ๋ณด๋ค ์ด์์น๋ค์ด ๋ง์ด ์์ด์ RobustScaler๋ ์ ํฉํด๋ณด์ ๋๋ค.(๋ค๋ง, ์ด์์น๋ ๊ทธ ์ ์ ์ ๊ฑฐ๊ฐ ์ ํ๋๋ ๊ฒ ๊ฐ์ฅ ์ข๋ค๊ณ ์๊ฐํฉ๋๋ค.)
4. ๋ชจ๋ธ ์ฑ๋ฅ์ ๋์ด๊ธฐ ์ํด ์ด๋ค ํ๋์ ์ถ๊ฐํด ๋ณผ ์ ์์๊น์?
๋ช
๋ชฉํ ์๋ฃ๋ฅผ 0๊ณผ 1๋ก ์ธ์ฝ๋ฉํด์ฃผ๋ OneHotEncoder, ๊ฒฐ์ธก์น๋ฅผ ์ฑ์์ฃผ๋ Simplimputer, ๋คํญ์ ํํ์ ์ปฌ๋ผ์ ๋ง๋ค์ด์ฃผ๋ PolynomialFeatures ๋ฑ๋ฑ์ ์ ์ฒ๋ฆฌ ์๋ฃ ํ๋์ด ์์ต๋๋ค.
๋ํ, sklearn์ ์ฌ๋ฌ ๋ชจ๋ธ์์ ์ฌ๋์ด ๋ฐ๊ฟ ์ ์๋ ์ธ์(Hyper parameter)๋ฅผ ์กฐ์ ํด์ฃผ๋ ๋ฐฉ๋ฒ์ด ์์ ๊ฒ ๊ฐ์ต๋๋ค.
์ด์์ ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.