콘텐츠로 이동

P2-15.2 Part 3로 넘어가기 전 점검

Section ID: P2-15.2 Version: v2026.07.20

Part 2는 기초 복구 구간입니다. 모든 수학과 Python을 완벽히 끝냈다는 뜻이 아닙니다. 머신러닝으로 넘어가도 되는 최소한의 읽기 능력과 실습 감각을 확인하는 구간입니다.

이 절은 Part 2를 완전히 닫는 마무리라기보다, Part 3에서 막혔을 때 어떤 개념으로 돌아와 다시 기준을 복구할지 정리하는 재방문 기준점입니다. 여기서는 새로운 내용을 더 배우기보다 무엇을 들고 넘어가고, 무엇은 다시 찾아오면 되는가를 구분합니다. 개념을 다시 찾을 때는 대표 Section와 개념사전을 함께 기준점으로 삼습니다.

이 기준을 가장 짧게 다시 묶으면 다음과 같습니다.

지금 들고 넘어갈 것 Part 3에서 막히면 다시 돌아와 볼 것
X, y, shape, loss, metric 같은 최소 공통 언어 배열 모양, 평균과 오차, 실행 환경, 그래프 읽기, Git 기록 이유

조금 더 실전형으로 줄이면 아래 네 가지를 다시 말할 수 있어야 합니다.

바로 점검할 최소선 왜 지금 이 기준이 중요한가
어떤 열이 feature이고 어떤 열이 label인지 적을 수 있다 Part 3에서 데이터 구조를 먼저 읽어야 하기 때문
shape를 보고 행과 열이 무엇인지 말할 수 있다 샘플 축과 특징 축을 구분해야 하기 때문
평균, 오차, 손실이 같은 말이 아님을 말할 수 있다 학습과 평가 숫자의 역할을 섞지 않아야 하기 때문
변경 이유를 Git 커밋 한 줄처럼 적을 수 있다 실험과 설명을 함께 기록하는 감각이 필요하기 때문

Part 3에서는 데이터로부터 규칙을 학습한다는 말을 다룹니다. 그때 필요한 것은 어려운 증명보다, 데이터가 어떤 모양으로 들어가고, 모델이 무엇을 계산하고, 결과를 어떻게 평가하는지 따라갈 수 있는 감각입니다.

이때 가장 자주 막히는 장면은 아래처럼 아주 작게 다시 적을 수 있습니다.

지금 Part 3 직전에 다시 볼 장면 바로 말할 수 있어야 하는 것
작은 표에서 어떤 열이 입력이고 어떤 열이 정답인가 Xy 구분
X.shape = (4, 3)을 봤다 샘플 4개, 특징 3개
fit(X_train, y_train)을 봤다 입력과 정답으로 학습
predict(X_test)를 봤다 학습된 모델로 새 입력 계산

즉 Part 3 직전 최소 준비는 모델 이름이 아니라 데이터 구조와 학습 흐름을 읽는 문장을 바로 말할 수 있는가에 가깝습니다.

핵심 기준: Part 3로 넘어가기 전 점검

  • Part 2에서 복구한 개념을 머신러닝 학습 흐름과 연결할 수 있습니다.
  • 수학, Python, NumPy, Pandas, Matplotlib, Git의 최소 역할을 구분할 수 있습니다.
  • Part 3에서 만날 X, y, fit, predict, train, test 같은 표현을 낯설지 않게 볼 수 있습니다.
  • 완벽히 이해하지 못한 항목과 반드시 다시 확인해야 할 항목을 구분할 수 있습니다.
  • 머신러닝 학습을 “모델 이름 외우기”가 아니라 “데이터, 학습, 평가 흐름 읽기”로 시작할 수 있습니다.

세 가지 기준

기준 왜 중요한가 이 절에서 필요한 이해 수준
Part 2에서 무엇을 얻어야 하나 Part 2를 과목 완주가 아니라 머신러닝 진입 준비로 읽게 해 줍니다. 수학, Python, 데이터, 실습 환경의 최소 공통 언어를 얻어야 한다고 이해합니다.
아직 완벽히 외워야 하나 재방문 기준과 최초 설명 위치의 역할을 분명하게 해 줍니다. 다시 읽을 기준점과 낯설지 않은 용어 감각이 먼저 필요하다고 이해합니다.
Part 3로 넘어갈 준비는 무엇인가 모델 이름보다 데이터와 학습 흐름을 먼저 보게 해 줍니다. 데이터, 손실, 학습, 평가 같은 말을 무서워하지 않고 읽을 수 있으면 된다고 이해합니다.

