1. 학습
  2. /
  3. 강의
  4. /
  5. Python으로 하는 통계적 사고 (2부)

Connected

연습 문제

어떻게 최적인가요?

회귀 계수를 구할 때 사용한 np.polyfit() 함수는 기울기와 절편을 최적으로 찾아줘요. 이때 최적화하는 값은 잔차 제곱합, 즉 RSS(residual sum of squares)입니다. 이 연습에서는 최적화 대상인 RSS를 기울기 매개변수 a에 대해 플로팅해 보려고 해요. 이를 위해, 절편은 최적화에서 구한 값으로 고정하고, RSS를 기울기에 대해 그려 보세요. 최소값은 어디에서 나오나요?

지침

100 XP
  • RSS를 계산할 기울기 값을 지정하세요. 0에서 0.1 사이 구간에서 200개의 점을 얻기 위해 np.linspace()를 사용하세요. 예를 들어, 0에서 0.5 사이 구간에서 100개의 점을 얻으려면 다음과 같이 쓸 수 있어요: np.linspace(0, 0.5, 100).
  • 위에서 만든 배열과 np.empty_like()를 사용해 RSS를 담을 배열 rss를 초기화하세요. empty_like() 함수는 주어진 배열(여기서는 a_vals)과 같은 모양과 타입의 새 배열을 반환해요.
  • 기울기에 대한 RSS 합을 계산하는 for 루프를 작성하세요. 힌트: RSS는 np.sum((y_data - a * x_data - b)**2)로 주어집니다. 지난 연습에서 계산한 변수 b는 이미 네임스페이스에 있어요. 여기서 fertility가 y_data, illiteracy가 x_data입니다.
  • RSS(rss)를 기울기(a_vals)에 대해 플로팅하세요.
  • "Submit Answer"를 눌러 플롯을 확인하세요!