机器学习(MADlib)

MADlib是一个在AliPG内核数据库中运行机器学习、图计算模型的开源库。在机器学习方面,MADlib除提供数理统计通用函数、存储过程之外,还提供一系列比较经典的监督、非监督学习算法库。

您可以加入RDS PostgreSQL插件交流钉钉群(103525002795),进行咨询、交流和反馈,获取更多关于插件的信息。

前提条件

  • RDS PostgreSQL实例版本满足以下要求:

    • 实例大版本为PostgreSQL 12、11。

    • 实例内核小版本为20230830或以上。

      重要

      20230830内核小版本之前已支持此插件,但为了规范插件管理,提升RDS PostgreSQL在插件侧的安全防护,RDS计划在内核版本迭代中陆续对部分存在安全风险的插件进行优化,部分插件在低内核小版本无法创建,更多信息,请参见【产品/功能变更】RDS PostgreSQL限制创建插件说明

      • 如果您的实例内核小版本低于20230830,且已经使用了此插件,则不影响使用。

      • 如果您首次创建或重新创建此插件,请升级内核小版本到最新。

  • 您的账号类型必须为高权限账号。您可以在RDS控制台目标实例的账号管理中查看您的账号权限类型。如果您的账号类型为普通账号,您需要创建高权限账号,创建详情请参见创建账号

插件简介

MADlib机器学习模块主要解决以下问题:

  • 分类、回归问题:提供一系列算法,如K最近邻、MLP多层感知神经网络、SVM支持向量机、决策树等算法来解决二元分类、回归问题,集成最小二乘法、GLM广义线性回归、逻辑回归、多项式回归等模型来解决回归问题。

  • 聚类问题:提供K-Means算法实现聚类分析。

  • 关联分析:提供Apriori算法实现关联分析,解决如“啤酒与尿布”的关联问题。

  • 时序分析:提供ARIMA自回归移动平均模型预测时间序列数据的未来值。

  • 其他:数据降维如通过PCA主成分分析模型来提炼主因子,文档分类与LDA文档主题建模。

MADlib还集成图计算模型,解决诸如最短路径、PageRank排名、社交网络“谁认识谁,谁与谁更熟悉”等问题。图计算模型相关算法如下表:

类别

模型/功能

说明

最短路径

所有顶点之间最短路径

计算所有顶点之间的最短路径并保存到指定结果表,根据结果表查找任意起点到任意终点的最短路径。

给定顶点到其他之间最短路径

计算给定顶点到其他顶点之间的最短路径并保存到指定结果表,根据结果表查找给定顶点到任意终点的最短路径。

广度优先搜索

广度优先搜索

使用广度优先方法查找从给定源顶点可到达的节点。

HITS

HITS分数

在有向图中找到所有顶点的HITS分数(权威度和中心度)。

网页排名

PageRank

在有向图中找到所有顶点的PageRank。

弱连通分量

弱连通分量

查找图的所有弱连接组件。

度量

平均路径长度

计算图的平均最短路径长度。

紧密度

计算图中每个节点的紧密度中心值。

图形直径

计算图的直径。

入/出度

计算每个顶点的度数(入度/出度)。

插件开启和关闭

  • 开启MADlib

    说明

    开启MADlib插件前,需要使用CREATE EXTENSION plpythonu;命令先创建plpythonu插件。

    CREATE EXTENSION madlib;
  • 关闭MADlib

    DROP EXTENSION madlib;

相关参考

MADlib的详细说明,请参见MADlib官方文档