특징벡터는 데이터를 수치화환 벡터로, 여러가지 방법이 있지만 그 중 원핫인코딩과 TFIDF가 있습니다.
■ 원-핫 인코딩(One-Hot Encoding)
범주형 데이터에서 사용.
범주형 데이터란, 성별, 지역, MBTI 등과 같이 수치로 측정할 수 없는 데이터
(반: 수치형 데이터 - 연속적인 숫자로 된 데이터로 키, 몸무게와 같이 크기가 있고 크기를 비교할 수 있는 데이터)
범주형 데이터를 머신러닝 모델에 사용하기 위해서 숫자형태로 변환해야합니다.
범주형 데이터를 숫자형태로 변환하는 방법 중 하나가 원-핫 인코딩입니다.
범주가 3가지인 데이터를 예로 들어설명하겠습니다.
범주가 3가지인 데이터라면, 세 개의 원소를 가진 벡터로 표현합니다.
범주별로 벡터가 필요하기 때문에 범주가 많아지게 되면 메모리 사용량에 문제가 발생할 수 있으며, 범주 간 유사성을 반영하지 못할 수도 있습니다.
# Pandas 활용
one_hot_encoded = pd.get_dummies(df['Shape'],dtype = 'int')
one_hot_encoded
# Sklearn 활용
encoder = OneHotEncoder(sparse=False)
one_hot_encoded = encoder.fit_transform(df[['Shape']])
one_hot_encoded
data shapes;
input Shape $;
datalines;
star
pentagon
smile
;
run;
data shapes_encoded;
set shapes;
star = (Shape = 'star');
pentagon = (Shape = 'pentagon');
smile = (Shape = 'smile');
run;
proc print data=shapes_encoded;
run;
Catch the best of SAS Innovate 2025 — anytime, anywhere. Stream powerful keynotes, real-world demos, and game-changing insights from the world’s leading data and AI minds.