원-핫 인코딩(One-hot encoding) - 전처리

원-핫 인코딩이란 카테고리별로 이진 특성을 만들어 해당하는 특성만 1,
나머지는 0으로 만드는 방법이다. 주로 범주형 데이터에서 많이 이용된다.
ex) 국가명, 시.도, 장르

여기서 사용할 vgsales 데이터는 비디오게임 매출 데이터이다.


pandas에서 get_dummies 함수를 통해 손쉽게 원-핫 인코딩을 할 수 있다.

one_hot_df = pd.get_dummies(vgsales["Genre"])

pd.concat 함수로 원래 DataFrame과 새로운 DataFrame(one_hot_df)를 합쳐준다.

df_concat = pd.concat([vgsales, one_hot_df], axis=1)

Genre 칼럼을 one hot encoing한 one_hot_df이 뒤에 붙었으니, Genre 칼럼을 삭제해준다.

df_concat.drop(['Genre'], axis=1, inplace=True)
df_concat.tail()

[결과]

Rank	Name	Platform	Year	Publisher	NA_Sales	EU_Sales	JP_Sales	Other_Sales	Global_Sales	...	Fighting	Misc	Platform	Puzzle	Racing	Role-Playing	Shooter	Simulation	Sports	Strategy
16593	16596	Woody Woodpecker in Crazy Castle 5	GBA	2002.0	Kemco	0.01	0.00	0.0	0.0	0.01	...	0	0	1	0	0	0	0	0	0	0
16594	16597	Men in Black II: Alien Escape	GC	2003.0	Infogrames	0.01	0.00	0.0	0.0	0.01	...	0	0	0	0	0	0	1	0	0	0
16595	16598	SCORE International Baja 1000: The Official Game	PS2	2008.0	Activision	0.00	0.00	0.0	0.0	0.01	...	0	0	0	0	1	0	0	0	0	0
16596	16599	Know How 2	DS	2010.0	7G//AMES	0.00	0.01	0.0	0.0	0.01	...	0	0	0	1	0	0	0	0	0	0
16597	16600	Spirits & Spells	GBA	2003.0	Wanadoo	0.01	0.00	0.0	0.0	0.01	...	0	0	1	0	0	0	0	0	0	0

데이터의 정렬이 살짝 맞지 않는다.....

좋은 웹페이지 즐겨찾기