Part 2에서 잡아야 할 최소 지도

Part 2의 흐름은 다음처럼 정리할 수 있습니다.

flowchart TD
  A["수식 표기<br/>읽기와 해석"]
  B["Python<br/>작은 계산 실습"]
  C["NumPy<br/>배열 계산"]
  D["Pandas<br/>표 데이터 다루기"]
  E["Matplotlib<br/>시각화"]
  F["Git<br/>재현 가능한 기록"]
  G["머신러닝<br/>Part 3"]

  A --> B --> C
  C --> D
  D --> E
  B --> F
  E --> F
  F --> G

이 지도에서 중요한 것은 도구 이름이 아닙니다. 각 도구가 어떤 질문에 답하는지입니다.

영역 Part 3에서 필요한 질문
수식 이 계산은 무엇을 합치고, 평균내고, 줄이려 하는가
Python 작은 예제를 직접 실행해 볼 수 있는가
NumPy 입력과 출력의 배열 모양을 읽을 수 있는가
Pandas 데이터셋을 행과 열로 볼 수 있는가
Matplotlib 학습 결과와 데이터 분포를 눈으로 확인할 수 있는가
Git 원고, 코드, 결과를 다시 추적할 수 있는가

여기서 Git을 따로 떼어 읽지 않는 것도 중요합니다. Part 3에서는 모델 이름을 비교하는 것보다 어떤 입력을 썼고, 무엇을 바꿨고, 어떤 결과가 달라졌는지를 다시 설명할 수 있어야 합니다.

Part 3에서 다시 만날 실험 장면 Part 2에서 이미 들고 넘어가야 하는 기록 감각
train/test 분할을 바꿔 다시 돌려 본다 무엇을 바꿨는지 커밋 한 줄이나 실험 메모처럼 남긴다
feature를 하나 더 넣거나 뺀다 입력 열이 어떻게 달라졌는지와 결과 차이를 함께 적는다
그래프 모양이나 지표 해석이 바뀐다 숫자만이 아니라 어떤 표와 그래프를 보고 판단했는지 남긴다

이 표의 목적은 Git 명령을 더 외우게 하는 데 있지 않습니다. 현재 절에서는 계산을 했다무엇을 바꿔 어떤 결과가 달라졌는지 다시 설명할 수 있다가 같은 말이 아니라는 점을 분명히 잡습니다. 그래서 Part 2의 Git은 개발자 부록이 아니라, Part 3 실험 비교를 다시 읽게 만드는 기록 손잡이입니다.

반드시 다시 확인할 개념

다음 항목은 Part 3에서 매우 자주 다시 나옵니다. 완벽한 증명은 필요 없지만, 용어를 봤을 때 어디로 돌아가야 하는지는 알아야 합니다.

개념 대표 Section Part 3에서 다시 등장하는 위치
변수(variable), 함수(function) P2-2.2 모델이 입력을 출력으로 바꾸는 설명
벡터(vector), 행렬(matrix) P2-3.1 입력 데이터 X, 가중치, 특징 묶음
평균(mean), 분산(variance) P2-5.2 데이터 요약, 스케일, 분포 이해
손실 함수(loss function) P2-6.1 모델이 무엇을 줄이려 하는지 설명
경사하강법(gradient descent) P2-6.3 학습이 값을 조정하는 방식
표본(sample), 특징(feature), 라벨(label) P2-12.3 지도학습 데이터 구조
축(axis), shape P2-11.2 NumPy와 Pandas 데이터 모양
그래프(plot) P2-13.1 학습 곡선과 평가 결과 확인

이 중 하나가 흐릿해도 Part 3로 넘어갈 수 있습니다. 다만 해당 단어가 나오면 먼저 위 대표 Section나 개념사전으로 돌아가 짧게 다시 확인해야 합니다.

이때 중요한 것은 Part 2 전체를 처음부터 다시 읽는 일이 아니라, 막힌 단어와 질문에 맞는 절만 짧게 다시 보고 곧바로 Part 3 흐름으로 복귀하는 것입니다.

Part 3에서 바로 만날 표현

