데이터 전처리·연습 문제

다항 특성 (1D)

문제 설명PROBLEM

preview

다항 특성 (Polynomial Features)

선형 모델은 선형 관계만 모델링할 수 있지만, 특성 자체를 비선형 변환해주면 선형 모델로도 곡선을 맞출 수 있습니다. 가장 단순한 방법이 다항 확장:

x=(1,x,x2,x3,,xd)\mathbf{x} = (1, x, x^2, x^3, \dots, x^d)

이렇게 만든 행렬로 선형 회귀를 돌리면 d차 다항식 피팅이 됩니다.

예시

x=2x = 2, degree =3= 3[1,2,4,8][1, 2, 4, 8]

주의

  • degree 를 너무 크게 하면 과적합 (리지/라쏘 같은 정규화 필요).
  • 여러 변수 확장은 조합 폭발 — sklearn.preprocessing.PolynomialFeatures 참고.

과제

함수 polynomial_features(x, degree) 를 완성하세요.

  • 입력 x: 1D 배열 (N,).
  • degree: 정수 ≥ 0.
  • 반환: shape (N, degree + 1) — 열은 [1, x, x², ..., x^degree].
  • np.stack, x ** p 사용.

테스트 케이스

#이름검증
1shape(N, degree+1)
2첫 열 = 1
3두번째 열 = x
4k번째 열 = x^k
5스칼라 실행x=[2], d=3 → [[1,2,4,8]]
개념 노트와 실수 포인트

데이터 전처리

  • 표준화(평균 0·분산 1) vs 정규화(0~1 범위).
  • ⚠️ train 의 통계(평균/표준편차)로 test 를 변환 — test 로 fit 하면 데이터 누수.