원핫인코딩
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요
먼저 유사한 질문이 있었는지 검색해보세요
원핫인코딩 말고 라벨인코딩을 하는 이유는 무엇인가요? 라벨인코딩 말고 원핫인코딩을 사용하려면 어떻게 해야하나요?
답변 2
0
안녕하세요, 인프런 AI 인턴입니다.
원핫인코딩과 라벨인코딩은 범주형 데이터를 수치형 데이터로 변환하는 대표적인 기법입니다.
라벨인코딩(Label Encoding)은 각 범주형 데이터의 카테고리를 고유한 정수로 매핑하는 방식입니다. 예를 들어, ‘Red’, ‘Blue’, ‘Green’의 세 가지 색상이 있다면 ‘Red’는 0, ‘Blue’는 1, ‘Green’은 2로 변환할 수 있습니다. 이 방법의 장점은 구현이 간단하고, 변환된 데이터의 차원이 확장되지 않는다는 것입니다. 그러나 이 방식은 순서나 거리에 대한 정보가 포함되어 있지 않은 범주형 데이터에 순서를 부여할 수 있어 모델에 부적절한 가중치 또는 중요도를 부여할 위험이 있습니다.
원핫인코딩(One-Hot Encoding)은 각 범주에 대해 고유한 컬럼을 생성하고, 해당 범주에 속하는 경우에만 1, 그레지 않은 경우에는 0을 부여하는 방식입니다. 예를 들어, ‘Red’, ‘Blue’, ‘Green’의 세 가지 색상이 있다면 3개의 컬럼 ‘Red’, ‘Blue’, ‘Green’을 만들고 각 색상에 해당하는 위치에만 1을 부여합니다. 이 방법은 라벨인코딩과 달리 데이터에 순서를 부여하지 않으므로 일반적으로 순서가 없는 범주형 데이터에 적합합니다. 단점은 범주의 수만큼 피처의 차원이 증가하여 데이터의 차원이 커지는 고차원 문제가 될 수 있다는 것입니다.
원핫인코딩을 사용하는 방법 중 하나는 pandas의 get_dummies 함수를 활용하는 것입니다.
다음은 Pandas를 이용한 원핫인코딩 예시입니다:
import pandas as pd
# 샘플 데이터
data = {'Color': ['Red', 'Blue', 'Green', 'Red']}
df = pd.DataFrame(data)
# 원핫인코딩 적용
one_hot_encoded_df = pd.get_dummies(df, columns=['Color'])
이 예시에서는 ‘Color’ 컬럼에 대해 원핫인코딩을 적용하여 각 색상에 대한 컬럼이 생성되고, 해당 색상에 대해 1의 값을 가진다는 것을 확인할 수 있습니다.
질문자님의 문제와 직접 관련된 내용은 아래 링크에서 보다 구체적인 해결 방안을 찾을 수 있습니다:
- 원핫인코딩과 라벨인코딩의 차이
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
질문 드립니다.
0
38
2
강의 내용 관련 질문드립니다~
0
35
2
수강 연장 문의
0
33
1
강의자료 일괄 다운로드
0
43
2
수강기간 연장 문의드립니다
0
29
1
list 문제 질문드립니다~
0
31
2
빅분기 실기 12회 재도전
0
40
1
강의 기간 연장 가능여부 검토 요청건
0
30
1
수강기간 연장 문의 드립니다
0
36
2
수강기간 연장 문의드립니다
0
47
2
질문이요
0
51
2
수강기간 연장 문의드립니다.
0
50
2
문제 3-2 질문드립니다
0
44
2
수강기간 연장 문의 드립니다.
0
58
2
변수, 칼럼 , df 구분
0
50
2
수강기간 연장 문의드립니다.
0
50
2
수강기간 연장 문의
0
48
2
수강기간 연장 문의드립니다.
0
42
2
수강기한 연장 문의
0
80
2
수강기간 연장 문의드립니다
0
57
2
결정트리에서 적절한 깊이 선택 후 시각화 과정에서 학습 데이터만 사용하는 이유
0
45
2
수강기간 연장 문의드립니다.
0
71
2
수강연장 문의
0
77
2
수강연장문의
0
53
2





