728x90
데이터 전처리작업중 원-핫 인코딩이라는 것이 있습니다.
예를 들어 한 컬럼에 A, B, C라는 값이 있을 경우
아래와 같이 3개의 컬럼을 새로 만들어 해당 되는 컬럼값에 1이라는 값을 넣어주는 것입니다.
one-hot encoding을 쓰는 이유는 컬럼을 category화 하여 사용하거나,
각각의 value에 대한 영향력을 파악하기위해서 사용합니다.
one-hot encoding은 pandas, keras, tensorflow 라이브러리에서
각각 다른 함수로 존재하지요.
오늘은 각 라이브러리에서 어떤 함수로 사용되는지 간단히 살펴 볼게요!!
그럼 이걸 pandas를 활용해서 인코딩 해주는 법을 소개할게요.
1
2
3
|
import pandas as pd
dum_col=pd.get_dummies(df1['colabc'],prefix="col")
dum_col
|
cs |
[output]
그리고 마지막으로 꼭 해주셔야 할 것은 기존 df에 새로 추가한 원-핫 인코딩 컬럼을 추가해 주는 것입니다.
위에서 3개의 컬럼이 추가된 것을 확인하실 수 있습니다.
위와 같이 one-hot encoding을 해주는 함수는 판다스에만 있는 것은 아니에요.
keras나 tensorflow에도 존재합니다.
keras에서는
>> from tensorflow.keras.utils import to_categorical
>> to_categorical(data)
로 해주시면 되구요!
tensorflow에서는
>> import tensorflow as tf
>> tf.one_hot(data)
로 해주시면 됩니다!!
728x90
'IT > 파이썬' 카테고리의 다른 글
[시간 데이터 다루기] to_datetime활용하기 (0) | 2021.01.06 |
---|---|
applymap 활용하기 (0) | 2021.01.05 |
kkma를 활용한 word cloud 그리기 (0) | 2021.01.03 |
Permutation Feature Importance(변수중요도)를 통한 feature selection (0) | 2020.12.24 |
Dummy Classifier (0) | 2020.12.23 |