Menu
CoddyTech

모델에 입력할 데이터

Coddy의 머신 러닝 입문 코스 레슨. 19개 중 2번째.

머신러닝에서 데이터는 모델을 훈련하고 개발하는 데 중요한 역할을 합니다. 모델에 데이터를 입력하기 위해, 데이터는 일반적으로 데이터셋(pandas의 DataFrame)이라고 알려진 구조화된 형식으로 구성됩니다.

데이터셋은 크게 두 부분으로 구성됩니다: 

  • 특성(Features) - 데이터 세트를 나타내는 여러 개의 열
  • 타겟 변수(Target variable) - 모델이 예측하거나 추정하고자 하는 출력값 또는 결과값입니다.

예를 들어, 여기 날씨(Weather) 테이블이 있습니다.

iddegrees (C)humidity (%)wind (KM/H)is_rain
123514True
2301017False
315312False
420125False
5265723True

비가 올지 알고 싶다고 가정하면, 특성은 degrees, humidity, wind이고 타겟 변수는 is_rain입니다.

특성은 <strong>X</strong>로 표시되고, 타겟은 <strong>y</strong>로 표시됩니다.
타겟 변수(<strong>y</strong>)는 숫자, 불리언(boolean), 문자열 등 모든 유형의 데이터를 가질 수 있습니다.

 

훈련 과정 동안 모델은 특성을 입력으로 사용하고, 타겟 변수를 정답(ground truth) 또는 올바른 출력으로 사용합니다.

타겟 변수가 없으면 모델은 자신의 예측이 맞는지 틀린지 알 수 있는 방법이 없습니다.

데이터셋의 구조에는 다음과 같은 다양한 변형이 있습니다:

  • 다수의 특성, 단일 타겟 변수
  • 단일 특성, 단일 타겟 변수
  • 다수의 특성, 다수의 타겟 변수
  • 적은 특성, 단일 또는 다수의 타겟 변수
  • 타겟 변수 없음
  • 시계열 데이터
  • 기타 등등

지도 학습(Supervised learning)은 입력-출력 쌍이 있는 데이터셋을 포함하며, 알고리즘은 입력을 해당 타겟 변수에 매핑하는 방법을 배웁니다.

비지도 학습(Unsupervised learning)은 타겟 변수를 포함하지 않습니다. 대신 레이블이 지정된 예시 없이 입력 데이터에서 패턴이나 구조를 찾습니다.

타겟 변수가 다른 열로부터 독립적인지 확인하는 것이 매우 중요합니다. 의존성이 있으면 데이터 누수(data leakage)가 발생하여 훈련 중에 오해의 소지가 있는 높은 성능을 보일 수 있기 때문입니다. 진정한 예측 모델은 타겟과 직접적으로 관련이 없는 특성으로부터 학습해야 하며, 이를 통해 모델 예측의 무결성과 일반화 가능성을 유지해야 합니다.

독립적인 타겟 변수는 데이터셋의 다른 열에서 직접 계산되거나 파생될 수 없습니다. 그것이 바로 여러분이 예측하고자 하는 대상입니다.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

challenge icon

챌린지

쉬움

galactic_zoo_no_target.csv라는 이름의 CSV 파일이 주어집니다. 이 데이터셋에는 타겟 변수가 없습니다.

이 챌린지에서는 직접 타겟 변수를 생성하게 됩니다. 다음 공식을 사용하여 ComplexityIndex라는 이름의 컬럼을 생성하세요: WaterCoverage * HabitatDiversity / PlanetMass. 그런 다음, ComplexityIndex로 대체된 WaterCoverage, HabitatDiversity, PlanetMass 컬럼을 삭제하세요.

챌린지를 통과하려면 아무것도 출력하지 마세요. 내부적으로 df 변수를 확인합니다.

직접 해보기

# pandas는 pd로 이미 임포트되어 있습니다
df = pd.read_csv("galactic_zoo_no_target.csv")
# 아래에 코드를 작성하세요

머신 러닝 입문의 모든 레슨

직접 연습해 보세요: 온라인 Python 컴파일러