데이터 차원 정렬(Reshape)

40 P
QUESTION 12 #339
사이킷런 입력 규격에 맞게 1차원 데이터를 2차원 행렬로 변환하고 모델에 학습시키는 과정을 완성하세요.
main.py
import numpy as np
from sklearn.linear_model import LinearRegression

data = np.array([100, 200, 300]) # 1차원
target = np.array([10, 20, 30])

# 사이킷런 입력을 위해 (3, 1) 형태로 변환
X_2d = data.(-1, )

model = LinearRegression()
model.fit(X_2d, target)

print(f"데이터 모양: {X_2d.shape}")
실행 결과 예시
reshape, 1
INTERACTIVE SHELL Shift + Enter 로 즉시 실행

📐 데이터의 형태(Shape)가 중요한 이유

컴퓨터는 데이터의 개수와 특성의 개수를 구분해야 합니다.

  • [100, 200, 300]은 단순히 데이터가 3개 있다는 뜻이지만,
  • [[100], [200], [300]]"1개의 특성을 가진 데이터가 3행(3개) 있다"는 명확한 행렬 구조를 가집니다.

데이터가 아무리 많아도 행렬 연산을 수행하는 머신러닝 알고리즘에서는 이와 같은 2차원 구조(N rows, M columns)가 필수적입니다.