1장. 머신러닝 프로세스와 기본 개념
머신러닝 프로세스
요리를 떠올려 보세요. 메뉴를 정하고, 재료를 손질하고, 간을 보고, 조리하고, 맛을 평가합니다. 손질에는 칼과 도마, 간 보기에는 숟가락, 조리에는 냄비처럼 단계마다 손에 드는 도구가 다릅니다. 머신러닝도 단계마다 쓰는 라이브러리가 정해져 있습니다.
상자 아래의 작은 글자가 그 단계에서 쓰는 도구입니다. 재료 손질이 pandas, 간 보기가 matplotlib, 조리와 채점이 scikit-learn 입니다. 그림은 한 방향으로 그렸지만, 실제로는 시험 성적을 보고 다듬기로 되돌아가는 일이 잦습니다.
단계별 도구
| 단계 | 하는 일 | 도구 | 이 장에서 |
|---|---|---|---|
| 질문 정하기 | 무엇을 맞힐지, 무엇을 입력으로 쓸지 정한다 | 종이와 펜 | 지연 여부를 맞힌다 |
| 다듬기 | 빈칸, 입력 실수, 중복을 정리한다 | pandas | 실습 1, 실습 2 |
| 살펴보기 | 조건별로 세어 보고 그래프로 그린다 | pandas, matplotlib | 실습 3 |
| 배우기 | 특성과 레이블을 나누고 모델을 학습시킨다 | scikit-learn | 실습 4, 실습 5 |
| 시험 보기 | 시험용 데이터로 성적을 매긴다 | scikit-learn 의 metrics | 실습 5, 실습 6 |
단계마다 던지는 질문
초보 때는 지금 어느 단계에 있는지 잊기 쉽습니다. 단계마다 스스로 물어볼 질문을 하나씩 정해 두면 길을 잃지 않습니다.
| 단계 | 스스로 물어볼 질문 |
|---|---|
| 질문 정하기 | 맞힌 답으로 무엇을 할 것인가 |
| 다듬기 | 빈칸, 튀는 값, 두 번 들어간 행이 있는가 |
| 살펴보기 | 어떤 조건에서 정답이 달라 보이는가 |
| 배우기 | 특성에 정답이 새어 들어가지 않았는가 |
| 시험 보기 | 기준선보다 나은가, 어떤 실수를 하는가 |
주의할 점
- 다듬기에 드는 시간이 학습보다 훨씬 깁니다. 냄비에 넣는 시간보다 재료 손질이 오래 걸리는 것과 같습니다.
- 시험 성적이 나쁘면 모델부터 바꾸고 싶어집니다. 그보다 먼저 다듬기와 특성을 다시 보는 편이 대개 효과가 큽니다.