라일락 꽃이 피는 날

[Pandas] 원핫인코딩 (One-hot-encoding) 본문

데이터 분석/Python

[Pandas] 원핫인코딩 (One-hot-encoding)

eunki 2021. 4. 27. 19:46
728x90

원핫인코딩 (One-hot-encoding)

원핫인코딩은 한 개의 요소는 True 나머지 요소는 False로 만들어주는 기법이다.

blood_map = {
    'A': 0, 
    'B': 1,
    'AB': 2, 
    'O': 3,
}

 

 

만약 df['혈액형_code']를 머신러닝 알고리즘에 그대로 넣어 데이터를 예측하라고 지시한다면, 컴퓨터는 '혈액형_code' 안에서 값들 간의 관계를 스스로 형성하게 된다.

즉, B형은 1, AB형은 2라는 값을 가지고 있는데, 컴퓨터는 'B형 + AB형 = O형이다'라고 관계를 잘못 맺을 수 있게 된다.

원핫인코딩은 별도로 4개의 column을 형성해주고, 1개의 column에는 True 나머지는 모두 False를 넣어 줌으로써 'A, B, AB, O형의 관계는 독립적이다.'를 표현해주는 것이다.

 

 

get_dummies 메서드를 통해 원핫인코딩을 진행한다.

 

 

 

- prefix 옵션을 통해 각 컬럼명 앞에 동일한 문구를 넣을 수 있다.

- drop_first = True : 첫번째 카테고리 값은 사용하지 않는다.

 

728x90

'데이터 분석 > Python' 카테고리의 다른 글

[Numpy] reshape  (0) 2021.04.27
[Pandas] Plot 그래프  (0) 2021.04.27
[Pandas] select_dtypes  (0) 2021.04.27
[Pandas] DataFrame의 산술연산  (0) 2021.04.27
[Pandas] apply, map  (0) 2021.04.27