張思思
(河北大學(xué),河北 保定 071000)
數(shù)據(jù)已經(jīng)成為企業(yè)的重要資產(chǎn),如何將數(shù)據(jù)轉(zhuǎn)為有用價(jià)值信息是必須要做的事情。企業(yè)利用大數(shù)據(jù)進(jìn)行分析挖掘,挖掘背后數(shù)據(jù)的價(jià)值,不僅能夠根據(jù)需要進(jìn)行宏觀調(diào)整,還能提高企業(yè)運(yùn)行效率。隨著數(shù)據(jù)的不斷積累和海量數(shù)據(jù)的產(chǎn)生,企業(yè)會(huì)有多種數(shù)據(jù)分析的需求,每次都需要進(jìn)行單獨(dú)研究,即需要重新開發(fā)。由于需求的不同,這就導(dǎo)致之前已經(jīng)擁有的模型難以得到復(fù)用,必須重新選擇數(shù)據(jù)集和構(gòu)造數(shù)據(jù)分析模型。對(duì)企業(yè)多重?cái)?shù)據(jù)的不合理存儲(chǔ)不僅耗費(fèi)企業(yè)巨大的資源,同時(shí)缺失數(shù)據(jù)分析及預(yù)測(cè)服務(wù),導(dǎo)致無法發(fā)現(xiàn)這些數(shù)據(jù)背后的價(jià)值,從而導(dǎo)致企業(yè)的管理水平及服務(wù)得不到提升。隨著大數(shù)據(jù)相關(guān)技術(shù)的日益成熟[1-3],以與大數(shù)據(jù)相關(guān)的技術(shù)來處理和挖掘企業(yè)數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行分析和預(yù)測(cè),為企業(yè)的成本控制提供參考依據(jù),已經(jīng)越來越得到重視。
隨著越來越多的技術(shù)應(yīng)用到大數(shù)據(jù)中,大數(shù)據(jù)方面出現(xiàn)了很多技術(shù)。以Hadoop生態(tài)圈為代表的分布式數(shù)據(jù)處理平臺(tái)以及計(jì)算框架解決了海量數(shù)據(jù)存儲(chǔ)與處理的問題[4],由于使用過程中,Hadoop需要技術(shù)人員關(guān)注實(shí)現(xiàn)細(xì)節(jié),并且一些算法只適用于特定的應(yīng)用場(chǎng)景,可復(fù)用性較差,已經(jīng)無法滿足越來越復(fù)雜的大數(shù)據(jù)分析應(yīng)用需求。本文主要對(duì)大數(shù)據(jù)分析流程配置進(jìn)行研究,提出以業(yè)務(wù)為中心[5],使用戶專注于問題的業(yè)務(wù)邏輯進(jìn)行分析和研究,不再關(guān)注具體技術(shù)實(shí)現(xiàn)細(xì)節(jié)問題,并設(shè)計(jì)流程化大數(shù)據(jù)分析模型,根據(jù)業(yè)務(wù)不同選擇不同的算法,通過參數(shù)優(yōu)化配置,最終生成理想的預(yù)測(cè)模型。
針對(duì)業(yè)務(wù)需求的不同,并結(jié)合大數(shù)據(jù)分析的特點(diǎn),設(shè)計(jì)分為以下步驟:數(shù)據(jù)準(zhǔn)備、數(shù)據(jù)清洗、大數(shù)據(jù)算法、模型訓(xùn)練、模型應(yīng)用。根據(jù)實(shí)際應(yīng)用中的特點(diǎn),設(shè)計(jì)了以業(yè)務(wù)為中心的分析模型的方式,對(duì)于同一類型的數(shù)據(jù)集,采用統(tǒng)一的數(shù)據(jù)集管理方式、配置相應(yīng)的數(shù)據(jù)清洗規(guī)則、分析算法選擇、參數(shù)配置、分析目標(biāo)等。
由于模型訓(xùn)練的復(fù)雜性和需求不同,根據(jù)實(shí)際需求設(shè)置了手動(dòng)操作和自動(dòng)任務(wù)調(diào)度兩種方式來進(jìn)行模型的訓(xùn)練。自動(dòng)任務(wù)調(diào)度的處理,能夠保證批量定時(shí)執(zhí)行,對(duì)選定數(shù)據(jù)集進(jìn)行分析,挖掘有價(jià)值的信息等,最終大數(shù)據(jù)的分析結(jié)果以可視化圖形或圖像方式展示。大數(shù)據(jù)處理流程圖如圖1所示:
圖1 大數(shù)據(jù)分析總體設(shè)計(jì)圖
在企業(yè)應(yīng)用中,數(shù)據(jù)是各項(xiàng)業(yè)務(wù)的基礎(chǔ)。由于業(yè)務(wù)數(shù)據(jù)是分開存儲(chǔ)的,數(shù)據(jù)很難得到共享。另外企業(yè)中的數(shù)據(jù)集來源不同、種類不同,有的是傳統(tǒng)的關(guān)系化數(shù)據(jù),還有非關(guān)系化數(shù)據(jù),如通過Sqoop、Flume等工具可分別獲得結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)(如日志數(shù)據(jù))。因此就需要整合各個(gè)不同的資源,基于數(shù)據(jù)多樣性和不確定性,需要將不同的業(yè)務(wù)數(shù)據(jù)及其他方面收集的非業(yè)務(wù)數(shù)據(jù)建立規(guī)范,依據(jù)規(guī)范所有數(shù)據(jù)集做到按分類進(jìn)行處理,以此來達(dá)到數(shù)據(jù)共享。我們建立將數(shù)據(jù)同步到數(shù)據(jù)倉庫中,然后在數(shù)據(jù)倉庫上對(duì)集成后的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和分析,如圖2所示:
由于企業(yè)數(shù)據(jù)及各個(gè)崗位需求的數(shù)據(jù)不同,首先數(shù)據(jù)分析人員需根據(jù)業(yè)務(wù)需求選取適合的數(shù)據(jù),但如何確定數(shù)據(jù)是否合適還需要對(duì)數(shù)據(jù)進(jìn)行初步的分析,比如通過匯總、均值、方差等操作來分析,經(jīng)過對(duì)數(shù)據(jù)的初步分析,可以讓數(shù)據(jù)分析人員清楚認(rèn)識(shí)數(shù)據(jù),為數(shù)據(jù)選擇更實(shí)用的模型和配置。
圖2 數(shù)據(jù)倉庫的數(shù)據(jù)集成架構(gòu)
3.2.1 配置分析模型
3.2.1.1 確定分析流程
通用的數(shù)據(jù)挖掘方法論主要有兩類,主要分為學(xué)術(shù)模型和工業(yè)模型,學(xué)術(shù)模型以Fayyad模型為代表,工業(yè)模型以CRISP-DM模型為代表,其中Fayyad模型是一個(gè)偏技術(shù)的模型[6],見圖3,CRISP-DM模型是一個(gè)綜合考慮數(shù)據(jù)挖掘技術(shù)與應(yīng)用的模型,見圖4。
圖3 Fayyad模型
圖4 CRISP-DM模型
上述兩種模型都各具特點(diǎn)但都有局限性,一方面兩種模型無法支持目前分布式數(shù)據(jù)存儲(chǔ),對(duì)海量數(shù)據(jù)分析高效執(zhí)行無法支持;另一方面,存在大數(shù)據(jù)分析技術(shù)應(yīng)用與業(yè)務(wù)契合度不高的問題。
因此,我們根據(jù)實(shí)際業(yè)務(wù)分析需求,結(jié)合大數(shù)據(jù)分析建模與業(yè)務(wù)領(lǐng)域應(yīng)用,提出基于業(yè)務(wù)領(lǐng)域的分析模型。
3.2.1.2 選擇分析算法
根據(jù)分析模型需要,從算法庫中選擇線性回歸、邏輯回歸、決策樹、樸素貝葉斯、隨機(jī)森林、聚類算法(K均值等)、神經(jīng)網(wǎng)絡(luò)、協(xié)同過濾等大數(shù)據(jù)算法模型。
依據(jù)業(yè)務(wù)分析需求,選擇分析算法,根據(jù)需求調(diào)整參數(shù)來幫助用戶合理配置模型。
3.2.1.3 選擇數(shù)據(jù)集
從企業(yè)數(shù)據(jù)集中,選擇與需求相關(guān)的數(shù)據(jù)表,并篩選出需要進(jìn)行數(shù)據(jù)分析的列作為數(shù)據(jù)集,從多個(gè)維度分析數(shù)據(jù)。另外針對(duì)非結(jié)構(gòu)化的數(shù)據(jù),可以先采用統(tǒng)一方式將數(shù)據(jù)上傳至Hadoop分布式文件系統(tǒng)(HDFS),選擇需要的信息(比如檢索內(nèi)容)作為數(shù)據(jù)集[7]。
3.2.1.4 設(shè)置數(shù)據(jù)預(yù)處理規(guī)則
數(shù)據(jù)采集過程中可能會(huì)出現(xiàn)臟數(shù)據(jù),應(yīng)篩選出只需要分析的數(shù)據(jù)記錄,去除或補(bǔ)全確實(shí)的數(shù)據(jù),去除不需要的數(shù)據(jù),對(duì)關(guān)鍵數(shù)據(jù)進(jìn)行匯總等聚合處理。對(duì)于非結(jié)構(gòu)化數(shù)據(jù)需要以文件的模式先上傳至HDFS;從HDFS讀取的數(shù)據(jù)中,存在一些臟數(shù)據(jù),我們根據(jù)自定義的清洗規(guī)則對(duì)數(shù)據(jù)進(jìn)行篩選清理。對(duì)于殘缺的一整條數(shù)據(jù)需要?jiǎng)h除。經(jīng)過一系列數(shù)據(jù)描述操作把數(shù)據(jù)轉(zhuǎn)換為滿足數(shù)據(jù)挖掘的形式。
數(shù)據(jù)預(yù)處理的內(nèi)容主要包括數(shù)據(jù)清理、數(shù)據(jù)集成、數(shù)據(jù)規(guī)約、數(shù)據(jù)變換4個(gè)功能[8],功能結(jié)構(gòu)圖如圖5所示。
3.2.2 訓(xùn)練模型
通過大數(shù)據(jù)分析,可生成與用戶需求相關(guān)的預(yù)測(cè)數(shù)據(jù)。建立好預(yù)測(cè)模型之后,用戶通過輸入歷史數(shù)據(jù),依據(jù)模型生成與業(yè)務(wù)相關(guān)的預(yù)測(cè)信息。通過預(yù)測(cè)的數(shù)據(jù),用戶可合理調(diào)整經(jīng)營(yíng)策略,并針對(duì)不同情況能夠作出快速響應(yīng)。
圖5 數(shù)據(jù)預(yù)處理的內(nèi)容
根據(jù)需要進(jìn)行配置,再通過手動(dòng)執(zhí)行、自動(dòng)任務(wù)調(diào)度執(zhí)行兩種模式來對(duì)數(shù)據(jù)集進(jìn)行多批次訓(xùn)練。系統(tǒng)運(yùn)行時(shí),根據(jù)選定的數(shù)據(jù)集進(jìn)行數(shù)據(jù)預(yù)處理、運(yùn)行選擇的算法,最終生成分析模型。根據(jù)設(shè)置的指標(biāo)參數(shù)對(duì)模型進(jìn)行驗(yàn)證,當(dāng)產(chǎn)生的模型不符合預(yù)期效果時(shí),可對(duì)參數(shù)進(jìn)行優(yōu)化修改,在此基礎(chǔ)上進(jìn)行反復(fù)訓(xùn)練,最終生成比較理想的分析模型。
設(shè)計(jì)訓(xùn)練模型基于業(yè)務(wù)進(jìn)行研發(fā),要檢查建立模型的步驟,保證模型與業(yè)務(wù)目標(biāo)的吻合度。訓(xùn)練模型是基于已有機(jī)票、火車票、酒店等相關(guān)訂單的信息,另外針對(duì)用戶操作的數(shù)據(jù)(如用戶搜索信息、操作習(xí)慣等),必須校驗(yàn)?zāi)P团c不同業(yè)務(wù)數(shù)據(jù)吻合度。只有建立了理想的模型,才能提供更有的預(yù)測(cè)分析能力,能夠?yàn)橛脩籼峁└鼉?yōu)質(zhì)的服務(wù)。
大數(shù)據(jù)預(yù)測(cè)是大數(shù)據(jù)最核心的應(yīng)用。我們可以從海量數(shù)據(jù)中發(fā)挖掘數(shù)據(jù)背后的有用價(jià)值,在大數(shù)據(jù)分析模型建立之后,可以輸入新的數(shù)據(jù)預(yù)測(cè)未來的發(fā)展趨勢(shì)。在系統(tǒng)中設(shè)置手動(dòng)和自動(dòng)的任務(wù)調(diào)度,對(duì)海量數(shù)據(jù)進(jìn)行業(yè)務(wù)劃分,根據(jù)不同需求分析出數(shù)據(jù)的發(fā)展趨勢(shì)。
可視化技術(shù)是將數(shù)據(jù)特點(diǎn)直觀呈現(xiàn)出來,以圖表、圖形等方式展示出來。實(shí)現(xiàn)可視化,分為以下幾個(gè)步驟,第一步通過對(duì)數(shù)據(jù)分析形成實(shí)際可用信息,第二步根據(jù)已形成的可用信息形成用戶易分析和明白的圖形或圖像,最后利用人機(jī)交互將第二步中的數(shù)據(jù)轉(zhuǎn)換為處理后的圖形或圖像顯示處理[9]。
可視化模型依靠圖形進(jìn)行信息交互,直觀反映出數(shù)據(jù)之間的關(guān)系,能夠提升用戶對(duì)需求和業(yè)務(wù)的理解,并對(duì)問題求解過程有更深入的理解。用戶從定制的可視化界面中,可清晰地查看分析結(jié)果。靈活和簡(jiǎn)單易操作的界面能夠提供契合用戶的操作方式。
從差旅服務(wù)角度來看,本文定義的針對(duì)差旅各項(xiàng)數(shù)據(jù)的預(yù)測(cè)分析模型,能夠給出客戶針對(duì)出行方式、出行指數(shù)、目的地、航空公司選擇等方面的數(shù)據(jù),為平臺(tái)決策提供參數(shù);另一方面也能為企業(yè)合理控制差旅成本和合理規(guī)劃差旅出行提供參考依據(jù)。
依據(jù)本文研究方法,建立了各個(gè)業(yè)務(wù)專業(yè)數(shù)據(jù)集。使用大數(shù)據(jù)分析方法,通過確定分析目標(biāo)、數(shù)據(jù)預(yù)處理、數(shù)據(jù)集選擇、大數(shù)據(jù)分析算法選擇、數(shù)據(jù)分析預(yù)測(cè)等[10],完成大數(shù)據(jù)分析定制,并依托Hadoop、HBase、Hive等技術(shù),進(jìn)行數(shù)據(jù)分析。