- ํผ์ฒ ์์ง๋์ด๋ง์ ๋ ๋์ ๋ชจ๋ธ ์๊ณ ๋ฆฌ์ฆ์ ์ํด Raw data๋ก๋ถํฐ feature๋ฅผ ๋ง๋ค๊ฑฐ๋ ์ฌ๊ตฌ์ฑํ๋ ๊ณผ์ ์ด๋ค.
Feature engineering์ Feature selection, feature extraction, encoding ๊ณผ์ ์ ๋ฐ๋ณตํ๋ฉด์ ์์ ์ ๋๋ฉ์ธ ์ง์๊ณผ ๋ฌธ์ ์ ๋ํ ์ดํด๋ฅผ ๊ฒฐํฉํ๊ฒ ๋๋ค.
โช๏ธ Feature selection : ์ฌ๋ฌ feature๋ค ๊ฐ์ด๋ฐ์ ์ผ๋ถ๋ฅผ ์ ํํ๋ ๊ณผ์
โช๏ธ Feature extraction : ์ฃผ์ด์ง feature๋ฅผ ๋ฐํ์ผ๋ก ์๋ก์ด feature๋ก ์ฌ๊ตฌ์ฑ
โช๏ธ Encoding : ๋จธ์ ๋ฌ๋์ด ํ์ตํ ์ ์๋๋ก ๋ฌธ์๋ฅผ ์ซ์๋ก ๋ณํํ๊ณ ๋ชจ๋ธ ์ฑ๋ฅ์ ๋์ด๋ ์ ์ฐจ
๋ค๋ฅธ ์ธ์ด์์๋ ๊ฐ๊ฐ ๋ค๋ฅธ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ค๊ณ ํ๋๋ฐ python์์๋ NA์ Null์ NaN์ผ๋ก ํํํจ.
0์ ์ค์๋ฅผ ๋ํ๋ด๊ณ , Undefined๋ ์ ์ธ๋์ง ์์ ๋ณ์์ ๋ํด ์ค๋ฅ๋ฅผ ๋ํ๋ผ ๋ ๋์จ๋ค.
Feature engineering ํ๋ฉด์ ์์ฃผ ์ฌ์ฉํ๋ python method ์ ๋ฆฌ
.replace('๊ธฐ์กด๊ฐ', '๋ฐ๊ฟ๊ฐ')
teststring = '35,312' # datatype = str
teststring.replace(',', '') # ,๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๋ณํ
print(teststring) # 35312
pd.astype(dtype) # ๋ชจ๋ ์ด์ ๋ฐ์ดํฐ ํ์
๋ณ๊ฒฝ
pd.astype({'์ปฌ๋ผ๋ช
':dtype}) # ๋ชจ๋ ํ์ ๋ฐ์ดํฐ ํ์
๋ณ๊ฒฝ
pd.to_numeric(arg) # ์ ๋ฌ๋ ์ธ์๋ฅผ ์ซ์ ์ ํ์ผ๋ก ๋ณ๊ฒฝ
.apply() # pandas ๊ฐ์ฒด์ ์ด or ํ์ ๋ํด ํจ์ ์ ์ฉ