# k-최근접 이웃 회귀 객체를 만든다.
knr = KNeighborsRegressor()
# 5에서 45까지 x좌표를 만든다.
x = np.arange(5, 45).reshape(-1, 1)

# n = 1, 5, 10일 때 예측 결과를 그래프로 그린다.
for n in [1, 5, 10]:
  # 모델을 훈련한다.
  knr.n_neighbors = n
  knr.fit(train_input, train_target)
  # 지정한 범위 x에 대한 예측을 구한다.
  prediction = knr.predict(x)

  # 훈련 세트와 예측 결과를 그래프로 그린다.
  plt.scatter(train_input, train_target)
  plt.plot(x, prediction)
  plt.title('n_neighbors = {}'.format(n))
  plt.xlabel('length')
  plt.ylabel('weight')
  plt.show()

image.png

image.png

image.png