支持机器学习的8个数据仓库

对于规模非常大的数据集来说,理想的情况是在数据已经存在的地方建立模型,这样就不需要导出大量的数据。有一些数据仓库在一定程度上支持这一点。而随之而来的问题是:哪些数据仓库支持机器学习?它们是如何做到的?以下按字母排序对这些数据仓库进行分析和阐述。

1.Amazon Redshift

Amazon Redshift是一种托管的PB级数据仓库,旨在使用户可以使用现有的商业智能工具简单高效地分析所有的数据,它可以针对从数百GB到数PB甚至更大的数据集进行优化,并且每年每TB的存储成本不到1,000美元。

Amazon Redshift-ML旨在使用户可以轻松使用SQL命令创建、训练和部署机器学习模型。Redshift SQL中的CREATE MODEL命令定义了用于训练的数据和目标列,然后将数据通过同一区域中的加密Amazon S3存储桶传递到Amazon SageMaker Autopilot进行训练。

在进行AutoML训练之后,Redshift-ML编译最佳模型,并将其注册为Redshift集群中的预测SQL函数。然后可以通过在SELECT语句中调用预测函数来调用模型进行推理。

概要:Redshift-ML使用SageMaker Autopilot通过SQL语句从指定的数据自动创建预测模型,SQL语句被提取到S3存储桶中。其最佳的预测函数已在Redshift群集中注册。

2.BlazingSQL

BlazingSQL是一个建立在RAPIDS数据科学生态系统之上的采用GPU加速的SQL引擎,它以开源项目和付费服务的形式存在。RAPIDS是Nvidia公司开发的一套开源软件仓库和API,它使用计算统一设备架构(CUDA),并且基于Apache Arrow列式内存格式。CuDF是RAPIDS的一部分,是一个类似于Pandas的GPU DataFrame仓库,用于加载、连接、聚合、过滤和其他操作数据。

Dask是一个开源工具,可以将Python软件包扩展到多台计算机。Dask可以在同一系统或多节点群集中的多个GPU上分布数据和计算。Dask与RAPIDS cuDF、XGBoost和RAPIDS cuML集成,用于GPU加速数据分析和机器学习。

概要:BlazingSQL可以在Amazon S3中的数据湖上运行GPU加速的查询,将生成的DataFrames传递给cuDF以进行数据处理,最后使用RAPIDS XGBoost和cuML执行机器学习,并使用PyTorch和TensorFlow进行深度学习。

3.谷歌云BigQuery

BigQuery是谷歌云托管的一种PB级数据仓库,可让用户近乎实时地对大量数据进行分析。BigQuery ML允许用户使用SQL查询在BigQuery中创建和执行机器学习模型。

BigQuery ML支持线性回归进行预测;二元和多类逻辑回归进行分类;用于数据分割的K-均值聚类;用于创建产品推荐系统的矩阵分解;用于执行时间序列预测的时间序列,其中包括异常和季假日;XGBoost分类和回归模型;基于TensorFlow的深度神经网络用于分类和回归模型;AutoML表;以及TensorFlow模型。用户可以将模型与来自多个BigQuery数据集中的数据一起使用,以进行训练和预测。BigQuery ML不会从数据仓库中提取数据。用户可以通过在CREATE MODEL语句中使用TRANSFORM子句来对BigQuery ML执行功能工程。

概要:BigQuery ML通过SQL语法将谷歌云机器学习的大部分功能带入BigQuery数据仓库,而无需从数据仓库中提取数据。

4.IBM Db2Warehouse

IBM Db2 Warehouse是一项托管的公共云服务。用户还可以使用自己的硬件或在私有云中在内部设置IBM Db2 Warehouse。作为数据仓库,它具有诸如内存中数据处理和用于在线分析处理的柱状表之类的功能。它采用的Netezza技术提供了一套强大的分析工具,旨在有效地将查询引入数据中。还有一系列仓库和函数可帮助用户获得所需的精确见解。

Db2 Warehouse支持使用Python、R和SQL进行数据仓库内机器学习。IDAX模块包含分析存储的程序,其中包括方差分析、关联规则、数据转换、决策树、诊断度量、离散化和矩、K均值聚类、K近邻、线性回归、元数据管理、朴素贝叶斯分类,主成分分析、概率分布、随机抽样、回归树、序列模式和规则,以及参数和非参数统计。

概要:IBM DB2数据仓库包含了一系列广泛的数据仓库SQL分析,其中包括一些基本的机器学习功能,以及对R和Python的数据库内支持。

5.Kinetica

Kinetica流数据仓库将历史和流数据分析与位置智能和人工智能结合在一个平台上,所有这些都可以通过API和SQL访问。Kinetica是一个非常快速、分布式、列式、内存优先、GPU加速的数据仓库,具有过滤、可视化和聚合功能。

Kinetica将机器学习模型和算法与用户的数据集成在一起,实现大规模的实时预测分析。它允许用户简化数据管道和分析、机器学习模型和数据工程的生命周期,并使用流计算功能。Kinetica为GPU加速的机器学习提供了一个完整的生命周期解决方案:管理Jupyter记事本,通过RAPIDS进行模型训练,以及Kinetica平台中的自动模型部署和推理。

