더북(TheBook)

선생님들은 새로운 문제로 학생들을 평가합니다. 왜 그럴까요? 선생님들은 학생들이 새롭고, 이전에 본 적 없는 문제를 잘 풀기를 원하기 때문입니다. 학생들이 어떤 문제를 연습하고 그 해답에 대한 맞고 틀림을 배운다면, 우리는 그들이 배운 새로운 지식 덩어리가 다른 문제에도 적용될 수 있는 일반적인 것이길 기대합니다. 학생들이 새로운 문제를 얼마나 잘 풀지 예측하고 싶다면, 새로운 문제로 그들을 시험해야 합니다. 족보를 공부하는 것에 불편함을 느끼기 시작했나요?

여기에서 너무 깊게 다루고 싶지는 않아요. 그런데 한 가지는 확실하게 소개하고 넘어가고 싶네요. 다른 책에서는 보통 훈련 오차(training error)를 계산하면서 학습 개념을 소개합니다. 훈련 오차도 그 나름대로 의미가 있지만, 정확한 의미에서 평가라고 보기는 어렵습니다. 시험 정답을 외우지 않는 것은 학습 시스템에 있어 너무나도 중요한 개념이기 때문에 시작부터 확실하게 해 두고 싶습니다. 무작정 쉬운 길만 좇아서는 안 됩니다. 자신감과 의지를 갖고 진짜, 샘플 밖 혹은 테스트 에러 평가를 해 봅시다. 이것으로 아직 보지 못한 혹은 미래의 사례를 처리할 수 있는 우리 능력을 추정할 수 있습니다.

운 좋게도 sklearn은 유용한 지원 기능들을 가지고 있습니다. sklearn의 도구를 사용해서 시험을 외워 버리는 것을 피해 보겠습니다. train_test_split 함수는 파이썬 변수인 iris에 있는 데이터셋을 분할합니다. 데이터셋은 이미 featurestarget이라는 두 가지 컴포넌트를 가지고 있다는 것을 기억합시다. 새롭게 분할된 데이터셋은 다음과 같이 구성됩니다.

1. 연구를 통해 이해를 쌓아 갈 데이터 뭉치

2. 우리 스스로를 시험할 데이터 뭉치

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