scikit-learn 문서는 모델을 estimator라고 부르고, 일반적으로 fit으로 데이터를 학습시키고 predict로 새 데이터의 결과를 예측하는 흐름을 보여 줍니다. 또한 입력 데이터 X는 보통 샘플이 행(row), 특징이 열(column)인 형태로 설명됩니다.

여기서는 다음 표를 먼저 기억합니다.

표현 먼저 읽는 방식
X 모델에 넣는 입력 데이터 묶음
y 지도학습에서 맞추려는 정답 또는 라벨
sample 데이터 한 건, 보통 한 행
feature 모델이 참고하는 입력 속성, 보통 한 열
fit 데이터로 모델을 학습시키는 동작
predict 학습된 모델로 새 입력의 출력을 계산하는 동작
train data 모델이 학습할 때 보는 데이터
test data 학습 이후 성능을 확인하는 데이터

여기서 중요한 것은 fitpredict를 마법처럼 보지 않는 것입니다. Part 1에서 봤던 학습(learning)과 모델 실행(inference)이 코드 API 형태로 나타난 것입니다.

여기서 한 번 더 작게 묶으면 다음 순서를 바로 읽을 수 있어야 합니다.

flowchart LR
    table["표 데이터"]
    xy["X와 y 구성"]
    split["train / test 분리"]
    fit["학습(fit)"]
    predict["예측(predict)"]
    metric["평가 지표(metric)"]

    table --> xy --> split --> fit --> predict --> metric

이 흐름에서 막히는 지점이 있으면 다음처럼 돌아갑니다.

막히는 표현 먼저 돌아갈 위치
shape, 행(row), 열(column) P2-11.2
feature, target, X, y P2-12.3
loss, 오차(error), 평균(mean) P2-5, P2-6, P2-15.1
실행 환경, 노트북, 터미널 P2-3.5, Chapter 7, Chapter 10

넘어가도 되는 것과 멈춰야 하는 것

Part 3로 넘어가기 전에 모든 내용을 완벽히 외울 필요는 없습니다. 다음처럼 구분합니다.

상태 판단
수식의 모든 증명을 못 한다 넘어가도 된다
Python 문법을 모두 외우지 못한다 넘어가도 된다
NumPy의 모든 함수가 낯설다 넘어가도 된다
Xy가 무엇인지 전혀 구분되지 않는다 잠시 멈추고 Part 2 Chapter 11, Chapter 12를 복습한다
평균, 손실, 오차의 차이가 전혀 구분되지 않는다 Part 2 Chapter 5, Chapter 6, P2-15.1을 다시 본다
코드를 어디에서 실행해야 하는지 모른다 P2-3.5, Part 2 Chapter 7, Chapter 10을 다시 본다
결과 그래프를 보고 축이 무엇인지 모른다 Part 2 Chapter 13을 다시 본다

완벽하지 않아도 됩니다. 하지만 입력, 출력, 데이터 모양, 평가 결과를 전혀 구분할 수 없다면 Part 3가 모델 이름 암기로 흐를 가능성이 큽니다.

Part 3를 읽는 기준

Part 3에서는 알고리즘 이름보다 다음 질문을 먼저 봅니다.

  1. 이 문제는 무엇을 예측하거나 분류하려 하는가?
  2. 입력 X는 어떤 모양인가?
  3. 라벨 y는 있는가?
  4. 학습 데이터와 평가 데이터는 나뉘어 있는가?
  5. 모델은 어떤 손실이나 기준을 줄이려 하는가?
  6. 평가 지표(metric)는 무엇을 보고 있는가?
  7. 그래프나 표로 결과를 확인할 수 있는가?

이 질문을 유지하면 Part 3의 여러 알고리즘을 서로 다른 이름 목록으로만 보지 않게 됩니다.

사례 및 예시

사례 1. 모델 이름은 아는데 데이터 흐름이 안 보이는 상태

학습자가 선형회귀, 로지스틱 회귀, 의사결정나무 같은 이름은 들어 봤지만, 실제 문서를 읽으면 X, y, fit, predict, train, test가 먼저 나와서 막힌다고 해 보겠습니다. 사람은 알고리즘 이름을 알고 있어도, 데이터가 어떤 모양으로 들어가고 무엇이 정답 열인지 구분되지 않으면 설명이 이어지지 않습니다.

