[Spark] Spark Mlib

Peter·2021년 7월 26일
0

Spark

목록 보기
5/11

Spark MLib?

머신러닝 관련 다양한 알고리즘, 유틸리티로 구성된 라이브러리

  • Classfication, Regression, Clustering, Collaborative Filtering, Dimensionality, Reduction 등
  • 딥러닝 분야는 아직 약함

RDD기반 & 데이터프레임 기반

  • spark.mlib가 RDD기반
  • spark.ml은 데이터프레임 기반
  • spark.mlib은 RDD는 더 이상 업데이트 안됨 spark.ml 사용해야함

SPARK MLIB 장점

  • 데이터프레임과 SparkSQL등을 이용해 전처리
  • Spark Mlib을 이용해 모델 빌딩
  • ML Pipeline을 통해 모델 빌딩 자동화
  • MLflow로 모델 관리, 서빙
  • 대용량 데이터도 처리 가능
  • spark안에서 모든게 가능하다는 것

MLflow

모델의 관리와 서빙을 위한 Ops 관련 기능 제공

  • 모델 개발과 테스트와 관리와 서빙까지 제공해주는 End-to-End 프레임워크
  • MLflow는 파이썬, 자바, R, API를 지원
  • MLflow는 트래킹, 모델, 프로젝트를 지원

Spark Mlib 알고리즘

Classification

  • Logistic regression, Decision tree, Random forest, Gradient-boosted tree...

Regression

  • Linear regression, Deicision tree, Random forest, Gradient-boosted tree...

Clustering

  • K-means, LDA(Latent Dirichlet Allocation), GMM(Gaussian Mixture Model)...

Collaborative Filtering

  • 명시적인 피드백과 암묵적인 피드백기반
  • 명시적인 피드백 -> 리뷰 평점
  • 암묵적인 피드백 -> 클릭, 구매 등

Spark MLib 기반 모델 빌딩의 기본구조

  • 다른 라이브러리를 사용한 모델 빌딩과 크게 다르지 않음
  • 트레이닝셋 전처리, 모델 빌딩, 모델 검증 다 가능

Scikit-Learn과 비교

  • 차이점은 데이터의 크기
  • Scikit-Learn은 하나의 컴퓨터에서 돌아가는 모델 빌딩
  • Spark MLlib는 여러 서버 위에서 모델 빌딩
  • 트레이닝셋의 크기가 크면 전처리가 모델 빌딩에 있어 SPARK가 큰 장점을 가짐
  • 파이프라인을 통해 모델 개발의 반복을 쉽게 해줌
profile
컴퓨터가 좋아

0개의 댓글