본문 바로가기
#02.천재교육 빅데이터/+12.자연어 처리

[천재교육] 텍스트 벡터화하기

by 돌비오 2023. 5. 10.
728x90

ch6_텍스트 벡터화하기.ipynb
0.25MB

 

 

원핫인코딩

  • 가장 기초적이고 기본적인 방법임
  • 희소 행렬이 만들어짐 (희소 행렬? 원소 대부분이 0인 벡터)
  • 단어 집합의 크기가 곧 벡터의 차원수가 됨 (예: 10000개, (_, 10000))
  • 범주형 데이터 분석에서도 활용한다. (자연어처리 < 범주형 많이 사용되는듯)
  • 고유값에 해당하는 컬럼에만 1이 붙고, 나머지는 0
  • 딥러닝, 데이터 마이닝, 자연어 처리에서도 활용됨

 

  1. pandas 라이브러리를 사용한 원핫인코딩

pd.get_dummies 이용

 

fruit_name_onehot = pd.get_dummies(fruit_markets['fruitname'])
# pd.get_dummies: 원핫인코딩해주는 모듈

fruit_name_onehot

 

 

  1. 사이킷런을 이용한 원핫인코딩

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

 

 

  1. 텐서플로우를 이용한 원핫인코딩(딥러닝)

tf_tokenizer = TF_Tokenizer() 이용

 

 

728x90