이때 Part 2의 역할은 모델을 미리 배우는 일이 아니라, 그 문서를 읽을 최소 공통 언어를 복구하는 일입니다. X는 입력 열 묶음, y는 맞혀야 할 정답, fit은 학습, predict는 학습된 모델 실행이라는 대응만 잡혀도 Part 3의 첫 장면이 훨씬 덜 낯설어집니다.

또한 이 사례는 완벽히 외우고 넘어가야 한다는 오해를 줄여 줍니다. 평균, 손실, 배열 shape, DataFrame의 행과 열, 그래프 축 같은 기본 요소를 다시 찾아볼 수 있으면 Part 3로 넘어갈 수 있고, 막히는 지점에서 Part 2의 관련 절로 돌아오면 됩니다.

즉 Part 2의 점검은 시험이 아니라 지도 확인에 가깝습니다. 모델 이름을 많이 아는 것보다, 데이터를 읽고 학습 흐름을 따라갈 준비가 되었는지를 확인합니다.

사례 2. shape는 읽히는데 X, y로는 이어지지 않는 상태

학습자가 shape = (100, 5)를 보고 100행 5열이라고는 말할 수 있다고 해 보겠습니다. 그런데 Part 3 문서에서 X_train.shape, y_train, feature, sample이 나오면 그 숫자가 학습 문맥에서 무엇을 뜻하는지는 바로 연결하지 못할 수 있습니다.

이때는 NumPy 절과 Pandas 절을 따로 외운 것이 아니라, 둘을 같은 장면으로 다시 묶어야 합니다. X는 보통 샘플이 행, 특징이 열인 입력 행렬이고, y는 같은 샘플 수를 가진 정답 벡터라는 점만 다시 잡아도 Part 3의 첫 코드 예제가 훨씬 덜 낯설어집니다.

shape를 읽는다에서 멈추지 않고, shape가 X와 y의 역할로 어떻게 이어지는가까지 연결해야 Part 3 진입 준비가 됩니다.

체크리스트

  • Part 2의 목표는 완전한 수학·프로그래밍 학습이 아니라 머신러닝을 읽을 최소 기반 복구라고 설명할 수 있는가?
  • Part 3에서는 모델 이름보다 데이터 모양, 학습 흐름, 평가 기준을 먼저 봐야 한다는 점을 설명할 수 있는가?
  • X, y, fit, predict가 Part 2에서 배운 배열, 표, 함수 실행 흐름과 연결된다는 점을 설명할 수 있는가?
  • 작은 표에서 어떤 열이 feature이고 어떤 열이 label인지 적을 수 있는가?
  • X.shape = (4, 3)을 보면 샘플 4개, 특징 3개라고 말할 수 있는가?
  • y.shape = (4,)를 보면 샘플별 정답 묶음이라고 설명할 수 있는가?
  • fit(X_train, y_train)predict(X_test)를 학습과 새 입력 계산으로 구분할 수 있는가?
  • 손실, 오차, 평가 지표가 서로 다른 역할임을 말할 수 있는가?
  • 머신러닝은 수식, 코드, 데이터, 평가가 함께 움직이는 학습 흐름으로 읽어야 한다는 점을 설명할 수 있는가?
  • 이해가 흐릿한 개념은 Part 2로 돌아와 다시 확인하면 된다는 점을 기억하고 있는가?
  • 막히는 표현이 나왔을 때 P2-11.2, P2-12.3, P2-5/6, P2-3.5 중 어디로 돌아갈지 고를 수 있는가?

출처와 참고 자료

  • scikit-learn developers, Getting Started, scikit-learn documentation, 확인 날짜: 2026-07-20. https://scikit-learn.org/stable/getting_started.html estimator, fit, predict, X, y의 입문 흐름을 확인하는 직접 참고 자료입니다.
  • scikit-learn developers, Glossary of Common Terms and API Elements, scikit-learn documentation, 확인 날짜: 2026-07-20. https://scikit-learn.org/stable/glossary.html sample, feature, target, training/test data 같은 Part 3 진입 용어의 기준입니다.
  • NumPy Developers, NumPy: the absolute basics for beginners, NumPy documentation, 확인 날짜: 2026-07-20. https://numpy.org/doc/stable/user/absolute_beginners.html shape, 차원, 배열 모양을 Xy의 데이터 구조로 연결하는 부분의 참고 자료입니다.