๋ฒ์ฃผํ ์๋ฃ๋ฅผ ๋จธ์ ๋ฌ๋์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํด์๋ ์๋ฃ๋ฅผ ๋ณํํด์ฃผ์ด์ผ ํฉ๋๋ค.
๋ณธ๊ฒฉ์ ์ผ๋ก ์๋ฃ ๋ณํ๋ฒ์ ๋ค๋ฃจ๊ธฐ ์ , ์ฌ์ฉํ ๋ฐ์ดํฐ์ ๋ํด ๋จผ์ ์์๋ณด๊ฒ ์ต๋๋ค :)
๋ฒ์ฃผํ ์๋ฃ๋ฅผ ๋ณํํ๊ธฐ ์ํด์ ์๋์ ํ์ดํ๋ ์์กด์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ๊ฒ์ ๋๋ค.
์๋ ํ๋ ๋ฐ์ดํฐ์ ๋ํ ์ค๋ช ์ ๋๋ค.
๋ฒ์ฃผํ ๋ฐ์ดํฐ๋ ๋ช ๊ฐ์ ๋ฒ์ฃผ๋ก ๋๋์ด์ง ์๋ฃ์ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ํ์ดํ๋ ์์กด์ ๋ฐ์ดํฐ์์๋ ์ด๋ค ํญ๋ชฉ์ด ๋ฒ์ฃผํ ์๋ฃ์ผ๊น์?
PassengerId๋ฅผ ๋ณด๋ฉด ๊ฐ ์น๊ฐ์ ๊ณ ์ ๋ฒํธ์ ๋ง๊ฒ ๋ฐ์ดํฐ๋ฅผ ๋๋๊ณ ,
Survived๋ ์์กดํ๋ ์ํ๋๋ฅผ ์ซ์๋ก ์ฎ๊ฒผ๊ณ ,
Pclass๋ ๋ฑ๊ธ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๊ฐ ๋๋ฉ๋๋ค.
Name์ ์์ด ๋ง์ ๋ฒ์ฃผํ ๋ฐ์ดํฐ๋ผ๊ณ ์๊ฐํ ์ ์์ต๋๋ค!
์ด์ธ์ Sex, Ticket, Cabin, Embarked๋ ๋ฒ์ฃผํ ์๋ฃ์ ํด๋นํฉ๋๋ค.
(๋์ด, ์์์ ์, ๋ฐฐ์ฐ์์ ์, ์๊ธ์ ์์นํ ์๋ฃ์ ๋๋ค.)
๋ฒ์ฃผํ ์๋ฃ์ ์ข ๋ฅ
๋ฒ์ฃผ์ ํฌ๊ธฐ๊ฐ ์๋ฏธ ์๋ค๋ฉด ๋ช ๋ชฉํ ์๋ฃ
ํฌ๊ธฐ๊ฐ ์๋ฏธ ์๋ค๋ฉด ์์ํ ์๋ฃ๋ก ์๊ฐํ ์ ์์ต๋๋ค.
๋ํ์ ์ธ ๋ฒ์ฃผํ ์๋ฃ ๋ณํ ๋ฐฉ์
๋ช ๋ชฉํ ์๋ฃ
- ์์น ๋งคํ ๋ฐฉ์
- ๋๋ฏธ(Dummy) ๊ธฐ๋ฒ
๋ช ๋ชฉํ ์๋ฃ
- ์์น ๋งคํ ๋ฐฉ์
๋ช ๋ชฉํ ์๋ฃ ๋ณํ - ์์น ๋งคํ ๋ณํ
์ผ๋ฐ์ ์ผ๋ก ๋ฒ์ฃผ๋ฅผ 0, 1๋ก ๋งคํํ๋ค.
(-1, 1), (0, 100) ๋ฑ ๋ค์ํ ์ผ์ด์ค๊ฐ ์์ง๋ง ๋ชจ๋ธ์ ๋ฐ๋ผ ์ฑ๋ฅ์ด ๋ฌ๋ผ์ง ์ ์๋ค.
์๋ฅผ ๋ค์ด์ male์ 0์ผ๋ก, female์ 1๋ก ๋ณํํ ์ ์์ต๋๋ค.
์ด๋ ํญ์ 0์ด๋ 1๋ก ๋ณํํ ํ์๋ ์๋ค. (-1, 1), (0, 100)๊ณผ ๊ฐ์ด ๋ณํํด๋ ๋์ง๋ง, ์ด๋ ๋ชจ๋ธ์ ๋ฐ๋ผ ์ฑ๋ฅ์ด ๋ฌ๋ผ์ง ์๋ ์๋ค.
๋ช ๋ชฉํ ์๋ฃ์ ๋ฒ์ฃผ๊ฐ ์ธ ๊ฐ ์ด์์ธ ๊ฒฝ์ฐ, ์์น์ ํฌ๊ธฐ ๊ฐ๊ฒฉ์ ๊ฐ๊ฒ ํ์ฌ์ ์์น๋ฅผ ๋งคํํด์ค๋ค.
ex) 0, 1, 2, 3...
๋ช ๋ชฉํ ์๋ฃ - ๋๋ฏธ(Dummy) ๊ธฐ๋ฒ
๋๋ฏธ ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ ๊ฐ ๋ฒ์ฃผ๋ฅผ 0 ๋๋ 1๋ก ๋ณํํ๋ค.
Sex์ ์๋ female๊ณผ male๋ ๊ฐ์ง์ ๋ฒ์ฃผ๊ฐ ์๋ก์ด ์ด๋ก ์์ฑ์ด ๋๊ณ ,
์๋กญ๊ฒ ์์ฑ๋ ์ด์ ๊ฐ ํ์ ๋ํด ํด๋น์ด ๋๋ฉด1, ํด๋น์ด ๋์ง ์์ผ๋ฉด 0์ผ๋ก ๋ณํ๋๋ค.
์์น ๋งคํ์ ํ๊ฐ์ง ๋ณ์์ ๋ํด ํด๋น ์ด ์์์ ์ซ์๋ก ๋งคํํ ๊ฒ์ด๊ณ ,
๋๋ฏธ๋ ํ ๊ฐ์ง ๋ณ์์ ๋ํด ๋ฒ์ฃผ๋ค์ ์๋ก์ด ์ด๋ก ๋ง๋ค์ด์ 0๊ณผ 1๋ก ๋งคํํ ๊ฒ์ด๋ค.
์์ํ ์๋ฃ - ์์น ๋งคํ ๋ณํ
์์น์ ๋งคํํ์ฌ ๋ณํํ์ง๋ง, ์์น ๊ฐ ํฌ๊ธฐ ์ฐจ์ด๋ ์ปค์คํ ์ด ๊ฐ๋ฅํ๋ค.
ํฌ๊ธฐ ์ฐจ์ด๊ฐ ๋จธ์ ๋ฌ๋ ๊ฒฐ๊ณผ์ ์ํฅ์ ๋ผ์น ์ ์๋ค.
์ค์ต
1) ๋ช ๋ชฉํ ์๋ฃ ์์น๋งคํ์ผ๋ก ๋ณํํ๊ธฐ
titanic์ ๋ฐ์ดํฐ ์ค ๋ฒ์ฃผํ ์๋ฃ์ธ Sex๋ฐ์ดํฐ์ male๊ณผ female์ 0๊ณผ 1๋ก ๋งคํ.
*pandas ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ replace ํจ์ ์ฌ์ฉ
A๋ฅผ 0์ผ๋ก, B๋ฅผ 1๋ก ๋ฐ๊พธ๊ธฐ ์ํด์๋ ์๋์ ๊ฐ์ ์ฝ๋ ์ฌ์ฉ
DataFrame.replace({A:0, B:1})
import pandas as pd
import seaborn as sns
#๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ
titanic = sns.load_dataset('titanic')
print('๋ณํ ์ : \n', titanic.head())
titanic['Sex'].replace({'female':1, 'male':0}, inplace=True)
# ๋ณํํ ์ฑ๋ณ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅ
print('๋ณํ ํ : \n', titanic.head())
print('\n๋ณํ ํ: \n',titanic['Sex'].head())
1) ๋ช ๋ชฉํ ์๋ฃ ๋๋ฏธ ๋ฐฉ์์ผ๋ก ๋งคํํ๊ธฐ
titanic Embarked๋ฐ์ดํฐ์ S, Q, C ๋ฒ์ฃผ๋ฅผ ๋๋ฏธ ๋ฐฉ์์ ์ด์ฉํด ๋ณํํด ๋ด ์๋ค.
* pandas ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ get_dummies๋ฅผ ์ฌ์ฉํฉ๋๋ค.
get_dummiesํจ์๋ DataFrame์ ๋ฐ๋ก ์ฌ์ฉํ์ง ์๊ณ , pd. ์ ํตํด ํ๋ผ๋ฏธํฐ๋ก DataFrame์ ์ ๋ฌํด์ค๋๋ค!
pd.get_dummies(DataFrame[[๋ณ์๋ช
]])
# ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ต๋๋ค.
titanic = pd.read_csv('./data/titanic.csv')
print('๋ณํ ์ : \n',titanic['Embarked'].head())
# 1. get_dummies๋ฅผ ์ฌ์ฉํ์ฌ ๋ณํํฉ๋๋ค.
dummies = pd.get_dummies(titanic[['Embarked']])
dummies1 = pd.get_dummies(titanic['Embarked'])
# ๋ณํํ Embarked ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
print('\n๋ณํ ํ: \n',dummies.head())
print('\n๋ณํ ํ 1: \n',dummies1.head())
'์ธ๊ณต์ง๋ฅ ๐ > ๋จธ์ ๋ฌ๋' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐ์ดํฐ ์ ์ ๋ฐ ๋ถ๋ฆฌ (1) | 2022.11.28 |
---|---|
๋จธ์ ๋ฌ๋ ์์นํ ์๋ฃ ์ ์ฒ๋ฆฌ (0) | 2022.11.27 |
๋จธ์ ๋ฌ๋์ ๊ณผ์ ๊ณผ ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ (0) | 2022.11.26 |
๋จธ์ ๋ฌ๋ ๊ฐ์ - ๋จธ์ ๋ฌ๋์ด๋ (1) | 2022.11.26 |
ํ๊ท - ๋ค์ค๊ณต์ ์ฑ (0) | 2021.08.19 |