1. LabelEncoder() : target values๋ฅผ 0~(ํด๋์ค ๊ฐ์-1) ์ฌ์ด ์ ์๋ก ์ธ์ฝ๋ฉ
โพ ๋ณํ ์ ์ํ๋ฒณ/ํ๊ธ ์์๋ฅผ ๋ฐ์ํ๋ค. → a, ใฑ: 0
โพ input์ด ์๋ target values๋ง ์ ์ฉ๋์ด์ผ ํ๋ค. ์์ธํ
from sklearn.preprocessing import LabelEncoder, OneHotEncoder, MinMaxScaler, StandardScaler
le = LableEncoder()
label = np.array(['dog', 'cat', 'tiger', 'rabbit', 'pig'])
le.fit_transform(label)
2. OneHotEncoder() : ๋ฒ์ฃผํ feature๋ฅผ one-hot numeric array๋ก ๋ณํ
โพ sparse=False๋ก ์ค์ ํ๋ฉด ๊ฒฐ๊ณผ๊ฐ array ํํ๋ก ๋ฆฌํด๋๋ค. (๊ธฐ๋ณธ๊ฐ์ True → matrix ํํ๋ก ๋ฆฌํด)
โพ ๋ฐฐ์ด์ ์ด์ฉํ๋ฉด one-hot encoding์ ์ฌ๋ฌ feature์ ํ๊บผ๋ฒ์ ์ ์ฉํ ์ ์๋ค.
ohe = OneHotEncoder(sparse=False, handle_unknown='ignore')
X = [['Male', 1], ['Female', 3], ['Female', 2]]
ohe.fit(X)
ohe.transform(([['Female', 1], ['Male', 4]]))
sci-kit learn์์ ์ฌ๋ ค๋์ ์์ ์คํ ๊ฒฐ๊ณผ ์ดํดํ๋ ๋ฐ ์ง์ง ์ค๋ ๊ฑธ๋ ธ๋ค. ๊ทผ๋ฐ ๋ง๊ฒ ์ดํดํ๊ฑด์ง๋ ๋ชจ๋ฆ ๐คฆโ๏ธ
โ ๋ง์ง๋ง ์ค ์ฝ๋ ๋ฐ ์คํ ๊ฒฐ๊ณผ ๋ถ์
โฝ ohe.transform(([['Female', 1], ['Male', 4]]))
๋ฐฐ์ด X๋ฅผ ๋ง๋ค์ด๋จ์ง๋ง ๊ฒฐ๊ตญ์ ['Female', 1]๊ณผ ['Male', '4']์ ์ํซ์ธ์ฝ๋ฉ์ ์ ์ฉํ๋ค๋ ์๋ฏธ
โฝ handle_unknown='ignore'
fit ๋จ๊ณ์์ ์ฌ์ฉํ ๋ฐฐ์ด์ ์๋ ๊ฐ(=4)์ด ์๊ธฐ ๋๋ฌธ์ ์ด ๊ฐ์ ๋ฃ์ด์ฃผ๋ฉด ValueError ๋ฌธ๊ตฌ ์์ด ์ ์ ์คํ
โฝ ['Female', 1] → [1, 0, | 1, 0, 0]
๋ฌธ์์ ์ซ์ 2๊ฐ๋ง ์ํซ์ธ์ฝ๋ฉ ํ๋๋ฐ ์คํ ๊ฒฐ๊ณผ์์๋ ๋ฐฐ์ด ์์๊ฐ 5๊ฐ๋ ๋๊ธธ๋ ์ด๊ฒ ๋๋ฌด ์ดํด๊ฐ ์๋์๋ค ใ
โ ์คํ ๊ฒฐ๊ณผ ๊ฐ ๋ฐฐ์ด ์์๊ฐ 5๊ฐ์ธ ์ด์
fit ์ ์ ๋ง๋ค์ด์ค ๋ฐฐ์ด X๋ฅผ ๋ณด๋ฉด ๋ฌธ์๋ ๋ ์ข ๋ฅ์ด๊ณ ์ซ์๋ ์ธ ์ข ๋ฅ๋ค. ๋๋ฒ์งธ ์ธ๋ฑ์ค๊น์ง๋ ๋ฌธ์์ ๋ํ ์ํซ์ธ์ฝ๋ฉ ๊ฒฐ๊ณผ๊ฐ ์ ์ฅ๋๊ณ ์ธ๋ฒ์งธ ์ธ๋ฑ์ค๋ถํฐ ๋ง์ง๋ง ์ธ๋ฑ์ค์๋ ์ซ์์ ๋ํ ์ํซ์ธ์ฝ๋ฉ ๊ฒฐ๊ณผ๊ฐ ์ ์ฅ๋๋ค.
โ [4] → [0, 0, 0]
์ธ ๊ฐ์ ์ซ์๋ก fit ํจ์๋ฅผ ์ ์ฉ์์ผฐ๊ธฐ ๋๋ฌธ์ encoder์๋ ์ซ์ ์ธ ๊ฐ๋ง ๋ํ๋ผ ์ ์๋ ๊ณต๊ฐ์ด ๋ง๋ค์ด์ง ๊ฑธ๋ก ์๊ฐํ๋ฉด ๊ธ๋ฐฉ ์ดํด๊ฐ ๋ ๊ฒ ๊ฐ๋ค. handle_unknown = ~ ์ ์ค์ ํด์ ์๋ก์ด ๊ฐ์ ๋ฃ์ด๋ API ๋ด๋ถ์์๋ ์ด์์์ด ๋์๊ฐ์ง๋ง, ๋์ ๋ณด์ด์ง๋ ์๋ ๊ทธ๋ฐ ๋๋!
'Artificial Intelligence > ๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ ๋ฆฌ] train_test_split์ ์ด์ฉํ ๋ฐ์ดํฐ์ ๋ถํ (0) | 2022.03.17 |
---|---|
[๊ฐ๋ ] ํฌ์ ํํ / ๋ฐ์ง ํํ (0) | 2022.03.10 |
[๊ฐ๋ ] object detection ๊ด๋ จ ์ฉ์ด ์ ๋ฆฌ (1) (0) | 2021.11.16 |
[๊ฐ๋ ] Crossentropy (0) | 2021.05.26 |
[๊ฐ๋ ] Tensor (0) | 2021.05.11 |