위키득계정 ↗
기술

서수 인코딩

서수 인코딩기술
영문명
Ordinal encoding
기본 출력
범주별 정수 코드
열 수
일반적으로 특징마다 한 열
주의점
임의 번호와 실제 순서의 구분
서수 인코딩은 범주형 특징의 각 범주를 하나의 정수 코드로 바꾸는 표현 방법이다. 원래 특징마다 열 하나를 유지할 수 있다. 부여한 숫자가 실제 순서와 간격을 뜻하는지는 자료와 코드 규칙을 따로 살펴야 한다.

범주를 번호로 바꾸기

크기 범주 작음·보통·큼을 이 순서로 정하면 각각 0,1,2로 나타낼 수 있다. 두 특징을 인코딩하면 각 특징의 코드가 나란히 놓인다. 원핫 인코딩처럼 범주마다 새 표시 열을 만드는 방식과는 다르다.

순서와 간격의 차이

작음보다 보통이 크고 보통보다 큼이 크더라도 차이가 똑같다고 보장되지는 않는다. 선형 모델에 코드 x를 넣어 y=a+bx로 계산하면 0에서 1, 1에서 2로 갈 때 같은 b만큼 변한다. 이런 제약이 자료에 맞는지 확인해야 한다.

순서 없는 범주

사과·배·귤에 0,1,2를 붙였다고 귤이 사과의 두 배라는 의미가 생기지는 않는다. 하지만 수치 거리나 임계값으로 처리하는 모델은 그 배치를 이용할 수 있다. 범주 이름을 정렬한 순서가 실제 의미의 순서인지도 별도 문제다.

새 범주와 결측값

학습 때 없던 범주는 오류로 처리하거나 기존 코드와 다른 특별값을 지정할 수 있다. 결측값과 새 범주를 같은 값으로 만들지 구분할지도 정해야 한다. 학습과 추론에서 범주 대응을 유지하고, 비교할 표현 방식은 검증 자료로 평가해야 한다.

관련 문서

원핫 인코딩 / 임베딩 층 / 로지스틱 회귀 / 교차 검증 / 데이터 누출 (기계 학습) / 기계 학습