Py学习  »  机器学习算法

Greenplum机器学习和文本分析工具简介

中兴数据智能 • 3 年前 • 319 次点击  

大数据 / 人工智能 / 区块链 / 数据库 / 分布式存储

Pivotal Greenplum是一个数据库,又不止是一个数据库,因为其中集成了很多高级分析的功能,能够帮助用户更高效地发挥数据的价值。本文将为大家简要介绍其中两个:基于机器学习的算法包MADlib和文本分析组件GPText。

徐栋 | 文

 © 中兴数据智能(ZTE-DI)出品


Pivotal Greenplum——全世界首个开源、多云数据平台,专为高级分析而打造。作为一个开放的数据计算平台,它集成了对数据进行挖掘和分析的高级功能,通过这些功能,用户可以直接在Greenplum数据库里使用高级分析算法,对数据进行分析和处理。
Greenplum是一个MPP架构的分布式数据库,其特点是可以做非常大规模的数据计算,它可以在几百个节点的服务器规模的集群内做数据的拓展,并且可以在PB级,就是一千个T或者几千个T的数据容量上,做快速的数据存储和计算。
传统来讲,它是一个数据库,但实质上Greenplum不只是一个数据库,因为库内集成了很多高级分析的功能。这些高级分析的功能,可以使用户更方便地使用数据,因为数据本身要进行挖掘才能产生价值。传统提供商如Oracle、MySQL或者SQLServer,只能对数据进行传统的、基于SQL的分析。但Greenplum作为一个开放的数据计算平台,库内集成了非常多的数据挖掘和分析功能,通过这些功能,在Greenplum数据库里就可以直接使用高级分析算法,对数据进行分析和处理。
在Greenplum内部集成了对地理信息的处理算法包、对文本处理的组件、对Python或者R等一些数据科学家使用的算法包、图计算算法包以及机器学习的算法包等等。Greenplum库内集成了机器学习算法包和文本处理组件。通过这种库内的集成算法,可以直接在库内对数据进行挖掘,不用把数据搬进搬出数据库,从而提高数据的使用效率,降低数据挖掘的成本。

可扩展的机器学习算法库:MADlib

在Greenplum里面集成的基于机器学习或者人工智能分析的算法包,叫MADlib。这个扩展包是Apache基金会顶级开源项目,里面集成了大量的基于传统数学分析统计的算法、图计算的算法以及一些常见的机器学习的算法。

MADlib 的发展历程

MADlib是Pivotal从2011年就开始的产研结合项目。目前已经实现的在库内集成的算法中,在机器学习方面,有监督学习算法(如支持向量机)、回归类的算法(如逻辑回归、线性回归、聚类)、树型模型(如随机森林、决策树)等。
除了机器学习算法,MADlib还包括Graph处理,比如最短路径、图形直径等等算法,此外还有一些效用函数、线性求解,或者传统的统计分析类的汇总函数、统计分析函数、交叉验证选型函数,都在库内集成,非常方便。在Greenplum里面使用这些算法库,可以直接对这些数据进行模型训练、预测或者是评估操作,大大简化操作过程。
此外整个算法都是集成在SQL接口里面的,可以非常方便地使用SQL语句,像调用函数一样来调用这些模型的训练,可以直接把数据表的名字作为一个参数,要分析的数据列也作为一个参数,那些模型需要调整的参数作为参数直接传到函数里面,然后直接用SQL语法就可以完成训练,使用起来非常简便,学习成本低。


1+1>2:MADlib+Greenplum的优势

MADlib加上Greenplum的优势到底是什么?
首先,Greenplum是一个MPP架构的分布式计算的框架,Greenplum+MADlib之后,就等于把MADlib放到了一个分布式计算框架的里面,这样做的好处就是可以并发对很大规模的数据进行模型训练或者统计分析计算。通过这样的结合,算法并发度更好,因为作为Greenplum来讲,数据是分散存储在不同节点上的,一些算法也可以在不同的节点上对部分数据进行计算、训练,再把最后的结果汇总后返回,这样就会有一个非常好的并发度和扩展性。
这两个功能可以获得更好的预测精度。因为在做模型训练的时候,如果没有像Greenplum+MADlib这样的架构的话,就只能做采样模型训练,不能使用全量数据。比如有一百亿条数据,可能训练模型的时候只能使用其中的一百万或者一千万条数据做训练,然后再用这个模型去对一百亿条数据进行预测,这个模型和预测结果的准确度肯定不如有条件做一百亿条数据训练出来的模型。
在MADlib+Greenplum的架构下面,由于分布式存储、分布式计算框架,可以把数据直接在Greenplum的分布式存储计算结构里面进行模型训练,也就是说可以用全量数据进行模型训练,这样一来预测的精度肯定会比用部分采样数据高得多。

结构化分析与非结构化分析的完美结合:GPText

GPText产品是在Greenplum里可以直接内置在库内的对非结构化文本进行快速索引和检索的组件。GPText集成了solr文本分析引擎,把结构化分析和非结构化分析完美的结合在一起,可以通过SQL对非结构化文本进行快速的检索和索引。

GPText SQL数据仓库+文本分析
  • 文本检索
  • 将文本分析功能与结构化数据分析完美整合

支持内、外部数据源的索引
  • 多种数据源支持(GPDB、外部数据源)
  • 多种数据类型(word,pdf,excel,图片)等

自然语言处理和AI的整合
  • 与Madlib整合使用机器学习算法对文本数据进行分析
  • 与PL/Python、PL/Java整合进行自然语言处理
  • 与Open NLP算法库的集成
Greenplum分布式计算的框架、平台,结合了solr这个引擎之后,也可以把solr放到整个处理的大的平台上面,做分布式的文本的检索,对数据量的处理效率和处理能力有一个非常大的扩展。它可以支持Word、PDF等等文件直接存入Greenplum库中,并且通过对文本的处理,再结合MADlib机器学习的算法对文本内容进行的分析。
此外,集成了Open NLP的算法包,可以直接用Open NLP算法包,通过PL/Python的方式直接对库内存储的文本进行分析和处理。

GPText 的分布式框架
GPText的分布式框架就是通过对solr引擎的集成,把solr放到每一个数据库处理的实例上面,每一个solr实例都有相应的高可用配置,通过这样操作,可以对非常大规模的文本文件信息进行高速有效的处理。


* 本文为中兴数据智能原创文章,转载请留言或评论获取授权。



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/74017
 
319 次点击