什么是圖數(shù)據(jù)庫(kù),為什么要關(guān)心圖?
做出正確的商業(yè)決策需要了解任何一個(gè)行動(dòng)或交易之間的關(guān)系,因?yàn)樗鼈儽舜讼嚓P(guān)。許多企業(yè)、數(shù)據(jù)分析公司和數(shù)據(jù)科學(xué)家正在尋找新的方法來(lái)探索連接和關(guān)系,看看我們的數(shù)據(jù)能給我們帶來(lái)什么額外的見解。
借助圖分析,我們認(rèn)識(shí)到,所有的數(shù)據(jù)其實(shí)都代表了現(xiàn)實(shí)世界中的一些東西,而現(xiàn)實(shí)世界中的幾乎所有東西都以某種方式聯(lián)系在一起。從關(guān)系中找到這些新的模式,可以用來(lái)為電子商務(wù)網(wǎng)站打造更好的產(chǎn)品推薦,使銀行在欺詐發(fā)生之前找到潛在欺詐者,或者讓制造企業(yè)找到提高供應(yīng)鏈效率的方法。
TigerGraph Cloud是業(yè)界首個(gè)也是唯一一個(gè)分布式原生圖數(shù)據(jù)庫(kù)即服務(wù),使用戶能夠更容易地加速采用圖,實(shí)時(shí)處理分析和事務(wù)性工作負(fù)載。通過(guò)最新的3.8版本,你還可以在TigerGraph Cloud上配置你的ML Workbench Jupyter notebook,為你的圖數(shù)據(jù)庫(kù)和圖機(jī)器學(xué)習(xí)開發(fā)環(huán)境提供一站式體驗(yàn)。
案例:圖增強(qiáng)的ML模型檢測(cè)欺詐行為
世界各地的公司正在投資于圖,將其作為一種競(jìng)爭(zhēng)優(yōu)勢(shì)。圖算法和機(jī)器學(xué)習(xí)領(lǐng)域的研究表明,通過(guò)將數(shù)據(jù)構(gòu)建在一個(gè)固有的捕捉上下文和關(guān)系的圖結(jié)構(gòu)中,可以大大改善預(yù)測(cè)模型的質(zhì)量。特別是在欺詐領(lǐng)域,圖增強(qiáng)的機(jī)器學(xué)習(xí)模型可以學(xué)習(xí)欺詐交易和行為人之間的潛在關(guān)系模式,而傳統(tǒng)的ML方法(如XGBoost模型)則無(wú)法捕捉。
在這篇博客中,我們將探討如何應(yīng)用圖算法和圖特征來(lái)解決欺詐檢測(cè)問(wèn)題。我們將展示如何用TigerGraph構(gòu)建你的圖數(shù)據(jù)集,然后我們將通過(guò)一個(gè)Jupyter notebook的例子,用GNN模型構(gòu)建一個(gè)端到端的欺詐檢測(cè)應(yīng)用程序,使用Ethereum數(shù)據(jù)集,其中包含賬戶(有正面和負(fù)面標(biāo)簽)和它們之間的交易。下面是schema的樣子:
在TigerGraph Cloud上構(gòu)建你的圖
在任何模型開發(fā)之前,我們首先需要構(gòu)建你的圖。在這個(gè)例子中,我們將使用TigerGraph Cloud的免費(fèi)版本,這是業(yè)界第一個(gè)也是唯一一個(gè)原生并行圖數(shù)據(jù)庫(kù)即服務(wù)。
要開始使用TigerGraph數(shù)據(jù)庫(kù)集群,你只需要通過(guò)選擇硬件配置來(lái)完成集群配置過(guò)程。
在高級(jí)設(shè)置部分,確保啟用機(jī)器學(xué)習(xí)工作臺(tái),然后在入門套件中選擇圖機(jī)器學(xué)習(xí),這樣它就包括在你的配置集群中。(注意:對(duì)于這個(gè)版本,我們將只支持單服務(wù)器配置,即分區(qū)因子=1)
TigerGraph云上的機(jī)器學(xué)習(xí)工作臺(tái)
TigerGraph云上的機(jī)器學(xué)習(xí)工作臺(tái)
一旦你的圖數(shù)據(jù)庫(kù)被配置好了,你將需要添加一個(gè)用戶和密碼,以便用機(jī)器學(xué)習(xí)工作臺(tái)連接到數(shù)據(jù)庫(kù)。只需從左邊的 “Clusters “選項(xiàng)卡上點(diǎn)擊你剛剛配置的集群的 Access Management”,然后用你的憑證點(diǎn)擊 “Add User”。
一旦你添加了一個(gè)用戶,你現(xiàn)在可以直接利用機(jī)器學(xué)習(xí)工作臺(tái),點(diǎn)擊左側(cè)面板上的集群,然后點(diǎn)擊”Tools” 》 “Machine Learning Workbench”。
一個(gè)新的瀏覽器窗口將被打開,你將登陸到機(jī)器學(xué)習(xí)工作臺(tái)的Jupyter服務(wù)器。
TigerGraph 機(jī)器學(xué)習(xí)工作臺(tái)有很多很好的教程,包括如何使用pyTigerGraph使用我們的ML功能的例子,運(yùn)行我們圖數(shù)據(jù)科學(xué)庫(kù)的算法,以及端到端的應(yīng)用。
你可能已經(jīng)聽說(shuō)了最近在人工智能/ML方面的圖譜神經(jīng)網(wǎng)絡(luò)的突破。在這篇博客中,我們將展示利用我們內(nèi)置的python功能(如圖數(shù)據(jù)分區(qū)、數(shù)據(jù)導(dǎo)出/批處理和圖特征工程)建立一個(gè)GNN模型是多么容易。該notebook 可以在下面路徑找到:GML→ Applications → Fraud_Detection → Fraud_Detection.ipynb.
在運(yùn)行任何代碼之前,你首先需要確保config.json中的用戶名和密碼(在Jupyter服務(wù)器的root文件夾中)被相應(yīng)地更新為你剛剛從tgcloud.io創(chuàng)建的新用戶。
準(zhǔn)備你的圖數(shù)據(jù)集
現(xiàn)在,我們已經(jīng)準(zhǔn)備好與TigerGraph云數(shù)據(jù)庫(kù)實(shí)例建立連接,只需運(yùn)行以下代碼,并將Ethereum 數(shù)據(jù)集導(dǎo)入到你的實(shí)例。
圖特征工程
像任何其他監(jiān)督下的機(jī)器學(xué)習(xí)模型一樣,GNN需要訓(xùn)練、驗(yàn)證和測(cè)試集來(lái)開發(fā)模型。ML Workbench通過(guò)一個(gè)簡(jiǎn)單的命令使數(shù)據(jù)分區(qū)變得簡(jiǎn)單。我們將對(duì)你的圖數(shù)據(jù)進(jìn)行分區(qū),同時(shí)保留你的數(shù)據(jù)集的關(guān)系。
ML workbench 包括TIgerGraph的圖數(shù)據(jù)科學(xué)庫(kù)中的相當(dāng)多的圖算法來(lái)進(jìn)行特征工程。這個(gè)notebook 所強(qiáng)調(diào)的關(guān)鍵功能是:
listAlgorithm():如果你輸入算法的類別(如中心性),它將打印指定類別的可用算法;否則它將打印所有可用的算法類別。
installAlgorithm():獲取算法的名稱作為輸入,如果該算法尚未安裝,則安裝該算法。
runAlgorithm():獲取算法名稱和參數(shù)以運(yùn)行該算法。如果該算法尚未安裝,并且存在于TigerGraph的圖數(shù)據(jù)科學(xué)庫(kù)中,該算法將自動(dòng)安裝查詢語(yǔ)句,并在圖中創(chuàng)建必要的schema屬性。
下面的代碼顯示了如何使用Featurizer來(lái)獲得PageRank作為一個(gè)特征。你也可以通過(guò)運(yùn)行你自己的GSQL查詢語(yǔ)句,并通過(guò)Featurizer運(yùn)行它,來(lái)定義你自己的自定義特征。
現(xiàn)在我們已經(jīng)完成了特征工程,下一步是使用我們的Neighbor Loader函數(shù)導(dǎo)出你的訓(xùn)練、驗(yàn)證和測(cè)試數(shù)據(jù)集。你可以用我們的Neighbor Loader函數(shù)定義你的采樣策略,如批次大小、跳數(shù)和鄰居數(shù)。
訓(xùn)練你的GNN模型
現(xiàn)在,我們已經(jīng)完成了圖特征工程,并將所有的數(shù)據(jù)導(dǎo)出到你的機(jī)器學(xué)習(xí)工作臺(tái)環(huán)境,以訓(xùn)練機(jī)器學(xué)習(xí)模型。
我們擁護(hù)開源社區(qū),這就是為什么我們把TigerGraph ML Workbench與一些最流行的深度學(xué)習(xí)框架兼容,如PyTorch Geometric和Tensorflow。注意在上面的代碼中,我們直接將你的關(guān)聯(lián)數(shù)據(jù)以output_format參數(shù)中指定的PyG格式導(dǎo)出,你將能夠直接利用PyG來(lái)訓(xùn)練一個(gè)GNN模型,比如Graph Attention Network( (GATs)算法。請(qǐng)看下面的例子:
一旦你的模型訓(xùn)練完成,你就可以對(duì)你的模型進(jìn)行推理,看看一個(gè)欺詐者是如何通過(guò)其網(wǎng)絡(luò)移動(dòng)交易的。為了更好地解釋預(yù)測(cè)行為,我們可以將與預(yù)測(cè)頂點(diǎn)相關(guān)的子圖可視化。
用子圖可視化你的模型預(yù)測(cè)
在這個(gè)例子中,頂點(diǎn)#1891被預(yù)測(cè)為一個(gè)欺詐賬戶。粉紅色的頂點(diǎn)是已知的欺詐賬戶,用藍(lán)色標(biāo)識(shí)的頂點(diǎn)是未知賬戶。看起來(lái)頂點(diǎn)1891是一個(gè)欺詐者網(wǎng)絡(luò)的幕后策劃者,一直在從無(wú)辜的用戶那里拿錢!
下一步
如果你覺得這篇文章很有趣,并想建立自己的GNN應(yīng)用程序,請(qǐng)免費(fèi)試用我們的TigerGraph Cloud和TigerGraph ML Workbench。請(qǐng)從我們的Github(https://github.com/tigergraph/graph-ml-notebooks)上查看我們的教程。你也可以在這篇博文中找到我們所用到的notebook例子的鏈接。
審核編輯 :李倩
-
數(shù)據(jù)庫(kù)
+關(guān)注
關(guān)注
7文章
3794瀏覽量
64362 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8406瀏覽量
132565
原文標(biāo)題:如何借助TigerGraph機(jī)器學(xué)習(xí)工作臺(tái)加速企業(yè)BI
文章出處:【微信號(hào):TigerGraph,微信公眾號(hào):TigerGraph】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論