機器學習(MADlib)
MADlib是一個在AliPG內(nèi)核數(shù)據(jù)庫中運行機器學習、圖計算模型的開源庫。在機器學習方面,MADlib除提供數(shù)理統(tǒng)計通用函數(shù)、存儲過程之外,還提供一系列比較經(jīng)典的監(jiān)督、非監(jiān)督學習算法庫。
您可以加入RDS PostgreSQL插件交流釘釘群(103525002795),進行咨詢、交流和反饋,獲取更多關(guān)于插件的信息。
前提條件
RDS PostgreSQL實例版本滿足以下要求:
實例大版本為PostgreSQL 12、11。
實例內(nèi)核小版本為20230830或以上。
重要20230830內(nèi)核小版本之前已支持此插件,但為了規(guī)范插件管理,提升RDS PostgreSQL在插件側(cè)的安全防護,RDS計劃在內(nèi)核版本迭代中陸續(xù)對部分存在安全風險的插件進行優(yōu)化,部分插件在低內(nèi)核小版本無法創(chuàng)建,更多信息,請參見【產(chǎn)品/功能變更】RDS PostgreSQL限制創(chuàng)建插件說明。
如果您的實例內(nèi)核小版本低于20230830,且已經(jīng)使用了此插件,則不影響使用。
如果您首次創(chuàng)建或重新創(chuàng)建此插件,請升級內(nèi)核小版本到最新。
您的賬號類型必須為高權(quán)限賬號。您可以在RDS控制臺目標實例的賬號管理中查看您的賬號權(quán)限類型。如果您的賬號類型為普通賬號,您需要創(chuàng)建高權(quán)限賬號,創(chuàng)建詳情請參見創(chuàng)建賬號。
插件簡介
MADlib機器學習模塊主要解決以下問題:
分類、回歸問題:提供一系列算法,如K最近鄰、MLP多層感知神經(jīng)網(wǎng)絡(luò)、SVM支持向量機、決策樹等算法來解決二元分類、回歸問題,集成最小二乘法、GLM廣義線性回歸、邏輯回歸、多項式回歸等模型來解決回歸問題。
聚類問題:提供K-Means算法實現(xiàn)聚類分析。
關(guān)聯(lián)分析:提供Apriori算法實現(xiàn)關(guān)聯(lián)分析,解決如“啤酒與尿布”的關(guān)聯(lián)問題。
時序分析:提供ARIMA自回歸移動平均模型預(yù)測時間序列數(shù)據(jù)的未來值。
其他:數(shù)據(jù)降維如通過PCA主成分分析模型來提煉主因子,文檔分類與LDA文檔主題建模。
MADlib還集成圖計算模型,解決諸如最短路徑、PageRank排名、社交網(wǎng)絡(luò)“誰認識誰,誰與誰更熟悉”等問題。圖計算模型相關(guān)算法如下表:
類別 | 模型/功能 | 說明 |
最短路徑 | 所有頂點之間最短路徑 | 計算所有頂點之間的最短路徑并保存到指定結(jié)果表,根據(jù)結(jié)果表查找任意起點到任意終點的最短路徑。 |
給定頂點到其他之間最短路徑 | 計算給定頂點到其他頂點之間的最短路徑并保存到指定結(jié)果表,根據(jù)結(jié)果表查找給定頂點到任意終點的最短路徑。 | |
廣度優(yōu)先搜索 | 廣度優(yōu)先搜索 | 使用廣度優(yōu)先方法查找從給定源頂點可到達的節(jié)點。 |
HITS | HITS分數(shù) | 在有向圖中找到所有頂點的HITS分數(shù)(權(quán)威度和中心度)。 |
網(wǎng)頁排名 | PageRank | 在有向圖中找到所有頂點的PageRank。 |
弱連通分量 | 弱連通分量 | 查找圖的所有弱連接組件。 |
度量 | 平均路徑長度 | 計算圖的平均最短路徑長度。 |
緊密度 | 計算圖中每個節(jié)點的緊密度中心值。 | |
圖形直徑 | 計算圖的直徑。 | |
入/出度 | 計算每個頂點的度數(shù)(入度/出度)。 |
插件開啟和關(guān)閉
開啟MADlib
說明開啟MADlib插件前,需要使用
CREATE EXTENSION plpythonu;
命令先創(chuàng)建plpythonu插件。CREATE EXTENSION madlib;
關(guān)閉MADlib
DROP EXTENSION madlib;
相關(guān)參考
MADlib的詳細說明,請參見MADlib官方文檔。