BookmarkSubscribeRSS Feed

[SAS 고수의 팁] One-Hot Encoding

Started ‎07-30-2024 by
Modified ‎07-30-2024 by
Views 317

 

 

특징벡터는 데이터를 수치화환 벡터로, 여러가지 방법이 있지만 그 중 원핫인코딩과 TFIDF가 있습니다.

 

 

■ 원-핫 인코딩(One-Hot Encoding)

 

  • 범주형 데이터에서 사용.

범주형 데이터란, 성별, 지역, MBTI 등과 같이 수치로 측정할 수 없는 데이터

(반: 수치형 데이터 - 연속적인 숫자로 된 데이터로 키, 몸무게와 같이 크기가 있고 크기를 비교할 수 있는 데이터)

 

범주형 데이터를 머신러닝 모델에 사용하기 위해서 숫자형태로 변환해야합니다.

범주형 데이터를 숫자형태로 변환하는 방법 중 하나가 원-핫 인코딩입니다.

 

 

범주가 3가지인 데이터를 예로 들어설명하겠습니다.

 

스크린샷_2024-07-30_오후_4.27.13.png

 

 

 

범주가 3가지인 데이터라면, 세 개의 원소를 가진 벡터로 표현합니다.

범주별로 벡터가 필요하기 때문에 범주가 많아지게 되면 메모리 사용량에 문제가 발생할 수 있으며, 범주 간 유사성을 반영하지 못할 수도 있습니다.

 

 

■ Python Code

 

스크린샷 2024-07-30 오후 4.50.22.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# 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

 

 

 

■ SAS Code

 

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;
 
 
스크린샷 2024-07-30 오후 5.05.22.png
Version history
Last update:
‎07-30-2024 04:13 AM
Updated by:
Contributors

sas-innovate-white.png

Missed SAS Innovate in Orlando?

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.

 

Register now

Article Labels
Article Tags