C.W.K.
Stream
Lesson 01 of 05 · published

Regression이 뭘 의미하는가

~24 min · regression, framing

Level 0Scout
0 XP0/48 lessons0/11 achievements
0/120 XP to next level120 XP to go0% complete

연속 target, 실제 결과

Regression은 연속(또는 count) 스케일의 숫자 — 가격, demand, latency, revenue, churn까지 남은 일수 — 를 예측한다는 뜻이야. metric은 prediction과 truth 사이의 거리. classification과 달리 error의 magnitude가 방향만큼 중요해.

먼저 던질 두 질문

  • 크기 E의 error가 얼마나 비싸나? truth 110에서 100을 예측하는 게 한 비즈니스에선 무료, 다른 비즈니스에선 재앙.
  • target이 자연스럽게 bounded? count는 음 아닌 정수. 확률은 [0, 1]. bound 무시하면 모델이 그 밖에서 nonsense 출력.

log trick

target이 orders of magnitude 걸칠 때 (revenue, web traffic, latency), log(target) 예측. error가 그러면 ratio에 대응하고, 그게 보통 비즈니스가 신경 쓰는 거. 보고 전에 inverse 잊지 마.

Code

스케일이 multiplicative일 때 log-target 예측·python
import numpy as np
from sklearn.linear_model import Ridge
from sklearn.compose import TransformedTargetRegressor

model = TransformedTargetRegressor(
    regressor=Ridge(alpha=1.0),
    func=np.log1p,
    inverse_func=np.expm1,
).fit(X_train, y_train)
bounded target엔 bounded model·python
# For non-negative targets, use Poisson or Tweedie regression
from sklearn.linear_model import PoissonRegressor

model = PoissonRegressor(alpha=1.0).fit(X_train, y_train_counts)

External links

Exercise

한 regression 문제에 대해, 크기 1 error의 비용과 크기 10 error의 비용을 그려봐. 비용이 linear / quadratic / asymmetric인지 결정. 매칭되는 loss(MAE / MSE / quantile / custom)을 골라.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.