本發(fā)明涉及大數(shù)據(jù)技術領域,特別是涉及一種數(shù)據(jù)挖掘方法和裝置。
背景技術:
近些年來,由于全球信息技術的迅速發(fā)展和互聯(lián)網(wǎng)的快速普及造成了數(shù)據(jù)過量和信息爆炸,人們迫切需要將這些數(shù)據(jù)轉換成有用的信息和知識并加以利用。這就需要用到數(shù)據(jù)挖掘技術。數(shù)據(jù)挖掘技術一般是指從大量的數(shù)據(jù)中通過算法搜索出隱藏信息的方法。數(shù)據(jù)挖掘技術廣泛應用在很多行業(yè),如金融業(yè)、通信業(yè)、交通業(yè)、大型零售業(yè)及保險業(yè)等行業(yè)。
傳統(tǒng)的數(shù)據(jù)挖掘軟件因為標準化的分析,不能處理個性化的需求,不能給用戶帶來很高的滿意度。因此,急需開發(fā)出一種可以處理客戶個性化需求的數(shù)據(jù)挖掘方法。
技術實現(xiàn)要素:
基于此,有必要針對上述技術問題,提供一種可以處理客戶個性化需求的數(shù)據(jù)挖掘方法和裝置。
一種數(shù)據(jù)挖掘方法,所述方法包括:
從數(shù)據(jù)源獲取實時數(shù)據(jù);
對所述實時數(shù)據(jù)進行數(shù)據(jù)清洗,得到清洗后的實時數(shù)據(jù),根據(jù)所述清洗后的實時數(shù)據(jù)建立數(shù)據(jù)倉庫;
根據(jù)所述數(shù)據(jù)倉庫中的實時數(shù)據(jù),通過預設數(shù)據(jù)挖掘模型對預設時間段的數(shù)據(jù)進行預測,生成第一預測結果并輸出;
其中,所述預設數(shù)據(jù)挖掘模型是通過對歷史數(shù)據(jù)進行分析建模并確定的多個數(shù)據(jù)挖掘模型中準確性最高的數(shù)據(jù)挖掘模型。
一種數(shù)據(jù)挖掘裝置,所述裝置包括:
實時數(shù)據(jù)獲取模塊,用于從數(shù)據(jù)源獲取實時數(shù)據(jù);
數(shù)據(jù)倉庫建立模塊,用于對所述實時數(shù)據(jù)進行數(shù)據(jù)清洗,得到清洗后的實時數(shù)據(jù),根據(jù)所述清洗后的實時數(shù)據(jù)建立數(shù)據(jù)倉庫;
預測模塊,用于根據(jù)所述數(shù)據(jù)倉庫中的實時數(shù)據(jù),通過預設數(shù)據(jù)挖掘模型對預設時間段的數(shù)據(jù)進行預測,生成第一預測結果并輸出,其中,所述預設數(shù)據(jù)挖掘模型是通過對歷史數(shù)據(jù)進行分析建模并確定的多個數(shù)據(jù)挖掘模型中準確性最高的數(shù)據(jù)挖掘模型。
上述數(shù)據(jù)挖掘方法和裝置,從數(shù)據(jù)源獲取實時數(shù)據(jù),對實時數(shù)據(jù)進行數(shù)據(jù)清洗,得到清洗后的實時數(shù)據(jù),根據(jù)清洗后的實時數(shù)據(jù)建立數(shù)據(jù)倉庫。根據(jù)數(shù)據(jù)倉庫中的實時數(shù)據(jù),通過預設數(shù)據(jù)挖掘模型對預設時間段的數(shù)據(jù)進行預測,生成第一預測結果并輸出。其中,預設數(shù)據(jù)挖掘模型是通過對歷史數(shù)據(jù)進行分析建模并確定的多個數(shù)據(jù)挖掘模型中準確性最高的數(shù)據(jù)挖掘模型。選取多個不同的數(shù)據(jù)挖掘模型,對歷史數(shù)據(jù)進行分析建模,從而挑選出準確性最高的數(shù)據(jù)挖掘模型作為預設數(shù)據(jù)挖掘模型。因為通過多個不同的數(shù)據(jù)挖掘模型,對歷史數(shù)據(jù)進行了分析建模,所以挑選出的模型會更加符合歷史數(shù)據(jù)的特異性,從而提高對不同客戶的不同數(shù)據(jù)的預測準確性,可以處理客戶個性化需求。
附圖說明
圖1為一個實施例中數(shù)據(jù)挖掘方法的應用環(huán)境圖;
圖2為一個實施例中服務器的內部結構圖;
圖3為一個實施例中數(shù)據(jù)挖掘方法的流程圖;
圖4為另一個實施例中數(shù)據(jù)挖掘方法的流程圖;
圖5為圖4中選擇模型群并建立模型方法的流程圖;
圖6為一個實施例中數(shù)據(jù)挖掘裝置的結構示意圖;
圖7為另一個實施例中數(shù)據(jù)挖掘裝置的結構示意圖;
圖8為再一個實施例中數(shù)據(jù)挖掘裝置的結構示意圖。
具體實施方式
為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖對本發(fā)明的具體實施方式做詳細的說明。在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明。但是本發(fā)明能夠以很多不同于在此描述的其它方式來實施,本領域技術人員可以在不違背本發(fā)明內涵的情況下做類似改進,因此本發(fā)明不受下面公開的具體實施的限制。
除非另有定義,本文所使用的所有的技術和科學術語與屬于本發(fā)明的技術領域的技術人員通常理解的含義相同。本文中在本發(fā)明的說明書中所使用的術語只是為了描述具體的實施例的目的,不是旨在于限制本發(fā)明。以上實施例的各技術特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術特征所有可能的組合都進行描述,然而,只要這些技術特征的組合不存在矛盾,都應當認為是本說明書記載的范圍。
本發(fā)明實施例提供的數(shù)據(jù)挖掘方法可應用于如圖1所示的環(huán)境中。參考圖1所示,終端102通過網(wǎng)絡與服務器104連接。
在一個實施例中,如圖2所示,還提供了一種服務器,該服務器包括通過系統(tǒng)總線連接的處理器、非易失性存儲介質、內存儲器、網(wǎng)絡接口,非易失性存儲介質中存儲有操作系統(tǒng)和一種數(shù)據(jù)挖掘裝置,該數(shù)據(jù)挖掘裝置用于執(zhí)行一種數(shù)據(jù)挖掘方法。該處理器用于提高計算和控制能力,支撐整個服務器的運行。內存儲器用于為非易失性存儲介質中的數(shù)據(jù)挖掘裝置的運行提供環(huán)境,該內存儲器中可儲存有計算機可讀指令,該計算機可讀指令被處理器執(zhí)行時,可使得該處理器執(zhí)行一種數(shù)據(jù)挖掘方法。網(wǎng)絡接口用于與終端進行網(wǎng)絡通信,接收或發(fā)送數(shù)據(jù)。
在一個實施例中,如圖3所示,提供了一種數(shù)據(jù)挖掘方法,以該方法應用于圖1中的服務器為例進行說明,具體包括:
步驟310,從數(shù)據(jù)源獲取實時數(shù)據(jù)。
該方法可以從多種數(shù)據(jù)源獲取實時數(shù)據(jù),比如說csv(comma-separatedvalues,逗號分隔值)文件、txt文件或者數(shù)據(jù)庫等數(shù)據(jù)源。csv文件以純文本形式存儲表格數(shù)據(jù),純文本意味著該文件是一個字符序列,不含必須像二進制數(shù)字那樣被解讀的數(shù)據(jù)。csv文件由任意數(shù)目的記錄組成,記錄間以某種換行符分隔,每條記錄由字段組成,字段間由分隔符隔開,最常見的是逗號或制表符。txt文件是一種文本文檔。
實時數(shù)據(jù)是指在時間上為當前的數(shù)據(jù)。比如在地鐵站點人流量預測的實施例中,當前時間為早上7點,那么實時數(shù)據(jù)就指早上7點地鐵站的人流量。
步驟320,對實時數(shù)據(jù)進行數(shù)據(jù)清洗,得到清洗后的實時數(shù)據(jù),根據(jù)清洗后的實時數(shù)據(jù)建立數(shù)據(jù)倉庫。
因為數(shù)據(jù)倉庫中的數(shù)據(jù)是面向某一主題的數(shù)據(jù)的集合,這些數(shù)據(jù)從多個業(yè)務系統(tǒng)中抽取而來而且包含歷史數(shù)據(jù),這樣就避免不了有的數(shù)據(jù)是錯誤數(shù)據(jù)、有的數(shù)據(jù)相互之間有沖突。這些錯誤的或有沖突的數(shù)據(jù)顯然是我們不想要的,稱為“臟數(shù)據(jù)”,我們要按照一定的規(guī)則把“臟數(shù)據(jù)”“洗掉”,這就是數(shù)據(jù)清洗。數(shù)據(jù)清洗的任務是過濾那些不符合要求的數(shù)據(jù),主要指殘缺數(shù)據(jù)、錯誤數(shù)據(jù)、重復數(shù)據(jù)這三種數(shù)據(jù)。
對從業(yè)務系統(tǒng)中抽取的實時數(shù)據(jù)去除殘缺數(shù)據(jù)、錯誤數(shù)據(jù)、重復數(shù)據(jù)后,根據(jù)去除上述數(shù)據(jù)后的實時數(shù)據(jù)建立數(shù)據(jù)倉庫。建立數(shù)據(jù)庫可選擇多種方式,比如hive,hdfs,也可以選用傳統(tǒng)的數(shù)據(jù)庫mysql等。
hive是基于hadoop的一個數(shù)據(jù)倉庫工具,可以將結構化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,可以直接使用sql語句實現(xiàn)對數(shù)據(jù)的查詢、更新、新增、刪除等操作,可以處理海量數(shù)據(jù)的查詢分析工作。
hdfs(hadoop分布式文件系統(tǒng)),是被設計成適合運行在通用硬件(commodityhardware)上的分布式文件系統(tǒng)。hdfs有著高容錯性(fault-tolerant)的特點,并且設計用來部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(highthroughput)來訪問應用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集(largedataset)的應用程序。
mysql是一個關系型數(shù)據(jù)庫管理系統(tǒng),關聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內,這樣就增加了速度并提高了靈活性。mysql所使用的sql語言是用于訪問數(shù)據(jù)庫的最常用標準化語言。
步驟330,根據(jù)數(shù)據(jù)倉庫中的實時數(shù)據(jù),通過預設數(shù)據(jù)挖掘模型對預設時間段的數(shù)據(jù)進行預測,生成第一預測結果并輸出,其中,預設數(shù)據(jù)挖掘模型是通過對歷史數(shù)據(jù)進行分析建模并確定的多個數(shù)據(jù)挖掘模型中準確性最高的數(shù)據(jù)挖掘模型。
預設數(shù)據(jù)挖掘模型是通過對歷史數(shù)據(jù)進行分析建模,從中挑選出的準確性最高、最符合歷史數(shù)據(jù)的個性化特點的數(shù)據(jù)挖掘模型。再根據(jù)已經(jīng)建好的數(shù)據(jù)倉庫中的實時數(shù)據(jù),通過預設數(shù)據(jù)挖掘模型對預設時間段的數(shù)據(jù)進行預測,生成第一預測結果并輸出。具體為根據(jù)當前的實時數(shù)據(jù)預測下一時間段的數(shù)據(jù)。
本實施例中,根據(jù)數(shù)據(jù)倉庫中的實時數(shù)據(jù),通過預設數(shù)據(jù)挖掘模型對預設時間段的數(shù)據(jù)進行預測。而預設數(shù)據(jù)挖掘模型是通過多個不同的數(shù)據(jù)挖掘模型,對歷史數(shù)據(jù)分別進行了分析建模,根據(jù)建模輸出結果從中挑選出的預測準確性最高的模型。所以用預設數(shù)據(jù)挖掘模型會更加符合歷史數(shù)據(jù)的特異性,從而提高對不同客戶的不同數(shù)據(jù)的預測準確性,可以處理客戶個性化需求。
在一個實施例中,如圖4所示,在從數(shù)據(jù)源獲取實時數(shù)據(jù)之前,還包括:
步驟340,從數(shù)據(jù)源獲取歷史數(shù)據(jù),歷史數(shù)據(jù)包括第一歷史數(shù)據(jù)和第二歷史數(shù)據(jù),第一歷史數(shù)據(jù)和第二歷史數(shù)據(jù)為前后的不同的時間段的兩個歷史數(shù)據(jù)。
可以從多種數(shù)據(jù)源獲取歷史數(shù)據(jù),比如說csv文件、txt文件或者數(shù)據(jù)庫等數(shù)據(jù)源。歷史數(shù)據(jù)是相對于實時數(shù)據(jù)而言的,是已經(jīng)產(chǎn)生的數(shù)據(jù)。歷史數(shù)據(jù)包括第一歷史數(shù)據(jù)和第二歷史數(shù)據(jù),第一歷史數(shù)據(jù)和第二歷史數(shù)據(jù)為前后的不同的時間段對應的兩個歷史數(shù)據(jù)。
比如在地鐵站點人流量預測的實施例中,具體為對a地鐵站點進行人流量預測。用已經(jīng)發(fā)生的7月1號到7月6號每天a地鐵站點人流量與時間對應的歷史數(shù)據(jù),來預測已經(jīng)發(fā)生的7月11號的人流量與時間對應的數(shù)據(jù)。在本實施例中,第一歷史數(shù)據(jù)指7月1號到7月6號每天a地鐵站點人流量與時間對應的歷史數(shù)據(jù),第二歷史數(shù)據(jù)指7月11號a地鐵站點的人流量與時間對應的歷史數(shù)據(jù)。
步驟350,對第一歷史數(shù)據(jù)和第二歷史數(shù)據(jù)進行清洗,根據(jù)清洗后的第一歷史數(shù)據(jù)和第二歷史數(shù)據(jù)建立數(shù)據(jù)倉庫。
對第一歷史數(shù)據(jù)和第二歷史數(shù)據(jù)進行清洗,得到清洗后的第一歷史數(shù)據(jù)和第二歷史數(shù)據(jù)。根據(jù)清洗后的第一歷史數(shù)據(jù)和第二歷史數(shù)據(jù)建立數(shù)據(jù)倉庫。數(shù)據(jù)清洗的任務是過濾那些不符合要求的數(shù)據(jù),主要指殘缺數(shù)據(jù)、錯誤數(shù)據(jù)、重復數(shù)據(jù)這三種數(shù)據(jù)。
建立數(shù)據(jù)庫可選擇多種方式,比如hive,hdfs,也可以選用傳統(tǒng)的數(shù)據(jù)庫mysql等。
步驟360,從模型池中選擇模型群,根據(jù)模型群中的數(shù)據(jù)挖掘模型分別對數(shù)據(jù)倉庫中的第一歷史數(shù)據(jù)進行建立模型。
模型池中預先放入了很多種模型,根據(jù)每個模型能夠處理的數(shù)據(jù)的類別和特點,以及所能輸出的結果對不同的模型已經(jīng)預先進行了分類組建模型群。比如,將常用于人流量預測的模型組建一個模型群,例如邏輯回歸模型、正則化回歸模型、灰色預測模型及基于r語言的隨機森林算法模型等。
邏輯回歸模型又稱作logit模型,是離散選擇法模型之一,屬于多重變量分析范疇,是社會學、生物統(tǒng)計學、臨床、數(shù)量心理學、計量經(jīng)濟學、市場營銷等統(tǒng)計實證分析的常用方法。logit模型是最早的離散選擇模型,也是目前應用最廣的模型。
邏輯分布(logisticdistribution)公式:p(y=1│x=x)=exp(x'β)/(1+exp(x'β))
其中參數(shù)β常用極大似然估計。
正則化回歸模型(regularization)是一種可以避免過擬合的機器學習算法,過擬合表現(xiàn)在訓練數(shù)據(jù)上的誤差非常小,而在測試數(shù)據(jù)上誤差反而增大?;貧w的擬合情況有三種情況:擬合不夠好,剛剛好,過擬合。出現(xiàn)這擬合不夠好和過擬合情況的主要原因分別是模型里面的特征較少,這樣的模型無疑對真正的數(shù)據(jù)有著“偏見”。而過擬合的原因是,特征個數(shù)太多,而訓練集的數(shù)據(jù)不足以訓練這么多特征,因此測試數(shù)據(jù)上誤差就會很大。正則化回歸模型就是提供了一種機制可以權衡擬合不夠好和過擬合的情況,使得擬合模型達到最優(yōu)效果。
灰色預測模型是一種對含有不確定因素的系統(tǒng)進行預測的方法?;疑A測通過鑒別系統(tǒng)因素之間發(fā)展趨勢的相異程度,即進行關聯(lián)分析,并對原始數(shù)據(jù)進行生成處理來尋找系統(tǒng)變動的規(guī)律,生成有較強規(guī)律性的數(shù)據(jù)序列,然后建立相應的微分方程模型,從而預測事物未來發(fā)展趨勢的狀況。其用等時距觀測到的反應預測對象特征的一系列數(shù)量值構造灰色預測模型,預測未來某一時刻的特征量,或達到某一特征量的時間。
隨機森林指的是利用多棵樹對樣本進行訓練并預測的一種分類器。在機器學習中,隨機森林是一個包含多個決策樹的分類器,并且其輸出的類別是由個別樹輸出的類別的眾數(shù)而定。決策樹相當于一個大師,通過自己在數(shù)據(jù)集中學到的知識對于新的數(shù)據(jù)進行分類。
根據(jù)我們獲取的第一歷史數(shù)據(jù)的類別和特點,以及通過建模所要輸出的結果,從模型池中選出適合的模型對數(shù)據(jù)倉庫中的第一歷史數(shù)據(jù)進行重新建模。比如在地鐵站點人流量預測的實施例中,具體為從模型池中選出用于人流量預測的模型群,包括邏輯回歸模型、正則化回歸模型、灰色預測模型及基于r語言的隨機森林算法模型等。根據(jù)選出的模型群中的每一個模型,分別對數(shù)據(jù)倉庫中的第一歷史數(shù)據(jù)進行重新建模。具體為,將第一歷史數(shù)據(jù)帶入模型中進行運算,通過運算對原模型的參數(shù)進行修改,得出重新建模后的模型。
步驟370,通過建立的模型分別預測第二歷史數(shù)據(jù)對應的時間段所對應的數(shù)據(jù),生成第二預測結果。
通過重新建模后的模型分別預測第二歷史數(shù)據(jù)對應的時間段所對應的數(shù)據(jù),即為通過重新建模后的模型對第二歷史數(shù)據(jù)進行回測。比如在的實施例中,具體為通過重新建模后的邏輯回歸模型、正則化回歸模型、灰色預測模型及基于r語言的隨機森林算法模型,對第二歷史數(shù)據(jù)進行回測,預測7月11號的a地鐵站點人流量與時間對應的數(shù)據(jù)。生成第二預測結果,第二預測結果即為預測所得到的7月11號的a站點人流量與時間對應的數(shù)據(jù)。
步驟380,分別將第二預測結果與第二歷史數(shù)據(jù)進行比較,得到準確性最高的數(shù)據(jù)挖掘模型作為預設數(shù)據(jù)挖掘模型。
將預測第二歷史數(shù)據(jù)對應的時間段所對應的數(shù)據(jù),生成的第二預測結果與第二歷史數(shù)據(jù)進行比較。選出準確性最高的數(shù)據(jù)挖掘模型作為預設數(shù)據(jù)挖掘模型。比如在地鐵站點人流量預測的實施例中,具體為將預測得出的7月11號的a地鐵站點人流量與時間對應的數(shù)據(jù),與7月11號的a地鐵站點人流量的真實歷史數(shù)據(jù)進行比較,選出準確性最高的數(shù)據(jù)挖掘模型作為預設數(shù)據(jù)挖掘模型。
在本實施例中,模型池中預先放入了很多種模型,且根據(jù)模型能夠處理的數(shù)據(jù)的類別和特點,以及所能輸出的結果對不同的模型已經(jīng)預先進行了分類組建模型群。所以我們根據(jù)獲取的第一歷史數(shù)據(jù)的類別和特點,以及所要輸出的結果,從模型池中選擇匹配的模型群。根據(jù)選出的模型群中的每一個模型,分別對數(shù)據(jù)倉庫中的第一歷史數(shù)據(jù)進行重新建模。因為使用了多個模型進行建模,所以會提高模型建立的準確性、匹配性,相比于只通過一個模型進行建模,大大降低模型建立不準確的概率。通過重新建模后的模型分別對第二歷史數(shù)據(jù)進行回測生成第二預測結果,分別將第二預測結果與第二歷史數(shù)據(jù)進行比較,得到準確性最高的數(shù)據(jù)挖掘模型作為預設數(shù)據(jù)挖掘模型。
在一個實施例中,如圖5所示,從模型池中選擇模型群,根據(jù)模型群中的數(shù)據(jù)挖掘模型分別對數(shù)據(jù)倉庫中的第一歷史數(shù)據(jù)進行建立模型,具體包括:
步驟362,確定第一歷史數(shù)據(jù)的類別和特點。
確定第一歷史數(shù)據(jù)的類別。例如,第一歷史數(shù)據(jù)可能是人流量數(shù)據(jù)、客戶的微博瀏覽信息數(shù)據(jù)、客戶的線上消費信息數(shù)據(jù)等。
確定第一歷史數(shù)據(jù)的特點。例如,第一歷史數(shù)據(jù)可能是離散型數(shù)據(jù)或者連續(xù)性數(shù)據(jù)。
步驟364,確定對第一歷史數(shù)據(jù)進行建模分析所要輸出的結果。
確定對第一歷史數(shù)據(jù)進行建模分析所要輸出的結果。比如在地鐵站點人流量預測的實施例中,通過數(shù)據(jù)挖掘模型需要輸出的是人流量數(shù)據(jù)。而在客戶的微博瀏覽信息數(shù)據(jù)進行數(shù)據(jù)挖掘時,通過數(shù)據(jù)挖掘模型需要獲得客戶的關注習慣、消費傾向及消費習慣等,進而進行定制相關的營銷措施,例如:消息定向推薦或者定制商品促銷等。
步驟366,根據(jù)第一歷史數(shù)據(jù)的類別和特點及所要輸出的結果從模型池中選擇對應的模型群。
根據(jù)第一歷史數(shù)據(jù)的類別和特點及所要輸出的結果,從模型池中選出與第一歷史數(shù)據(jù)的類別和特點及所要輸出的結果匹配的模型群。模型池中預先放入了很多種模型,且根據(jù)模型能夠處理的數(shù)據(jù)的類別和特點,以及所能輸出的結果對不同的模型已經(jīng)預先進行了分類組建模型群。
步驟368,根據(jù)模型群中的模型分別對數(shù)據(jù)倉庫中的第一歷史數(shù)據(jù)進行建立模型。
根據(jù)從模型池中選出的匹配的模型群中的每個模型對數(shù)據(jù)倉庫中的第一歷史數(shù)據(jù)進行重新建模。比如在人流量預測的實施例中,根據(jù)從模型池中已經(jīng)選出的常用于人流量預測的模型,例如邏輯回歸模型、正則化回歸模型、灰色預測模型及基于r語言的隨機森林算法模型等。分別通過邏輯回歸模型、正則化回歸模型、灰色預測模型及基于r語言的隨機森林算法模型對數(shù)據(jù)倉庫中的第一歷史數(shù)據(jù)進行重新建模。
在本實施例中,通過確定第一歷史數(shù)據(jù)的類別和特點及對第一歷史數(shù)據(jù)進行建模分析所要輸出的結果,對模型池中的模型群進行匹配。選出匹配的模型群后,一一通過模型群中的每個模型對第一歷史數(shù)據(jù)進行重新建模。。因為使用了多個模型進行建模,所以會提高模型建立的準確性、匹配性,相比于只通過一個模型進行建模,大大降低模型建立不準確的概率。
在一個實施例中,分別將第二預測結果與第二歷史數(shù)據(jù)進行比較,得到準確性最高的數(shù)據(jù)挖掘模型作為預設數(shù)據(jù)挖掘模型,具體包括:
步驟382,分別將第二預測結果與第二歷史數(shù)據(jù)進行一致性比較,生成一致性比較結果。
分別將第二預測結果與第二歷史數(shù)據(jù)進行一致性比較,具體為通過計算第二預測結果和第二歷史真實數(shù)據(jù)的方差及標準差,來進行一致性比較,生成一致性比較結果即一致性是高還是低。
步驟384,根據(jù)一致性比較結果確定建立的模型的準確性。
根據(jù)一致性比較結果,選取一致性最高的模型為預設數(shù)據(jù)挖掘模型,用于對實時數(shù)據(jù)進行預測。
在一個實施例中,在將第一預測結果輸出之后,還包括:根據(jù)第一預測結果制定與第一預測結果對應的營銷策略或者根據(jù)第一預測結果進行判斷,判斷第一預測結果是否超過閾值,再制定相應的策略。
從csv文件、txt文件或者數(shù)據(jù)庫等數(shù)據(jù)源獲取實時數(shù)據(jù),對實時數(shù)據(jù)進行數(shù)據(jù)清洗,過濾那些不符合要求的數(shù)據(jù)進而得到清洗后的實時數(shù)據(jù),根據(jù)清洗后的實時數(shù)據(jù)建立數(shù)據(jù)倉庫。對數(shù)據(jù)倉庫中的實時數(shù)據(jù),通過選出的預設數(shù)據(jù)挖掘模型對預設時間段的數(shù)據(jù)進行預測,生成第一預測結果并輸出。
在將第一預測結果輸出之后,根據(jù)第一預測結果制定與第一預測結果對應的營銷策略。例如對客戶的微博瀏覽信息數(shù)據(jù)進行數(shù)據(jù)挖掘時,通過預設數(shù)據(jù)挖掘模型預測客戶的關注習慣、消費傾向及消費習慣等,進而定制相關的營銷措施,如消息定向推薦或者定制商品促銷等。
或者根據(jù)第一預測結果進行判斷,判斷第一預測結果是否超過閾值,再制定相應的策略。比如在地鐵站點人流量預測的實施例中,通過預設數(shù)據(jù)挖掘模型預測預設時間段具體為下一未來時間段特定站點的人流量數(shù)據(jù),然后計算該站點的實時飽和度,判斷實時飽和度是否超過飽和度的閾值。如果超過則需要制定相應的策略,具體為提前啟用事先已經(jīng)定義好的應急預案庫,比如進行人流疏散或者進行發(fā)車時間縮短調整等,避免在下一未來時間段發(fā)生站點擁堵事件。
在本實施例中,對數(shù)據(jù)倉庫中的實時數(shù)據(jù),通過選出的預設數(shù)據(jù)挖掘模型對預設時間段即下一未來時間段的數(shù)據(jù)進行預測,獲取第一預測結果,再根據(jù)第一預測結果制定與第一預測結果對應的營銷策略或者根據(jù)第一預測結果進行判斷,判斷第一預測結果是否超過閾值,再制定相應的策略。能夠未卜先知,提前獲知下一未來時間段的實時數(shù)據(jù),從而提前獲取商機或者制定策略避免事故發(fā)生。
在一個實施例中,提供了一種數(shù)據(jù)挖掘方法,該方法以應用于如圖1所示的環(huán)境中進行舉例說明。
提供了一種數(shù)據(jù)挖掘方法,用于對地鐵站人流量進行預測。地鐵作為公共運輸?shù)闹鞲删€和客流運送的大動脈,人員密集且流動性大,一旦發(fā)生事故可能造成重大人員傷亡和財產(chǎn)損失。準確預測進出站人流,一方面可以讓壓力站點提前做好預警,保障行人安全出行,另一方面也可以為發(fā)車頻率、新建站點等新晉規(guī)劃提供參考,平衡客運量與地鐵投入的關系。
在軟件開發(fā)階段,首先我們從數(shù)據(jù)源獲取歷史數(shù)據(jù),具體為幾乎每位乘坐地鐵的乘客都會攜帶手機,所以利用通信基站獲取手機用戶進站和出站所產(chǎn)生的歷史數(shù)據(jù)。選取a地鐵站中國移動通信基站,該通信基站上的歷史數(shù)據(jù)是一個數(shù)據(jù)表,記錄了基站編號、手機用戶編號及手機用戶編號獲取時間的對應關系。按照中國移動手機用戶大約在三大運營商中占比58%的權重,進行分析預測所有的手機用戶。
歷史數(shù)據(jù)包括第一歷史數(shù)據(jù)和第二歷史數(shù)據(jù),第一歷史數(shù)據(jù)和第二歷史數(shù)據(jù)為前后的不同的時間段對應的兩個歷史數(shù)據(jù)。第一歷史數(shù)據(jù)可以是其中某6天,例如7月1號到7月6號每天a地鐵站的手機用戶進站和出站所產(chǎn)生的歷史數(shù)據(jù)對應的數(shù)據(jù)表。第二歷史數(shù)據(jù)可以是7月11號a地鐵站的手機用戶進站和出站所產(chǎn)生的歷史數(shù)據(jù)對應的數(shù)據(jù)表。
將從中國移動通信基站獲取的第一歷史數(shù)據(jù)及第二歷史數(shù)據(jù)對應的數(shù)據(jù)表進行數(shù)據(jù)清洗。清洗規(guī)則為:首先去除無效的手機用戶id即錯誤的手機用戶id;再去除進站后臨近時間出現(xiàn)的多個相同的手機用戶id,只保留該手機用戶id第一次出現(xiàn)時間的數(shù)據(jù)行;其次去除出站后臨近時間出現(xiàn)的多個相同的手機用戶id,只保留該手機用戶id第一次出現(xiàn)時間的數(shù)據(jù)行;最后,去除手機用戶id在地鐵上漫游于各小區(qū)通信基站之間的過站無效手機用戶id,即手機用戶id在進站時記錄一次出站時記錄一次,兩次記錄之間的都是過站無效手機用戶id。從而經(jīng)過數(shù)據(jù)清洗后獲取真實的手機用戶進站和出站所產(chǎn)生的第一歷史數(shù)據(jù)及第二歷史數(shù)據(jù)對應的數(shù)據(jù)表。
進一步的,對清洗后的第一歷史數(shù)據(jù)及第二歷史數(shù)據(jù)對應的數(shù)據(jù)表建立數(shù)據(jù)倉庫。
進一步的,確定第一歷史數(shù)據(jù)的類別為人流量數(shù)據(jù),確定第一歷史數(shù)據(jù)的特點為連續(xù)性數(shù)據(jù),確定對第一歷史數(shù)據(jù)進行建模分析所要輸出的結果是人流量數(shù)據(jù)。然后從模型池中選擇出常用于人流量預測的模型群,該模型群中包括邏輯回歸模型、正則化回歸模型、灰色預測模型及基于r語言的隨機森林算法模型等數(shù)據(jù)挖掘模型,根據(jù)該模型群中的數(shù)據(jù)挖掘模型分別對數(shù)據(jù)倉庫中的第一歷史數(shù)據(jù)進行重新建立模型,即為對數(shù)據(jù)倉庫中的7月1號到7月6號的第一歷史數(shù)據(jù)進行重新建立模型。
通過重新建模后的上述4種模型分別對數(shù)據(jù)倉庫中的7月11號a地鐵站的第二歷史數(shù)據(jù)進行回測,生成4種第二預測結果。第二預測結果為7月11號當天的a地鐵站的人流量與時間的對應數(shù)據(jù)。
進一步的,分別將通過上述4種模型預測所得出的4種7月11號當天的a地鐵站的人流量與時間的對應數(shù)據(jù)與數(shù)據(jù)倉庫中的真實的第二歷史數(shù)據(jù)進行一致性比較。具體為計算預測所得出的數(shù)據(jù)與真實的第二歷史數(shù)據(jù)的方差及標準差進行比較,方差及標準差越小的說明波動性越小即一致性越高。選取一致性最高的模型為預設數(shù)據(jù)挖掘模型,用于對實時數(shù)據(jù)進行預測。軟件開發(fā)階段完成。
在軟件上線后,用戶使用該軟件對當天的a地鐵站點人流量實時數(shù)據(jù)進行預測。首先選取a地鐵站中國移動通信基站,當前時間為早上7點整,那么獲取當天6點到7點之間該通信基站上的一個數(shù)據(jù)表,該數(shù)據(jù)表記錄了6點到7點之間基站編號、手機用戶編號及手機用戶編號獲取時間的對應關系。對數(shù)據(jù)表進行數(shù)據(jù)清洗,數(shù)據(jù)清洗步驟與對從基站獲取的歷史數(shù)據(jù)的清洗規(guī)則相同。得到清洗后的6點到7點之間的實時數(shù)據(jù),根據(jù)清洗后的實時數(shù)據(jù)建立數(shù)據(jù)倉庫。通過預設數(shù)據(jù)挖掘模型對7點15分a地鐵站的人流量進行預測。生成第一預測結果即7點15分a地鐵站的人流量數(shù)據(jù)并輸出,根據(jù)7點15分a地鐵站的人流量數(shù)據(jù),計算7點15分時a站點的實時飽和度,判斷實時飽和度是否超過a站點飽和度的閾值。如果超過則需要制定相應的策略,具體為提前啟用事先已經(jīng)定義好的應急預案庫,比如進行人流疏散或者縮短發(fā)車間隔時間等,避免在下一未來時間段發(fā)生站點擁堵事件。
在一個實施例中,如圖6所示,還提供了一種數(shù)據(jù)挖掘裝置,該裝置包括:實時數(shù)據(jù)獲取模塊610、數(shù)據(jù)倉庫建立模塊620及預測模塊630。
實時數(shù)據(jù)獲取模塊610,用于從數(shù)據(jù)源獲取實時數(shù)據(jù)。
數(shù)據(jù)倉庫建立模塊620,用于對實時數(shù)據(jù)進行數(shù)據(jù)清洗,得到清洗后的實時數(shù)據(jù),根據(jù)清洗后的實時數(shù)據(jù)建立數(shù)據(jù)倉庫。
預測模塊630,用于根據(jù)數(shù)據(jù)倉庫中的實時數(shù)據(jù),通過預設數(shù)據(jù)挖掘模型對預設時間段的數(shù)據(jù)進行預測,生成第一預測結果并輸出,其中,預設數(shù)據(jù)挖掘模型是通過對歷史數(shù)據(jù)進行分析建模并確定的多個數(shù)據(jù)挖掘模型中準確性最高的數(shù)據(jù)挖掘模型。
在一個實施例中,如圖7所示,數(shù)據(jù)挖掘裝置還包括:歷史數(shù)據(jù)獲取模塊710、模型建立模塊730及預設數(shù)據(jù)挖掘模型確定模塊750。
歷史數(shù)據(jù)獲取模塊710,用于從數(shù)據(jù)源獲取歷史數(shù)據(jù),歷史數(shù)據(jù)包括第一歷史數(shù)據(jù)和第二歷史數(shù)據(jù),第一歷史數(shù)據(jù)和第二歷史數(shù)據(jù)為不同的時間段對應的兩個歷史數(shù)據(jù)。
數(shù)據(jù)倉庫建立模塊720,還用于對第一歷史數(shù)據(jù)和第二歷史數(shù)據(jù)進行清洗,根據(jù)清洗后的第一歷史數(shù)據(jù)和第二歷史數(shù)據(jù)建立數(shù)據(jù)倉庫。
模型建立模塊730,用于從模型池中選擇模型群,根據(jù)模型群中的數(shù)據(jù)挖掘模型分別對數(shù)據(jù)倉庫中的第一歷史數(shù)據(jù)進行建立模型。
預測模塊740,還用于通過建立的模型分別預測第二歷史數(shù)據(jù)的時間段所對應的數(shù)據(jù),生成第二預測結果。
預設數(shù)據(jù)挖掘模型確定模塊750,用于分別將第二預測結果與第二歷史數(shù)據(jù)進行比較,得到準確性最高的數(shù)據(jù)挖掘模型作為預設數(shù)據(jù)挖掘模型。
在一個實施例中,模型建立模塊730還用于確定第一歷史數(shù)據(jù)的類別和特點;確定對第一歷史數(shù)據(jù)進行建模分析所要輸出的結果;根據(jù)第一歷史數(shù)據(jù)的類別和特點及所要輸出的結果從模型池中選擇對應的模型群;根據(jù)模型群中的模型分別對數(shù)據(jù)倉庫中的第一歷史數(shù)據(jù)進行建立模型。
在一個實施例中,預設數(shù)據(jù)挖掘模型確定模塊750還用于分別將第二預測結果與第二歷史數(shù)據(jù)進行一致性比較,生成一致性比較結果;根據(jù)一致性比較結果確定建立的模型的準確性。
在一個實施例中,如圖8所示裝置還包括:策略制定模塊640,用于根據(jù)第一預測結果制定與第一預測結果對應的營銷策略或者根據(jù)第一預測結果進行判斷,判斷第一預測結果是否超過閾值,再制定相應的策略。
以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。