PredictionIO的组件构成主要包括:
PredictionIO platform:开源的机器学习栈,用于构建、估算、部署机器学习算法的引擎
Event Server:开源的机器学习分析层,实现跨平台的统一事件分析
Template Gallery:对于不同的机器学习应用提供引擎模板下载
Event Server
通常,PredicitonIO的Event Server会持续的收集应用的数据,而PredictionIO engine会使用数据+算法构建预测模型。当模型被发布为web服务之后,engine会实时监听来自应用的请求,并返回预测结果。
Event Server收集数据主要出于两个目的:
为Engine模型训练和预测提供数据
提供统一的数据分析视图
像数据库服务器,Event Server可以支持多个应用,不同应用通过唯一的app_name
区分。
有时,你可能并不希望engine从Event Server读取数据,此时需要做些修改。
Engine
Engine负责模型训练和预测,它可以包含多个机器学习算法。PredicitonIO的template gallery提供各种机器学习任务使用的engine template。模板的主要组件包括:Data Source,Data Preparator,Algorithm,Serving。