|
Apache PredictionIO:使用Spark轻松学习机器
Apache PredictionIO
现在Apache指导下的一个开源项目使用模板系统来轻松地训练和部署Spark-powered机器学习模型
Apache基金会向其名单添加了一个新的机器学习项目,Apache PredictionIO是由Salesforce的子公司最初设计的项目的开源版本。
什么PredictionIO用于机器学习和Spark
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机器学习应用程序框架。
一些现有的模板包括:
普遍推荐引擎。
文本分类。
生存分析(故障预测之间的时间)。
使用维基百科标识主题作为知识库。
相似度分析
一些模板还与其他机器学习产品集成。例如,目前在PredictionIO画廊中的两个预测模板,用于流失率检测和一般建议,使用H2O.ai的Sparkling Water增强功能。
PredictionIO还可以自动评估预测引擎,以确定与之一起使用的最佳超参数。开发人员需要选择和设置如何做到这一点的指标,但这样做的工作通常比在手动调整超参数方面要少得多。
作为服务运行时,PredictionIO可以单独接受或作为批处理。只要批量预测作业中使用的算法都可串行化,批量预测将在Spark群集中自动并行化。 (PredictionIO的默认算法是。)
哪里可以下载PredictionIO
PredictionIO的源代码可在GitHub上找到。为方便起见,可以使用各种Docker图像,以及Heroku构建包。
|
|