← 문제 목록/원-핫 인코딩

원-핫 인코딩

데이터 전처리 · easy

preview

원-핫 인코딩

정수 클래스 레이블 [0, 2, 1, 0]을 각 클래스를 축으로 하는 이진 벡터로 변환합니다. 다중 클래스 분류의 타깃·softmax 비교에서 씁니다.

레이블 y = [0, 2, 1], 클래스 수 K = 3 이면:

one_hot(y)=[100001010]\text{one\_hot}(y) = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 1 & 0 \end{bmatrix}

각 행은 정확히 1개의 1. 행 합은 항상 1.

과제

함수 one_hot(y, num_classes) 를 완성하세요.

  • 입력: y 1D 정수 배열 길이 N, num_classes 스칼라 K.
  • 반환: (N, K) NumPy 배열, dtype은 아무거나.
  • 힌트: np.eye(K)[y] 가 엘레강트.

테스트 케이스

#이름검증
1기본 변환one_hot([0, 2, 1], 3) → 3x3 단위행렬의 순열
2각 행 합 = 1모든 행의 합이 정확히 1
3정확히 하나만 1각 행에 1이 딱 한 번
4shape 검증(N, K)
5위치 정확성각 샘플에 대해 y[i] 열만 1
Loading...

코드를 작성하고 Run 을 눌러보세요.