최상위 10_Wiki/Topic_*였던 4개 카테고리 폴더를 10_Wiki/Topics/Topic_* 로 재배치.
콘텐츠 변경 없음(순수 폴더 이동) — Topics/ 하위 나머지 폴더는 이미 지난 커밋에서
전부 정리된 상태(잔존 항목은 에이전트 운영 상태 및 사용자가 보존을 요청한
업데이트0615/무제 3.canvas 뿐).
"매 categorical value → orthogonal binary vector". One-hot encoding 은 K 개 category 를 K 개 0/1 column 으로 펼치는 매 가장 단순한 categorical → numeric 변환. 매 linear model / tree-based model 의 default, 그러나 high-cardinality 에서는 target / hash encoding 으로 교체.
매 핵심
매 정의
category set {A, B, C} → vectors (1,0,0), (0,1,0), (0,0,1).
ordinal encoding (0,1,2) 와 달리 순서 가정 없음.
linear / kernel model 의 가정 (numeric distance) 을 깨지 않음.
매 dummy variable trap
K columns → 1 redundant (sum=1 의 collinearity).
linear regression 의 unregularized 경우 → drop_first=True.
tree / regularized model (Lasso, Ridge) → 매 전체 K 유지 가능.
fromsklearn.preprocessingimportLabelEncoder,OrdinalEncoder# DON'T: feed LabelEncoder output to linear modelle=LabelEncoder()y=le.fit_transform(["red","blue","green"])# [2, 0, 1] — fake order!# DO: OrdinalEncoder when order is realoe=OrdinalEncoder(categories=[["low","med","high"]])
언제: 매 quick prototype, low-cardinality categorical, linear / tree baseline.
언제 X: 매 high-cardinality (>1000), text tokens (use embedding), online learning with new categories.
❌ 안티패턴
Train-only fit: test set 의 unseen category 에 crash → handle_unknown="ignore".
Drop-first with regularized model: 불필요한 정보 손실.
OHE on high-cardinality without sparse: memory blowup.
LabelEncoder for features: fake ordinal 강제, linear model 망가짐.
Leak via target encoding without fold: target encoding 사용 시 K-fold 필수.