728x90
원핫인코딩
- 가장 기초적이고 기본적인 방법임
- 희소 행렬이 만들어짐 (희소 행렬? 원소 대부분이 0인 벡터)
- 단어 집합의 크기가 곧 벡터의 차원수가 됨 (예: 10000개, (_, 10000))
- 범주형 데이터 분석에서도 활용한다. (자연어처리 < 범주형 많이 사용되는듯)
- 고유값에 해당하는 컬럼에만 1이 붙고, 나머지는 0
- 딥러닝, 데이터 마이닝, 자연어 처리에서도 활용됨
- pandas 라이브러리를 사용한 원핫인코딩
pd.get_dummies 이용
fruit_name_onehot = pd.get_dummies(fruit_markets['fruitname'])
# pd.get_dummies: 원핫인코딩해주는 모듈
fruit_name_onehot
- 사이킷런을 이용한 원핫인코딩
from sklearn.preprocessing import OneHotEncoder 이용
from sklearn.preprocessing import OneHotEncoder
oh_enc = OneHotEncoder(handle_unknown='ignore')
oh_enc.fit(fruit_markets)
x_data = oh_enc.transform(fruit_markets)
# 데이터 타입 object => numpy.float64
# Sparse Row
format x_data
# Sparse Row format -> array로 변환
x_data_arr = x_data.toarray()
x_data_arr
- 텐서플로우를 이용한 원핫인코딩(딥러닝)
tf_tokenizer = TF_Tokenizer() 이용
728x90
'#02.천재교육 빅데이터 > +12.자연어 처리' 카테고리의 다른 글
| [천재교육] 자연어처리(1) (0) | 2023.05.08 |
|---|