使用oneDAL增强数据分析

目录

你可以用oneDAL做什么

数据管理

分析

机器学习模型训练

机器学习模型预测

结论

获取软件


随着人工智能和数据分析领域处理大型数据集的用例数量的增加,硬件和架构要求的复杂性也在增加。根据所需的任务,您可能需要在CPUGPUAI或其他加速器上运行混合架构,包括标量、矢量、矩阵和空间。这对于加快大数据处理以降低成本和完成时间至关重要。

挑战在于编写支持这些体系结构的代码。在CPU上运行的代码需要的工具与在GPU或其他加速器上运行的代码不同。随着项目从单节点扩展到分布式处理,通常需要新的工具和API。这可能意味着在代码重复的基础上需要额外的开发时间,以便将代码移植到不同的体系结构。

为了解决这个问题,oneAPI提供了一个编程模型,该模型支持与架构无关的代码。这允许开发人员重用可以执行的代码,例如使用SYCL*针对CPUGPUSYCL*是支持不同体系结构之间映射的语言。

Intel® oneAPI 数据分析库(oneDAL)是一个库,其中包含创建分布式数据管道以转换、处理和建模数据所需的所有构建模块。具有oneAPI的所有架构灵活性。这可以通过Intel®发行版for Python*C++Java API来实现,这些API可以连接到熟悉的数据源,如Spark*Hadoop*

你可以用oneDAL做什么

oneDAL包括流行机器学习和分析算法的优化版本,以帮助构建可在不同体系结构上运行的快速数据应用程序。这些功能涵盖所有分析阶段,包括数据管理、分析、培训和预测。

数据管理

数据管理是任何大数据处理平台中至关重要的一步。它包括从不同源引入数据并处理该数据,以便为下游使用做好准备。如果没有这个,分析师和数据科学家将不得不获取和处理数据,这对于较小的数据集来说很好,但在处理大量和不同格式的数据时会变得更慢、更困难。

oneDAL具有用于将内存外数据源(如数据库和文本文件)传输到内存中的工具,以便在分析、训练或预测阶段使用。如果数据源无法放入内存,oneDAL中的算法还支持将数据流式传输到内存中。

数据科学家经常花费大量时间来准备数据以进行分析或机器学习(ML)。这包括将数据转换为数字表示形式、添加或删除数据、规范化数据或计算统计数据。oneDAL提供了加速这些准备任务的算法,加快了通常以交互方式执行的步骤的周转速度。

例如,假设您正在使用数据库中的销售数据构建ML模型。首先,您将使用oneDAL数据管理工具将数据源流式传输到内存中以提高处理性能。然后,您可以使用一些数据准备工具将非数字数据(如销售产品类别)转换为更适合模型的数字格式。您还可以计算一些基本统计数据,例如某些销售值的平均值、方差和协方差,因为它们对于输入ML模型很有用。
然后,最后一个oneDAL数据管理步骤使您能够将此数据流式传输到您选择的ML算法中。

分析

大数据过程的主要目的之一是支持对来自各种来源的大量数据的分析。数据分析是将数据转化为有助于做出关键业务决策的信息的关键步骤。

如上一节所述,oneDAL数据管理工具将预先准备好的数据流式传输到内存中,以供下游分析或机器学习算法访问。有许多不同的分析算法可用,例如k均值聚类和异常值检测,您可以在C++JavaPython *中实现这些算法。将Intel® oneAPI DPC++/C++编译器与C++Python结合使用,可以并行处理数据。

例如,如果要根据年龄、性别和平均支出等多个属性对用户进行细分,则可以使用 k均值聚类分析算法。通过在oneDAL中使用实施,特别是将C++Python与英特尔编译器结合使用,您可以获得开箱即用的并行数据处理。这对于在大型数据集上运行分析算法非常有用,因为并行处理极大地缩短了执行时间。

机器学习模型训练

准备好用于机器学习算法的数据集后,训练通常是计算最密集的步骤,因为它需要预先处理所有相关数据才能生成预测模型。

ML模型训练有两个主要的复杂性:管理输入数据和训练时间。对于前者,您已经了解了oneDAL如何帮助管理和准备数据,以便将其用于训练ML模型;拥有干净的数据对于提高任何模型的准确性至关重要。

oneDAL还可以帮助克服长时间训练的挑战。与分析算法类似,oneDAL通过oneAPI为机器学习训练算法提供开箱即用的支持,支持并行处理和硬件加速。例如,您可以下载面向Scikit-learn的Intel®扩展模块*,以加速Python scikit-learn 库中的算法。

假设您已经在Python中使用scikit-learn构建了一个支持向量分类器来识别医学图像中的异常。目前训练需要数小时,如果不添加更多数据和增加训练时间,就无法提高模型准确性。

只需切换到英特尔优化的dscikit-learn库,几乎无需更改其他代码,根据英特尔的基准测试,您的训练运行速度可以提高2577倍。如果使用即用即付云资源,这将减少培训时间和成本。但主要是,它创造了通过使用更多数据或调整模型来进一步改进模型的可能性,因为您现在在训练时间中有更多的空间。

机器学习模型预测

机器学习管道的最后阶段是使用训练中生成的模型进行预测。这些预测用于做出决策,例如向用户推荐哪些电视节目或用户属于哪个细分。当然,训练和预测阶段是紧密耦合的。但是,oneDAL将它们分开,因为训练的计算量更大;它需要比预测阶段更多的资源。它还允许在oneDAL中使用预先训练的模型。

使用oneDAL进行预测的主要好处是,经过训练的模型可以部署到各种体系结构,因为oneDAL负责抽象不同的体系结构要求。这使得执行预测的应用程序能够重用代码,并将这些预测的使用开放给许多不同的系统。

结论

AI和机器学习应用程序的要求差异很大,因此需要开发并部署到各种架构。异构计算系统的增长为加速这些算法的处理提供了更多机会。加速的一个好处是能够处理大数据。oneDAL包括针对各种体系结构优化的机器学习算法,但使用相同的API,这意味着您可以对项目所需的任何类型的系统使用相同的应用程序代码。

此外,oneDAL加速了许多您熟悉的工具和库,使您能够重用现有代码。此外,oneDAL具有oneAPI的所有优点,这意味着底层架构从开发人员那里抽象出来,允许跨不同系统更快地开发和测试应用程序。

获取软件

Intel® oneAPI基础工具包
开始使用这套核心工具和库,用于跨各种架构开发以数据为中心的高性能应用。

立即
获取 查看所有工具

本文最初发表于 Enhance Data Analytics and Machine Learning with oneDAL

https://www.codeproject.com/Articles/5344745/Enhance-Data-Analytics-with-oneDAL

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值