머신러닝에서의 Estimator와 Predictor의 차이

    목차
반응형

머신러닝 모델은 Estimator? Predictor?

데이터 분석, 특히 scikit-learn의 모델을 갖고 놀다보면 estimator와 predictor를 혼용해서 쓰곤 한다. 어떤 예제에서는 `estimator.fit()`을 하고 어떤 예제에서는 `predictor.predict()`를 한다. 분명 둘의 차이가 있고 느낌은 오는데 명확하게 답하기가 어렵다. 그래서 scikit-learn 공식 문서와 다른 글들을 참고하여 정리해보았다.

 

Estimator

  • 추정기
  • 가지고 있는 데이터로 값 또는 데이터 사이의 관계 등을 추정하는 것
  • 예시
    • 표본 평균은 모평균을 “추정”하는 값
    • 머신러닝의 모델을 학습/생성하는 과정
    • 딥러닝의 weights를 업데이트 하는 과정이 추정(관계를 추정)
  • 일반적으로 `.fit()` 메서드를 가지고 있음

 

Predictor

  • 예측기
  • 새로운 데이터를 넣어 값을 예측하는 것
  • 보통 추정이 끝나고 실행하는 단계
  • `.predict()` 메서드를 사용하여 예측

 

 

Transformer

  • 변환기
  • 데이터를 변환하는 작업에 쓰임
  • Imputer, PCA, Scaler, Label Encoder 등
  • `.fit()`과 `.transform()`이 합쳐진 `.fit_transform()` 사용

 

 

요약

  • 우리가 아는 대다수 머신러닝 모델은 `.fit()`의 Estimator → `.predict()`의 Predictor의 과정을 거친다.

scikit-learn 공식 문서

 

 

참조

 

 

728x90
반응형