특성(X)과 라벨(y)의 분리

40 P
QUESTION 07 #330
데이터셋의 각 행에서 입력 데이터(기온, 습도)와 결과 데이터(판매량)를 분리하여 각각의 리스트에 담는 과정입니다. 빈칸을 채워보세요.
main.py
# 데이터: [기온, 습도, 판매량]
dataset = [[20, 70, 50], [25, 80, 80], [30, 85, 110]]
X = [] # 입력 데이터
y = [] # 결과 데이터

for row in dataset:
    # 0번, 1번 인덱스는 X에 추가
    X.append(row[0:2])
    # 마지막 2번 인덱스는 y에 추가
    label = row[]
    y.(label)

print(y)
실행 결과 예시
[50, 80, 110]
INTERACTIVE SHELL Shift + Enter 로 즉시 실행

💡 머신러닝의 첫걸음: 데이터 분리(Split)

머신러닝 모델을 학습시키기 위해서는 전체 데이터에서 입력 데이터(X)정답 데이터(y)로 나누는 과정이 반드시 필요합니다.


1. 독립변수 (Feature, X)

  • 정의: 결과에 영향을 주는 원인이 되는 변수들입니다.
  • 이 문제에서는: 기온습도가 여기에 해당합니다.
  • 표기: 관례적으로 대문자 X로 표기합니다 (여러 개의 특성을 가진 행렬 형태이기 때문입니다).

2. 종속변수 (Target/Label, y)

  • 정의: 원인에 따라 결정되는 결과값이 되는 변수입니다.
  • 이 문제에서는: 우리가 예측하고자 하는 판매량이 여기에 해당합니다.
  • 표기: 관례적으로 소문자 y로 표기합니다 (대개 하나의 열로 이루어진 벡터 형태이기 때문입니다).

왜 이렇게 나누는가?

지도학습(Supervised Learning)은 컴퓨터에게 "이런 환경(X)일 때 정답은 이거야(y)"라고 가르치는 과정입니다.
따라서 공부할 문제(X)와 해답지(y)를 분리하여 제공해야만 모델이 그 사이의 패턴(규칙)을 스스로 찾아낼 수 있습니다.

# 분리된 데이터의 구조 예시
X = [[20, 70], [25, 80], [30, 85]] # 문제지
y = [50, 80, 110]                  # 정답지

실무에서의 데이터 분리

구분 내용 예시
X (입력) 모델이 보는 정보 기온, 습도, 요일, 계절
y (정답) 모델이 맞춰야 할 답 판매량

실무에서는 특성(X)이 수십~수백 개가 되는 경우가 많으며, 이때 어떤 특성을 선택하느냐가 모델의 성능을 크게 좌우합니다.
이를 특성 선택(Feature Selection)이라고 합니다.