더북(TheBook)

두 포인트 중 하나에 가까운 지점에서 시작하겠습니다. 바를 올리기 시작하면서 두 포인트 사이에 있는 적절한 중간 지점을 지납니다. 아직 멈추지 말고 바를 계속 이동시켜 맨 위 포인트에 도달합니다. 아래에 있는 포인트에서는 꽤 멀어졌군요. 이상적인 균형점은 중간 어딘가에 있습니다. 이제 숫자를 조금 살펴볼까요?

 

In [14]:

col_labels = "Prediction", "Errors", "Sum", "SSE", "Distance"
display(pd.DataFrame.from_records(results, columns=col_labels, index="Prediction"))

 

Prediction

Errors

Sum

SSE

Distance

1.0000

[4.0, 1.0]

5.0000

17.0000

4.1231

2.0000

[3.0, 0.0]

3.0000

9.0000

3.0000

3.0000

[2.0, -1.0]

1.0000

5.0000

2.2361

3.5000

[1.5, -1.5]

0.0000

4.5000

2.1213

4.0000

[1.0, -2.0]

-1.0000

5.0000

2.2361

5.0000

[0.0, -3.0]

-3.0000

9.0000

3.0000

테이블에는 양 혹은 음의 오차가 기록되어 있습니다. 오차의 합은 직선을 평가하는 용도로 적합하지 않습니다. [2, -1]처럼 정반대 방향의 오차합은 1입니다. 전반적인 예측 능력을 위해서는 오차가 서로 상쇄되지 않아야 합니다. 이 문제를 해결하는 방법 중 하나는 총 거리(total distance)를 구하는 것입니다. 최근접 이웃 방법에서 사용했던 거리처럼 말이죠. 즉, 을 계산합니다. SSE 열은 오차 제곱합으로 거리를 계산하는 것과 비슷합니다. 남은 것은 제곱근을 취하는 것이지요. 지금까지 규칙을 적용해서 뽑은 최고 직선은 포인트들의 수직 위치 평균인 = 3.5를 이용해서 그은 수평선입니다. 앞서 보았던 막대의 균형처럼 평균이 제일 좋은 답입니다. 양측의 오차 가운데에서 완벽하게 중심을 잡고 있죠.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.