结合Apache Ignite探索机器学习

此前的文章中,咱们讨论过Apache Ignite机器学习网格。当时仅有测试版。在随后的版本2.4中,机器学习得以运用。新版本对部份内容进行了更新,支持基于分区的数据集以及遗传算法。Apache Ignite提供了多种可独立运行的机器学习示例,将入门学习变得简易。在本系列的后续文章里,咱们将利用Ignite支持的机器学习算法对部分开源数据集进行分析。算法

简介apache

咱们将在本部分对机器学习网格进行简单的回顾,图1展现了机器学习网格的结构。服务器

figure1

图1:机器学习网格机器学习

首先,Apache Ignite所呈现的机器学习能力至关实用,可在Ignite内直接构建预测模型。基于此,用户在不采起高代价ETL(Extract-Transform-Load)过程或数据传输的状况下,获取高规模高性能的预测模型。分布式

在Ignite出现以前,机器学习模型得训练和部署在不一样的系统上。例如,用户须要将数据移出Ignite,接着使用其它工具对数据进行训练,这样模型才能部署到不一样的系统中。此方法存在以下缺点:工具

  • 须要一个花费昂贵的ETL 进程,特别是针对大型数据集。
  • 在进行ETL时会对数据进行快照。以后,实时系统中的数据也许会发生改变,因此须要将已训练的数据存放至训练集中。

其次,现今多数系统需处理大量的数据,这些数据一般会超过单个服务器容量。分布式计算很好的解决了这个问题,但一些平台并不是为数据存储和操做而设计,它们仅适合训练。因此,研发人员须要考虑如何在生产环境中解决由部署所引起的复杂问题。性能

Ignite所呈现的机器学习能力致力于解决以下问题:学习

  • 结合Ignite处理数据,能避免因不一样系统之间转换而致使的ETL昂贵问题。
  • Ignite可以提供分布式计算,实现对数据的存储及操做。
  • Ignite更新了部分机器学习算法,此举对分布式计算进行了优化,而且可充分利用Ignite进行并置处理。
  • Ignite能做为流式数据的接收器,容许机器学习实时应用。

机器学习一般是一个迭代过程,上下文可能会在算法运行时发生改变。所以,为了不工做损失和延迟,Ignite支持了基于分区的数据集,使其可以应对节点故障问题。测试

相关文章
相关标签/搜索