概要:Kinetica为GPU加速的机器学习提供了一个完整的数据仓库生命周期解决方案,并且可以从流数据中计算功能。

6.Microsoft SQL Server

Microsoft SQL Server机器学习服务在SQL Server RDBMS中支持R、Python、Java、PREDICT T-SQL命令和rx\u PREDICT存储过程,在SQL Server大数据集群中支持SparkML。在R和Python语言中,微软公司提供了几个用于机器学习的软件包和数据仓库。用户可以将经过训练的模型存储在数据仓库中或外部。Azure SQL托管实例支持Python和R的机器学习服务作为预览。

Microsoft R进行扩展以允许它处理磁盘和内存中的数据。 SQL Server提供了一个扩展框架,使R、Python和Java代码可以使用SQL Server的数据和功能。SQL Server的大数据集群上运行的SQL Server、Spark,和HDFS中Kubernetes。当SQL Server调用Python代码时,它可以反过来调用Azure机器学习,并将生成的模型保存在数据仓库中以用于预测。

概要:当前版本的SQL Server可以用多种编程语言训练和推断机器学习模型。

7.Oracle Database

Oracle Cloud Infrastructure(OCI)Data Science是一个托管和无服务器的平台,供数据科学团队使用Oracle云计算基础设施(包括Oracle自治数据库和Oracle自治数据仓库)构建、培训和管理机器学习模型。它包括由开放源码社区和Oracle Accelerated Data Science(ADS)仓库开发的以Python为中心的工具、仓库和软件包。ADS支持预测模型的端到端生命周期:

数据采集、分析、准备和可视化。

特征工程。

模型培训(包括Oracle AutoML)。

模型的评估、说明和解释(包括Oracle MLX)。

Oracle功能的模型部署。

OCI Data Science与Oracle云计算基础设施堆栈的其余部分集成,其中包括功能、数据流、自治数据仓库和对象存储。

当前支持的模型包括:

Oracle AutoML

Keras

Scikit-learn

XGBoost

ADSTuner(超参数调整)

ADS还支持机器学习可解释性(MLX)。

概要:Oracle云计算基础设施可以托管与其数据仓库、对象存储和功能集成的数据科学资源,从而实现完整的模型开发生命周期。

8.Vertica

Vertica分析平台是一个可扩展的列式存储数据仓库。它以两种模式运行:Enterprise模式在本地将数据存储在组成数据仓库的节点的文件系统中;EON模式将所有计算节点的数据进行公共存储。

Vertica使用大规模并行处理来处理PB级数据,并使用数据并行进行内部机器学习。它具有八种用于数据准备的内置算法、三种回归算法、四种分类算法、两种聚类算法、几种模型管理功能以及导入在其他地方训练过的TensorFlow和PMML模型的能力。一旦拟合或导入了模型,就可以使用它进行预测。Vista还允许用户定义的扩展程序在C++、Java、python或R中编程。用户可以使用SQL语法进行训练和推理。

概要:Vertica内置了一套不错的机器学习算法,可以导入TensorFlow和PMML模型。它可以根据导入的模型以及自己的模型进行预测。

MindsDB

MindsDB是一个可解释的AutoML框架,适用于在Pytorch之上构建的开发人员。如果用户的数据仓库不支持内部机器学习,则可以使用MindsDB来添加该功能,该数据仓库与六个数据仓库和五个BI工具集成在一起。得到支持的数据仓库包括MariaDB、MySQL、PostgreSQL、ClickHouse、Microsoft SQL Server和Snowflake,并将在工作中实现MongoDB集成,并在2021年晚些时候承诺与流数据仓库进行集成。受支持的BI工具当前包括SAS、Qlik Sense、Microsoft Power BI、Looker和Domo。

MindsDB具有AutoML、AI表和可解释AI(XAI)的功能。用户可以从MindsDB Studio、SQL INSERT语句或Python API调用中调用AutoML训练。训练可以选择使用GPU,还可以选择创建时间序列模型。

用户可以将模型另存为数据仓库表,并通过针对保存的模型的SQL SELECT语句、MindsDB Studio或Python API调用对其进行调用。可以从MindsDB Studio中评估、解释和可视化模型质量。

用户还可以将MindsDB Studio和Python API连接到本地和远程数据源。MindsDB还提供了一个简化的深度学习框架Lightwood,该框架可在PyTorch上运行。

概要:MindsDB将有用的机器学习功能带入了许多缺乏对机器学习的内置支持的数据仓库中。

越来越多的数据仓库支持内部进行机器学习。其确切的机制各不相同,有些机制比其他机制更有能力。但是,如果用户有大量数据,可能需要在采样的子集上拟合模型,那么以上列出的八个数据仓库中的任何一个以及在MindsDB的帮助下的其他数据仓库都可以帮助用户从完整的数据集构建模型,而不必为数据导出支付更多的费用。

你可能感兴趣的:(支持机器学习的8个数据仓库)