[Spark] ML Pipeline

Peter·2021년 7월 27일
0

Spark

목록 보기
10/11

ML Pipeline

최적의 하이퍼 파라미터 선택

  • 하나씩 테스트? 다수를 동시 테스트?
  • 교차검증, 홀드 아웃 등 스파크에서 제공하는 테스트 방법으로 테스트
  • 파이프라인이 다수를 동시에 테스트 하는 것을 수월하게 해줌

모델 테스트 방법

  • 교차 검증: CrossValidator
  • 훈련/테스트셋 나누기: TrainValidationSplit

https://www.slideshare.net/JunyoungPark22/common-design-for-distributed-machine-learning

  • K-Fold 테스트
  • 트레이닝 셋을 K개의 서브셋으로 나눠 K번 훈련을 방법
  • 오버피팅 위험도가 감소함

모델 튜닝

  • Estimator, Evaluator, Parameter(훈련 반복 횟수 등의 하이퍼 파라미터)
    - 특히 ParamGridBuilder를 이용 여러가지 파라미터를 순차적으로 사용해 학습을 진행하도록 함
  • 가장 좋은 결과를 가진 모델을 리턴

Evaluator

  • evaluate 함수가 제공
  • 머신러닝 알고리즘에 따라 그에 맞는 Evaluator가 제공
    - RegressionEvaluator
    - BinaryClassificationEvaluator
    - MulticlassClassificationEvaluator
    - MultilabelClassificationEvaluator
    - RankingEvaluator

Spark MLib 머신러닝 모델 빌딩 프로세스

https://medium.com/analytics-vidhya/what-is-a-pipeline-in-machine-learning-how-to-create-one-bda91d0ceaca

  • Transformer, Estimator 가 합쳐서 진행하는 Pipeline을 만들어줌
  • 파이프라인에 ParamGrid를 더해 다양한 하이퍼파라미터를 사용해 차례로 학습진행하고 결과값이 좋은 모델을 리턴
profile
컴퓨터가 좋아

0개의 댓글