ML 모델이란 무엇인가
Coddy의 머신 러닝 입문 코스 레슨. 19개 중 3번째.
머신러닝 모델은 과거 데이터를 기반으로 예측을 수행하는 것을 목표로 합니다. 이를 효과적으로 수행하기 위해 모델은 데이터셋의 통계적 특성을 이해해야 합니다. 이러한 이해는 단순히 데이터 분포를 설명하는 알고리즘이나 수학적 함수를 모델에 제공하는 것만으로는 달성할 수 없습니다.
대신, 모델은 훈련을 통해 이러한 특성을 학습해야 합니다. 또한, 각 데이터셋은 고유한 통계적 특성을 가지고 있습니다. 따라서 각기 다른 데이터셋에 대해 별도의 모델을 훈련시켜야 합니다.
학습 단계를 fitting 또는 fit이라고 합니다. 모델이 데이터 분포를 학습한 후에는, 모델이 본 적 없는 새로운 데이터를 입력하여 그 출력을 예측할 수 있으며, 이 단계를 predicting 또는 predict라고 합니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
챌린지
쉬움이 챌린지에서는 가장 단순한 지도 학습 머신러닝 모델을 만들어 보겠습니다. 이 모델은 실제 산업 현장에서 사용되지는 않습니다. 대신, 이 모델의 전체적인 목적은 실제 머신러닝 모델이 어떤 모습인지 보여주는 데 있습니다.
해당하는 X 값에 대해 가장 빈번하게 나타나는 y 값을 반환하는 모델을 만드세요.
지침:
fit메서드는 각X에 대해 가장 빈번한y를 계산하고 그 결과를self.mode변수에 저장합니다.
예를 들어 다음과 같은 데이터셋의 경우:<strong>X</strong>A B A A B <strong>Y</strong>1 1 0 1 1 self.mode는{"A": 1, "B": 1}를 가지고 있어야 합니다.predict메서드는X_test리스트를 받아 동일한 길이의 리스트를 반환합니다. 반환된 리스트의 각 값은fit단계에서 학습된self.mode를 사용하여X에 대응하는 예측된y값입니다.
예를 들어self.mode가{"A": 1, "B": 1}를 가지고 있고X_train이['A', 'B', 'C']라면 출력은[1, 1, None]이 되어야 합니다.
테스트 케이스 통과 방법:
X_train, y_train, X_test 리스트를 받는 train_and_predict라는 이름의 함수를 만드세요. 이 함수는 다음 단계를 따릅니다:
- X_train과 y_train을 사용하여 fit 메서드로 학습합니다.
- X_test의 레이블을 예측합니다.
- 예측된 레이블을 반환합니다.
직접 해보기
import numpy as np
np.set_printoptions(legacy='1.13')
class SimpleModel:
def __init__(self):
self.mode = {}
def fit(self, X, y):
# 여기에 코드를 작성하세요
def predict(self, X):
# 여기에 코드를 작성하세요
def train_and_predict(X_train, y_train, X_test):
model = SimpleModel()
# X_train과 y_train으로 모델을 학습시킵니다
# X_test의 라벨을 예측합니다
# 예측된 라벨을 반환합니다머신 러닝 입문의 모든 레슨
직접 연습해 보세요: 온라인 Python 컴파일러