좋은 표현이 모델 튜닝보다 큰 힘을 내
단순 기준선을 넘은 뒤에는 초매개변수 한 칸보다 현실의 구조를 담은 특성 하나가 더 큰 향상을 주는 경우가 많아. 원시 열을 무작정 늘리는 게 아니라 예측 시점에 알 수 있는 사건을 업무 의미에 맞게 요약하는 일이 특성 공학이야. 좋은 특성은 모델이 적은 자료로도 관계를 보기 쉽게 하고 설명도 선명하게 해.
시간 창 집계
예측 기준 시각 이전 7일, 30일, 90일의 횟수, 합계, 평균, 최댓값을 만들면 최근 행동과 장기 기준을 함께 볼 수 있어. 창의 끝은 예측 시각보다 앞이어야 하고 목표가 관찰되는 미래 구간과 겹치면 안 돼. 같은 사용자의 과거만 집계하도록 키와 시간 정렬을 시험해.
최근성과 빈도
마지막 행동 이후 지난 시간, 일정 기간의 행동 횟수, 행동 사이 평균 간격은 고객 활동의 리듬을 압축해. 한 번도 행동하지 않은 사례의 값을 0으로 둘지 별도 표시할지 정해야 해. 예측 시각과 시간대가 달라 음수가 생기지 않는지도 자동 검사해.
비율과 기준 대비 값
절대 지출보다 자신의 과거 평균 대비 최근 지출, 요금제 평균 대비 사용량 같은 비율이 규모 차이를 줄여줄 수 있어. 분모가 0이거나 아주 작을 때 값이 폭발하지 않도록 평활화와 결측 규칙을 정해. 집단 평균은 학습 자료에서만 계산하고 교차검증 폴드 안에 넣어 목표와 검증 분포가 새지 않게 해.
범주 상호작용
등급과 지역, 기기와 채널처럼 조합 자체가 사업 구간을 나타내면 두 범주를 합친 특성이 선형 모델에 상호작용을 보여줄 수 있어. 가능한 모든 조합을 만들면 희귀 범주가 폭발하므로 도메인 가설이 있는 쌍부터 시험해. 새 조합과 적은 표본을 ‘기타’로 처리할 기준도 필요해.
다른 객체의 요약
사용자만 보지 말고 사용자가 속한 조직, 상품, 지역의 과거 통계를 붙이면 맥락을 제공할 수 있어. 하지만 해당 행 자신과 미래 사건을 집계에 포함하면 목표 누출이 생겨. leave-one-out 계산과 시점 절단을 적용하고 새 조직에는 어떤 기본값을 쓸지 정해.
모든 특성에 시간 합법성 증명을 붙여
‘이 값은 예측 시각 T에 T 이전의 어떤 원천 사건으로 계산된다’는 한 문장을 각 특성에 적어. 생성 시각, 사용 가능 시각, 갱신 주기, 원천 테이블을 열 감사표에 남겨. 증명하기 어렵거나 제공 시스템에서 같은 계산을 못 하면 좋은 노트북 특성이 아니라 배포할 수 없는 누출 후보야.
같은 함수를 학습과 제공에서 써
특성 정의를 노트북 복붙으로 만들지 말고 시간 기준을 인자로 받는 순수한 변환이나 파이프라인 단계로 구현해. 작은 사건 기록에 대해 기대 집계를 단위시험하고, 과거 시점으로 되돌려 계산하는 point-in-time 정확성 시험을 둬. 오프라인과 온라인 결과를 표본 행에서 비교해야 해.
추가할 때마다 제거 시험도 해
새 특성 세트를 같은 교차검증에서 기준선과 비교하고 평균 향상과 흔들림, 계산 비용을 기록해. 중요도가 낮거나 유지 비용이 큰 특성은 빼도 성능이 유지되는지 시험해. 특성 수가 늘어나는 것 자체를 진전으로 착각하지 마. 설명 가능한 향상과 운영 가능한 계산이 함께 있어야 남길 가치가 있어.