5.3.3 골디락스: 과대적합, 과소적합 그리고 ‘딱 적당한 상태’ 시각화
예상을 완전히 빗나갔습니다. 그냥 나쁜 결과가 아니에요. 완전히 끔찍하게 실패했습니다. 뭐가 잘못된 것일까요? 훈련 데이터와 테스트 데이터를 시각화해서 무슨 일이 벌어졌는지 알아보겠습니다.
In [9]:
fig, axes = plt.subplots(1, 2, figsize=(6, 3), sharey=True) labels = ['line', 'parabola', 'nonic'] models = [model_one, model_two, model_three] train = (train_ftr, train_tgt) test = (test_ftr, test_tgt) for ax, (ftr, tgt) in zip(axes, [train, test]): ax.plot(ftr, tgt, 'k+') for m, lbl in zip(models, labels): ftr = sorted(ftr) ax.plot(ftr, m(ftr), '-', label=lbl) axes[1].set_ylim(-20, 200) axes[0].set_title("Train") axes[1].set_title("Test"); axes[0].legend(loc='upper center');