Feature Engineering

sy_healingยท2022๋…„ 4์›” 15์ผ
0

Pandas ๊ธฐ์ดˆ -Data

๋ชฉ๋ก ๋ณด๊ธฐ
3/6

๐Ÿ’ก Feature Engineering

  • ํ”ผ์ฒ˜ ์—”์ง€๋‹ˆ์–ด๋ง์€ ๋” ๋‚˜์€ ๋ชจ๋ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์œ„ํ•ด Raw data๋กœ๋ถ€ํ„ฐ feature๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ ์žฌ๊ตฌ์„ฑํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.

Feature engineering์€ Feature selection, feature extraction, encoding ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ์ž์‹ ์˜ ๋„๋ฉ”์ธ ์ง€์‹๊ณผ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๊ฒฐํ•ฉํ•˜๊ฒŒ ๋œ๋‹ค.
โ–ช๏ธ Feature selection : ์—ฌ๋Ÿฌ feature๋“ค ๊ฐ€์šด๋ฐ์„œ ์ผ๋ถ€๋ฅผ ์„ ํƒํ•˜๋Š” ๊ณผ์ •
โ–ช๏ธ Feature extraction : ์ฃผ์–ด์ง„ feature๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ƒˆ๋กœ์šด feature๋กœ ์žฌ๊ตฌ์„ฑ
โ–ช๏ธ Encoding : ๋จธ์‹ ๋Ÿฌ๋‹์ด ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฌธ์ž๋ฅผ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ๋ชจ๋ธ ์„ฑ๋Šฅ์„ ๋†’์ด๋Š” ์ ˆ์ฐจ


โ—Na, Null, NaN, 0, Undefined ์˜ ์ฐจ์ด

๋‹ค๋ฅธ ์–ธ์–ด์—์„œ๋Š” ๊ฐ๊ฐ ๋‹ค๋ฅธ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„๋‹ค๊ณ  ํ•˜๋Š”๋ฐ python์—์„œ๋Š” NA์™€ Null์„ NaN์œผ๋กœ ํ‘œํ˜„ํ•จ.
0์€ ์‹ค์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ , Undefined๋Š” ์„ ์–ธ๋˜์ง€ ์•Š์€ ๋ณ€์ˆ˜์— ๋Œ€ํ•ด ์˜ค๋ฅ˜๋ฅผ ๋‚˜ํƒ€๋‚ผ ๋•Œ ๋‚˜์˜จ๋‹ค.

๐Ÿ“– python ์˜ˆ์ œ

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 ํ–‰์— ๋Œ€ํ•ด ํ•จ์ˆ˜ ์ ์šฉ

0๊ฐœ์˜ ๋Œ“๊ธ€