Enterprise Just Builder

Solution for Enterprise Software Architecture

PyDAAL

PyDAAL 简介 (1)数据结构

Intel DAAL 是在针对英特尔架构优化过构建模块上编写的, 为所有数据分析阶段提供了支持。通过 DAAL, 数据驱动决策获得了包括数据获取、预处理、转换、数据挖掘、建模和验证等等基础支撑。Python 用户可以通过称为 PyDAAL 的 Python API 获取这些基础支撑。 利用 Python 进行机器学习时,你可以通过一个简单的脚本 API 来访问 PyDAAL。此外, PyDAAL 提供了独特功能, 可以轻松地将 Python 脚本化的批处理分析扩展到在线 (流) 数据获取和/或分布式数学处理。

在本系列文章中, 我们将从最基础的部分开始,逐一介绍 PyDAAL 的基础知识。第一部分将介绍 Intel DAAL 的自定义数据结构、数值表和数据管理在 PyDAAL 世界里的表示。1

一、PyDAAL 数据管理
Intel DAAL 支持以下几种数据处理方式:

  • 批处理
  • 在线处理
  • 分布式处理
  • 复杂处理(结合在线处理和分布式处理)

本文重点关注批处理方式。在线和分布式处理将在后面的文章中进行讨论。

编程方面的一些思考
强类型:Python 脚本大量使用了动态类型 (鸭子类型) , 借助于 Python 解释器在运行时来进行类型推断。但对于内存占用敏感或进行混合代码部署的情况, 这种做法可能会导致问题。PyDAAL API 调用了用 C++ 和汇编语言编写的库, 这迫使用户使用混合代码环境。因此, PyDAAL 需要一致的类型, 其支持 numpy 类型 “np.float32”, “np.float64”, 和 “np.intc” 。静态/强类型不仅允许显式声明数据类型以实现最佳内存管理, 还可以在编译过程中强制进行类型检查, 大大缩短了运行时间。

>>> 阅读全文

 

, , ,