더북(TheBook)

3-최근접 이웃에 오차 제곱을 이용하는 경우에는 다음과 같습니다.

 

앞 코드는 다음과 같이 사용할 수 있습니다.

 

In [13]:

knn = neighbors.KNeighborsRegressor(n_neighbors=3)
fit = knn.fit(diabetes.data, diabetes.target)

training_data = zip(diabetes.data, diabetes.target)

my_training_loss = training_loss(squared_error, knn, training_data)
print(my_training_loss)
[863792.3333]

 

sklearnmean_squared_error 함수로 손실을 계산한 후 전체 훈련 사례의 개수를 곱하면 같은 값을 얻을 수 있습니다.

 

In [14]:

mse = metrics.mean_squared_error(diabetes.target, knn.predict(diabetes.data))
print(mse*len(diabetes.data))
863792.3333333333

 

조금 부담스러워 보이는 이 훈련 오차 공식은 우리가 사용하는 평가 계산의 기본 바탕이 됩니다. 좋은 모델의 복잡도를 결정하는 문제를 다루기 위해 이 공식을 확장해서 사용하겠습니다.

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