作者: 永洪BI??來(lái)源: 永洪科技??時(shí)間:2020年05月22日
機(jī)器學(xué)習(xí)是一門(mén)多學(xué)科交叉專業(yè),涵蓋概率論知識(shí)、統(tǒng)計(jì)學(xué)知識(shí)、近似理論知識(shí)和復(fù)雜算法知識(shí)。機(jī)器學(xué)習(xí)算法是一類從數(shù)據(jù)中自動(dòng)分析獲得規(guī)律,并利用規(guī)律對(duì)未知數(shù)據(jù)進(jìn)行預(yù)測(cè)的算法。通過(guò)計(jì)算機(jī)對(duì)數(shù)據(jù)的處理和對(duì)算法的運(yùn)用,實(shí)現(xiàn)對(duì)業(yè)務(wù)場(chǎng)景的深度分析,幫助人們更好的做決策。永洪深度分析模塊是將機(jī)器學(xué)習(xí)算法封裝成節(jié)點(diǎn),用戶通過(guò)拖拽的方式從而便捷的應(yīng)用機(jī)器學(xué)習(xí)算法。
如何使用深度分析模塊?首先需要安裝永洪Desktop,里面會(huì)帶有深度分析功能,目前可以免費(fèi)試用3個(gè)月。其次根據(jù)需要安裝R服務(wù)環(huán)境或Python服務(wù)環(huán)境,也可以兩個(gè)都安裝。如果不會(huì)安裝可以查看在線幫助或到官網(wǎng)社區(qū)中的產(chǎn)品問(wèn)答中看相關(guān)說(shuō)明。再次,安裝好后,打開(kāi)Desktop,選擇【管理系統(tǒng)】-【系統(tǒng)設(shè)置】-【R計(jì)算配置/Python計(jì)算配置】,如下圖1所示。填寫(xiě)服務(wù)器地址和端口號(hào),點(diǎn)擊測(cè)試連接,如果連接正確,右上角會(huì)彈出測(cè)試成功。最后點(diǎn)擊保存連接,至此,深度分析功能就可以使用了。
圖1
想要對(duì)業(yè)務(wù)進(jìn)行深度分析,就需要對(duì)機(jī)器學(xué)習(xí)的流程有一定的了解,通常的流程共有8步,如下圖2。在永洪的產(chǎn)品中提供了幾個(gè)常用的深度分析的場(chǎng)景,大家可以打開(kāi)看看,也可以復(fù)用使用。
圖2
第一步,問(wèn)題分析,就是要確定對(duì)哪個(gè)問(wèn)題進(jìn)行分析。例如,對(duì)于銀行業(yè)企業(yè),通常會(huì)進(jìn)行信用卡反欺詐分析、營(yíng)銷策略分析等。對(duì)于零售行業(yè),通常會(huì)進(jìn)行銷售預(yù)測(cè)、用戶畫(huà)像分析等。對(duì)于政府,可以進(jìn)行交通預(yù)測(cè)、人流量預(yù)測(cè)等。確定問(wèn)題后就要判斷問(wèn)題是有監(jiān)督問(wèn)題還是無(wú)監(jiān)督問(wèn)題,以此來(lái)確定采用哪種技術(shù)方案。有監(jiān)督學(xué)習(xí)是指輸入數(shù)據(jù)中有標(biāo)簽,以概率函數(shù)、代數(shù)函數(shù)或人工神經(jīng)網(wǎng)絡(luò)為基函數(shù)模型,采用迭代計(jì)算方法,學(xué)習(xí)結(jié)果為函數(shù)。無(wú)監(jiān)督學(xué)習(xí)是指輸入數(shù)據(jù)中無(wú)標(biāo)簽,采用聚類方法,學(xué)習(xí)結(jié)果為類別。典型的無(wú)監(jiān)督學(xué)習(xí)算法有降維、聚類等。如何判斷有監(jiān)督還是無(wú)監(jiān)督,簡(jiǎn)單說(shuō)就是主要看數(shù)據(jù)是否有打標(biāo)簽,如果有就是有監(jiān)督,如果沒(méi)有就是無(wú)監(jiān)督。
第二步,數(shù)據(jù)獲取,就是要把數(shù)據(jù)導(dǎo)入到產(chǎn)品中。在永洪產(chǎn)品中需要選擇添加數(shù)據(jù)源模塊,目前支持30多種數(shù)據(jù)源,如Excel、Mysql、Oracle等。設(shè)置好數(shù)據(jù)源后選擇創(chuàng)建數(shù)據(jù)集,常用的為SQL數(shù)據(jù)集和Excel數(shù)據(jù)集,選擇完數(shù)據(jù)后點(diǎn)擊刷新數(shù)據(jù),在右側(cè)面板中可以看到獲取的數(shù)據(jù)。
第三步,數(shù)據(jù)預(yù)處理,就是把導(dǎo)入到數(shù)據(jù)集的數(shù)據(jù)進(jìn)行處理。如去重、拆分列、去空格、采樣、分區(qū)等。這項(xiàng)工作用戶可以在創(chuàng)建數(shù)據(jù)集模塊進(jìn)行設(shè)置,如下圖3。
圖3
此外,在深度分析模塊也提供了一些數(shù)據(jù)處理的節(jié)點(diǎn)供用戶使用,從這一步開(kāi)始到第七步,我們就真正的進(jìn)入到深度分析的領(lǐng)域了。下面,讓我們來(lái)看看永洪的深度分析功能是如何使用的?基本流程如下圖4。
圖4
打開(kāi)深度分析功能,可以看到,產(chǎn)品提供了一些案例可以幫助用戶快速的學(xué)習(xí)和了解深度分析。選擇新增實(shí)驗(yàn)?zāi)P?,打開(kāi)一個(gè)空白的實(shí)驗(yàn)創(chuàng)建面板,如下圖5。
圖5
左側(cè)為操作節(jié)點(diǎn),中間為畫(huà)布,右側(cè)為節(jié)點(diǎn)配置、實(shí)驗(yàn)探索等。操作中各個(gè)文件夾代表不同的功能節(jié)點(diǎn)。其中,數(shù)據(jù)里是用戶上傳后數(shù)據(jù)集保存的位置。數(shù)據(jù)變換里是可以對(duì)數(shù)據(jù)進(jìn)行操作處理的節(jié)點(diǎn)。數(shù)據(jù)探索里是查看數(shù)據(jù)是否有缺失值、數(shù)據(jù)類型等。算法里目前支持(邏輯回歸、決策樹(shù)、K-Means、關(guān)聯(lián)規(guī)則、時(shí)序分析)算法。驗(yàn)證與評(píng)估是評(píng)估模型預(yù)測(cè)結(jié)果(R)。腳本可以支持R、Python編程自定義開(kāi)發(fā)。視圖可以將實(shí)驗(yàn)結(jié)果進(jìn)行可視化展示。導(dǎo)出中包括導(dǎo)出模型結(jié)果到數(shù)據(jù)庫(kù)或數(shù)據(jù)集、保存訓(xùn)練模型或Excel等。訓(xùn)練模型顯示的是用戶保存的訓(xùn)練好的模型。
了解這些基本的操作后,我們來(lái)試試做一個(gè)簡(jiǎn)單的例子來(lái)運(yùn)用深度分析。比如想要通過(guò)用戶行為的歷史數(shù)據(jù)進(jìn)行預(yù)測(cè)分析,找出可能流失的客戶,以采取對(duì)應(yīng)策略挽留住老客戶,如下圖6。
圖6
首先拖入已經(jīng)創(chuàng)建的客戶流失訓(xùn)練數(shù)據(jù),在右側(cè)可以看到元數(shù)據(jù)列名稱和數(shù)據(jù)類型,要想了解客戶流失,需要的數(shù)據(jù)有客戶每天訪問(wèn)的總時(shí)間、客戶每天總的費(fèi)用、客戶每天訪問(wèn)的平均時(shí)間、客戶平均費(fèi)用、客戶流失與否等所有影響客戶和與客戶有關(guān)的數(shù)據(jù),可以在探索數(shù)據(jù)中看到詳細(xì)的數(shù)據(jù)值。當(dāng)有數(shù)據(jù)后,還需要對(duì)數(shù)據(jù)進(jìn)行處理,將采樣節(jié)點(diǎn)拖入到畫(huà)布中,對(duì)數(shù)據(jù)進(jìn)行采樣,一般我們使用隨機(jī)采樣的方式,采樣比例視數(shù)據(jù)量大小而定,如果數(shù)據(jù)量很大的話可以使用稍小的采樣比例,比如設(shè)置為10%,采樣的結(jié)果可以在探索數(shù)據(jù)中查看。
在采樣后我們需要對(duì)數(shù)據(jù)進(jìn)行分區(qū)訓(xùn)練,以驗(yàn)證評(píng)估訓(xùn)練模型的好壞,一般訓(xùn)練集比例選擇70%。分區(qū)后就需要選擇合適的算法,由于數(shù)據(jù)屬于有監(jiān)督數(shù)據(jù),且是預(yù)測(cè)分析,因此我們選擇回歸算法。將邏輯回歸拖到畫(huà)布上,與數(shù)據(jù)分區(qū)連接,在右側(cè)配置項(xiàng)目中設(shè)置,如下圖7,產(chǎn)品共支持兩種回歸算法,選擇GLM(廣義線性模型),回歸方法選擇逐步,因變量選擇CustomerLeft列,然后點(diǎn)擊選擇,添加其余數(shù)值列為自變量。
圖7
這步配置好后,可以在節(jié)點(diǎn)上單擊右鍵選擇運(yùn)行,查看預(yù)測(cè)的數(shù)據(jù)結(jié)果。運(yùn)行成功后,會(huì)彈出結(jié)果展示,顯示運(yùn)行的結(jié)果,如下圖8。從結(jié)果中我們可以看出,通過(guò)模型系數(shù)可以得到邏輯回歸方程的系數(shù),包括截距項(xiàng)、各自變量的系數(shù)以及它們的P值、標(biāo)準(zhǔn)誤差。還可以看到模型訓(xùn)練集合驗(yàn)證集的準(zhǔn)確率和均方誤差。
可以看出,訓(xùn)練集的準(zhǔn)確率高于驗(yàn)證集且P值都較?。≒值越小結(jié)果越好)。通過(guò)ROC曲線可以看出數(shù)據(jù)訓(xùn)練后效果更好,訓(xùn)練集AUC值0.797大于驗(yàn)證集AUC值0.748(AUC值越大模型分類效果越好)。
訓(xùn)練好后可以保存為訓(xùn)練模型,將保存為訓(xùn)練模型節(jié)點(diǎn)拖到畫(huà)布中與邏輯回歸相連接,然后在右側(cè)配置中選擇保存的路徑,運(yùn)行實(shí)驗(yàn)后模型顯示在訓(xùn)練模型文件夾中。保存的訓(xùn)練模型可以應(yīng)用在制作報(bào)告模塊或作為節(jié)點(diǎn)拖拽到畫(huà)布上再次使用。
圖8
在對(duì)數(shù)據(jù)進(jìn)行了預(yù)測(cè)分析后,我們還需要對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行評(píng)估,來(lái)驗(yàn)證數(shù)據(jù)的準(zhǔn)確性。拖入“客戶流失測(cè)試數(shù)據(jù)”節(jié)點(diǎn)和評(píng)分節(jié)點(diǎn),評(píng)分節(jié)點(diǎn)連接邏輯回歸和客戶流失測(cè)試數(shù)據(jù)兩個(gè)節(jié)點(diǎn)。點(diǎn)擊頂部菜單欄中的運(yùn)行全部,運(yùn)行成功后選擇評(píng)分節(jié)點(diǎn),在數(shù)據(jù)探索里可以查看已經(jīng)使用邏輯回歸算法訓(xùn)練的模型應(yīng)用于“客戶流失測(cè)試數(shù)據(jù)“的結(jié)果,如下圖9。
切換不同列,可以看到每列的數(shù)據(jù),通過(guò)統(tǒng)計(jì)數(shù)據(jù)和可視化圖表可以觀察預(yù)測(cè)的準(zhǔn)確性。數(shù)據(jù)中包括平均數(shù)、數(shù)據(jù)類型、唯一值、缺失值等,當(dāng)缺失值為0時(shí)說(shuō)明數(shù)據(jù)沒(méi)有異常值。
圖9
實(shí)驗(yàn)創(chuàng)建成功后我們就可以進(jìn)行最后一步發(fā)布和部署了,將保存為PMML文件節(jié)點(diǎn)拖入畫(huà)布中,與邏輯回歸連接,運(yùn)行成功后,選擇此節(jié)點(diǎn),在右側(cè)配置項(xiàng)目中可以選擇下載到本地,你可以將這個(gè)PMML文件部署到其他平臺(tái),如下圖10。產(chǎn)品還支持導(dǎo)出到數(shù)據(jù)庫(kù)和保存為數(shù)據(jù)集。
圖10
對(duì)于成功的實(shí)驗(yàn),我們可以在可視化頁(yè)面查看預(yù)測(cè)的數(shù)據(jù),打開(kāi)制作報(bào)告頁(yè)面,拖入餅圖組件,選擇客戶流失訓(xùn)練數(shù)據(jù),然后在更多中選擇已指定訓(xùn)練模型,選擇剛剛保存的訓(xùn)練模型,可以看到維度和度量分別新增了類和概率,可以看到流失和不流失的占比。再拖入一個(gè)表格組件,拖入訓(xùn)練的數(shù)據(jù),可以觀察預(yù)測(cè)的概率(1是流失,0是非流失),如下圖11。
圖11
通過(guò)以上這些,你對(duì)深度分析是不是有了一些了解呢?在國(guó)內(nèi),擁有深度分析功能的BI產(chǎn)品很少,永洪的深度分析模塊便于沒(méi)有機(jī)器學(xué)習(xí)基礎(chǔ)的小白上手,對(duì)于機(jī)器學(xué)習(xí)模型部署方便、快捷、不需要定開(kāi),且支持R、Python 兩種編程語(yǔ)言,用戶可以通過(guò)腳本自定義數(shù)據(jù)處理和模型,并通過(guò)可視化展示模型運(yùn)行結(jié)果。如果你也想要成為預(yù)測(cè)大師,就快來(lái)和我一起玩轉(zhuǎn)起來(lái)吧!
?