Apache PredictionIO : Spark를 통한보다 쉬운 기계 학습

Apache Foundation은 원래 Salesforce 자회사에서 고안 한 프로젝트의 오픈 소스 버전 인 Apache PredictionIO에 새로운 기계 학습 프로젝트를 추가했습니다.

기계 학습 및 Spark를 위해 PredictionIO가 수행하는 작업

Apache PredictionIO는 Spark 및 Hadoop을 기반으로 구축되며 일반적인 작업에 대해 사용자 지정 가능한 템플릿을 사용하여 데이터에서 Spark 기반 예측을 제공합니다. 앱은 데이터를 PredictionIO의 이벤트 서버로 전송하여 모델을 학습 한 다음 모델에 기반한 예측을 엔진에 쿼리합니다.

Spark, MLlib, HBase, Spray 및 Elasticsearch는 모두 PredictionIO와 함께 번들로 제공되며 Apache는 Java, PHP, Python 및 Ruby 작업을 위해 지원되는 SDK를 제공합니다. 데이터는 JDBC, Elasticsearch, HBase, HDFS와 같은 다양한 백엔드에 저장 될 수 있으며 해당 로컬 파일 시스템은 모두 즉시 지원됩니다. 백엔드는 플러그 가능하므로 개발자는 사용자 정의 백엔드 커넥터를 만들 수 있습니다.

PredictionIO 템플릿을 사용하여 Spark에서 예측을 더 쉽게 제공하는 방법

PredictionIO의 가장 눈에 띄는 장점은 기계 학습 엔진을 만들기위한 템플릿 시스템입니다. 템플릿은 특정 종류의 예측을 제공하도록 시스템을 설정하는 데 필요한 부담을 줄여줍니다. Apache Mahout 머신 러닝 앱 프레임 워크와 같이 작업에 필요할 수있는 타사 종속성을 설명합니다.

기존 템플릿에는 다음이 포함됩니다.

  • 보편적 인 추천 엔진.
  • 텍스트 분류.
  • 생존 분석 (고장 간 시간 예측 용).
  • Wikipedia를 지식 기반으로 사용하여 주제에 레이블 지정.
  • 유사성 분석.

일부 템플릿은 다른 기계 학습 제품과도 통합됩니다. 예를 들어 현재 PredictionIO의 갤러리에있는 두 가지 예측 템플릿은 이탈률 감지 및 일반 권장 사항을 위해 Spark에 대한 H2O.ai의 Sparkling Water 향상 기능을 사용합니다.

PredictionIO는 또한 예측 엔진을 자동으로 평가하여 사용할 최적의 하이퍼 파라미터를 결정할 수 있습니다. 개발자는이를 수행하는 방법에 대한 메트릭을 선택하고 설정해야하지만 일반적으로 하이퍼 파라미터를 수동으로 조정하는 것보다이를 수행하는 데 관련된 작업이 적습니다.

서비스로 실행되는 경우 PredictionIO는 예측을 단독으로 또는 일괄 적으로 수락 할 수 있습니다. 일괄 예측 작업에 사용되는 알고리즘이 모두 직렬화 가능한 경우 일괄 예측은 Spark 클러스터에서 자동으로 병렬화됩니다. (PredictionIO의 기본 알고리즘은 다음과 같습니다.)

PredictionIO 다운로드 위치

PredictionIO의 소스 코드는 GitHub에서 사용할 수 있습니다. 편의를 위해 다양한 Docker 이미지와 Heroku 빌드 팩을 사용할 수 있습니다.