數據挖掘論文模板(10篇)

時間:2023-03-17 18:10:52

導言:作為寫作愛好者,不可錯過為您精心挑選的10篇數據挖掘論文,它們將為您的寫作提供全新的視角,我們衷心期待您的閱讀,并希望這些內容能為您提供靈感和參考。

數據挖掘論文

篇1

隨著信息技術迅速發展,數據庫的規模不斷擴大,產生了大量的數據。但大量的數據往往無法辨別隱藏在其中的能對決策提供支持的信息,而傳統的查詢、報表工具無法滿足挖掘這些信息的需求。因此,需要一種新的數據分析技術處理大量數據,并從中抽取有價值的潛在知識,數據挖掘(DataMining)技術由此應運而生。

一、數據挖掘的定義

數據挖掘是指從數據集合中自動抽取隱藏在數據中的那些有用信息的非平凡過程,這些信息的表現形式為:規則、概念、規律及模式等。它可幫助決策者分析歷史數據及當前數據,并從中發現隱藏的關系和模式,進而預測未來可能發生的行為。數據挖掘的過程也叫知識發現的過程。

二、數據挖掘的方法

1.統計方法。傳統的統計學為數據挖掘提供了許多判別和回歸分析方法,常用的有貝葉斯推理、回歸分析、方差分析等技術。貝葉斯推理是在知道新的信息后修正數據集概率分布的基本工具,處理數據挖掘中的分類問題,回歸分析用來找到一個輸入變量和輸出變量關系的最佳模型,在回歸分析中有用來描述一個變量的變化趨勢和別的變量值的關系的線性回歸,還有用來為某些事件發生的概率建模為預測變量集的對數回歸、統計方法中的方差分析一般用于分析估計回歸直線的性能和自變量對最終回歸的影響,是許多挖掘應用中有力的工具之一。

2.關聯規則。關聯規則是一種簡單,實用的分析規則,它描述了一個事物中某些屬性同時出現的規律和模式,是數據挖掘中最成熟的主要技術之一。關聯規則在數據挖掘領域應用很廣泛適合于在大型數據集中發現數據之間的有意義關系,原因之一是它不受只選擇一個因變量的限制。大多數關聯規則挖掘算法能夠無遺漏發現隱藏在所挖掘數據中的所有關聯關系,但是,并不是所有通過關聯得到的屬性之間的關系都有實際應用價值,要對這些規則要進行有效的評價,篩選有意義的關聯規則。

3.聚類分析。聚類分析是根據所選樣本間關聯的標準將其劃分成幾個組,同組內的樣本具有較高的相似度,不同組的則相異,常用的技術有分裂算法,凝聚算法,劃分聚類和增量聚類。聚類方法適合于探討樣本間的內部關系,從而對樣本結構做出合理的評價,此外,聚類分析還用于對孤立點的檢測。并非由聚類分析算法得到的類對決策都有效,在運用某一個算法之前,一般要先對數據的聚類趨勢進行檢驗。

4.決策樹方法。決策樹學習是一種通過逼近離散值目標函數的方法,通過把實例從根結點排列到某個葉子結點來分類實例,葉子結點即為實例所屬的分類。樹上的每個結點說明了對實例的某個屬性的測試,該結點的每一個后繼分支對應于該屬性的一個可能值,分類實例的方法是從這棵樹的根結點開始,測試這個結點指定的屬性,然后按照給定實例的該屬性值對應的樹枝向下移動。決策樹方法是要應用于數據挖掘的分類方面。

5.神經網絡。神經網絡建立在自學習的數學模型基礎之上,能夠對大量復雜的數據進行分析,并可以完成對人腦或其他計算機來說極為復雜的模式抽取及趨勢分析,神經網絡既可以表現為有指導的學習也可以是無指導聚類,無論哪種,輸入到神經網絡中的值都是數值型的。人工神經元網絡模擬人腦神經元結構,建立三大類多種神經元網絡,具有非線形映射特性、信息的分布存儲、并行處理和全局集體的作用、高度的自學習、自組織和自適應能力的種種優點。

6.遺傳算法。遺傳算法是一種受生物進化啟發的學習方法,通過變異和重組當前己知的最好假設來生成后續的假設。每一步,通過使用目前適應性最高的假設的后代替代群體的某個部分,來更新當前群體的一組假設,來實現各個個體的適應性的提高。遺傳算法由三個基本過程組成:繁殖(選擇)是從一個舊種群(父代)選出生命力強的個體,產生新種群(后代)的過程;交叉〔重組)選擇兩個不同個體〔染色體)的部分(基因)進行交換,形成新個體的過程;變異(突變)是對某些個體的某些基因進行變異的過程。在數據挖掘中,可以被用作評估其他算法的適合度。

7.粗糙集。粗糙集能夠在缺少關于數據先驗知識的情況下,只以考察數據的分類能力為基礎,解決模糊或不確定數據的分析和處理問題。粗糙集用于從數據庫中發現分類規則的基本思想是將數據庫中的屬性分為條件屬性和結論屬性,對數據庫中的元組根據各個屬性不同的屬性值分成相應的子集,然后對條件屬性劃分的子集與結論屬性劃分的子集之間上下近似關系生成判定規則。所有相似對象的集合稱為初等集合,形成知識的基本成分。任何初等集合的并集稱為精確集,否則,一個集合就是粗糙的(不精確的)。每個粗糙集都具有邊界元素,也就是那些既不能確定為集合元素,也不能確定為集合補集元素的元素。粗糙集理論可以應用于數據挖掘中的分類、發現不準確數據或噪聲數據內在的結構聯系。

8.支持向量機。支持向量機(SVM)是在統計學習理論的基礎上發展出來的一種新的機器學習方法。它基于結構風險最小化原則上的,盡量提高學習機的泛化能力,具有良好的推廣性能和較好的分類精確性,能有效的解決過學習問題,現已成為訓練多層感知器、RBF神經網絡和多項式神經元網絡的替代性方法。另外,支持向量機算法是一個凸優化問題,局部最優解一定是全局最優解,這些特點都是包括神經元網絡在內的其他算法所不能及的。支持向量機可以應用于數據挖掘的分類、回歸、對未知事物的探索等方面。

事實上,任何一種挖掘工具往往是根據具體問題來選擇合適挖掘方法,很難說哪種方法好,那種方法劣,而是視具體問題而定。

三、結束語

篇2

1.2CPU/GPU協同并行計算在諸多適用于高性能計算的體系結構中,采用通用多核CPU與定制加速協處理器相結合的異構體系結構成為構造千萬億次計算機系統的一種可行途徑。而在眾多異構混合平臺中,基于CPU/GPU異構協同的計算平臺具有很大的發展潛力。在協同并行計算時,CPU和GPU應各取所長,即CPU承擔程序控制,而密集計算交由GPU完成。另外,除管理和調度GPU計算任務外,CPU也應當承擔一部分科學計算任務[12]。新型異構混合體系結構對大規模并行算法研究提出了新的挑戰,迫切需要深入研究與該體系結構相適應的并行算法。事實上,目前基于GPU加速的數據挖掘算法實現都有CPU參與協同計算,只是討論的重點多集中在為適應GPU而進行的并行化設計上。實踐中,需要找出密集計算部分并將其遷移到GPU中執行,剩余部分仍然由CPU來完成。

1.3CUDA為了加速GPU通用計算的發展,NVIDIA公司在2007年推出統一計算設備架構(ComputeUnifiedDeviceArchitecture,CUDA)[10,13]。CUDA編程模型將CPU作為主機,GPU作為協處理器,兩者協同工作,各司其職。CPU負責進行邏輯性強的事務處理和串行計算,GPU則專注于執行高度線程化的并行處理任務。CUDA采用單指令多線程(SIMT)執行模式,而內核函數(kernel)執行GPU上的并行計算任務,是整個程序中一個可以被并行執行的步驟。CUDA計算流程通常包含CPU到GPU數據傳遞、內核函數執行、GPU到CPU數據傳遞三個步驟。CUDA不需要借助于圖形學API,并采用了比較容易掌握的類C/C++語言進行開發,為開發人員有效利用GPU的強大性能提供了條件。CUDA被廣泛應用于石油勘探、天文計算、流體力學模擬、分子動力學仿真、生物計算和圖像處理等領域,在很多應用中獲得了幾倍、幾十倍,乃至上百倍的加速比[13]。

1.4并行編程語言和模型過去幾十年里,人們相繼提出了很多并行編程語言和模型,其中使用最廣泛的是為可擴展的集群計算設計的消息傳遞接口(MessagePassingInterface,MPI)和為共享存儲器的多處理器系統設計的OpenMP[14]。OpenMP最初是為CPU執行而設計的。OpenACC[15]是計算機廠商為異構計算系統提出的一種新編程模型,其主要優勢是為抽象掉許多并行編程細節提供了編譯自動化和運行時系統支持。這使得應用程序在不同廠商的計算機和同一廠商不同時代的產品中保持兼容性。然而,學習OpenACC需要理解所有相關的并行編程細節。在MPI編程模型中,集群中的計算節點之間相互不共享存儲器;節點之間的數據共享與交互都通過顯式傳遞消息的方式實現。MPI成功應用于高性能科學計算(HPC)領域。現在很多HPC集群采用的是異構的CPU/GPU節點。在集群層次上,開發人員使用MPI進行編程,但在節點層次上,CUDA是非常高效的編程接口。由于計算節點之間缺乏共享存儲器機制,要把應用程序移植到MPI中需要做大量針對性分析和分解工作。包括蘋果公司在內的幾大公司在2009年共同開發了一套標準編程接口,稱之為OpenCL[16]。與CUDA類似,OpenCL編程模型定義了語言擴展和運行時API,使程序員可以在大規模并行處理中進行并行管理和數據傳遞。與CUDA相比,OpenCL更多地依賴API,而不是語言的擴展,這允許廠商快速調整現有編譯器和工具來處理OpenCL程序。OpenCL和CUDA在關鍵概念和特性上有諸多相似之處,因此CUDA程序員可以很快掌握OpenCL。

1.5MATLAB因提供豐富的庫函數庫以及諸多其他研究者貢獻和共享的函數庫,MATLAB是研究人員實現算法的常用平臺。通過封裝的數據容器(GPUArrays)和函數,MATLAB允許沒有底層CUDA編程能力的研究人員可以較容易獲得GPU計算能力,因此MATLAB較OpenCL更容易上手。截止準備本文時,2014版本的MATLAB提供了226個內置的GPU版本的庫函數。對于有CUDA編程經驗的人員,MATLAB允許直接集成CUDA內核進MATLAB應用。本文第四節的實驗亦基于MATLAB實現。

1.6JACKET引擎JACKET[17]是一個由AccelerEyes公司開發專門用于以MATLAB為基礎的基于GPU的計算引擎,其最新版本已經包含了高層的接口,完全屏蔽了底層硬件的復雜性,并支持所有支持CUDA的GPU計算,降低了進行CUDA開發的門檻。JACKET是MATLAB代碼在GPU上運行的插件。JACKET允許標準的MATLAB代碼能夠在任何支持CUDA的GPU上運行,這使得廣大的MATLAB及C/C++用戶可以直接使用GPU強大的計算能力進行相關應用領域的快速原型開發。JACKET包含了一套運行于MATLAB環境中優化并行計算的基礎函數庫。并且支持MATLAB數據類型,可將任何存儲于MATLABCPU內存中的變量數據轉換為GPU上的數據類型,對以往的MATLAB程序來說,只需更改數據類型,就能遷移到GPU上運行。本文的第四節的實驗亦基于JACKET在MATLAB上實現。

2相關工作綜述

2.1基于CPU的數據挖掘算法實現數據挖掘算法的研究一直很活躍,許多成熟和經典的算法已經實現在諸多研究或商用軟件包/平臺,例如開源的Weka[18]和KNIME,以及商用的IBM公司的PASWModeler(即之前SPSS公司的Clementine®)。這些軟件默認都是單機版本,可運行在普通PC或高性能服務器上,基于CPU的計算能力。為了適應目前大規模的計算,出現了基于Google公司提出的MapReduce[19]計算框架實現的開源數據挖掘平臺Mahout[20]。相關的研究起源于斯坦福大學AndrewNg研究組2006年的經典論著[21]。由于現有的算法需要先找到可“遷移”到MapReduce的方式,因此目前Mahout平臺上僅有幾個能支持分布式部署的數據挖掘算法,包括用于分類的樸素貝葉斯、隨機森林,用于聚類的k-Means,基于項目的協同過濾等。目前Mahout仍然是基于CPU的計算能力。

2.2聚類算法聚類是數據挖掘中用來發現數據分布和隱含模式的一種無監督學習,每個訓練元組的類標號是未知的,并且要學習的個數或集合也可能事先不知道。對于給定的數據集,聚類算法按照一定的度量,將數據對象分組為多個簇,使得在同一個簇中的對象之間具有較高的相似度,而不同簇中的對象差別很大[22-23]。k-Means算法是經典的基于距離/劃分的聚類分析算法,也是應用得最廣泛的算法之一,采用距離作為相似性的評價指標,即認為兩個對象距離越近,其相似度就越大。k-Means算法的流程如下[24]:輸入:簇的數目k和包含n個對象數據集D。輸出:k個簇的集合。方法:1)從D中任意選擇k個對象作為初始簇中心。計算每個數據對象到各簇中心的歐氏距離,將每個數據對象分配到最相似的簇中。2)重新計算每個簇中對象的均值。3)循環執行步驟2-3兩個步驟,直到各個簇內對象不再變化。上述算法步驟2屬于計算密度最大的部分,且具備并行化的條件。計算各個數據對象到各簇中心的歐氏距離和將數據對象分配到最近的簇的時候,數據對象之間都是相互獨立的,不需要進行交換,且沒有先后順序,后計算的對象不需要等待前一次計算的結果,僅在完成全部分配過程之后,才需要進行一次數據匯總。所以文獻[25]的作者們使用GPU并行優化了一維數據的k-Means算法的步驟2,并使用帶緩存機制的常數存儲器保存中心點數據,能獲得更好的讀取效率。文獻中還展示了實驗結果,在8600GT上取得了14倍左右的加速效果。DBSCAN屬于基于密度的聚類算法中最常被引用的,G-DBSCAN是它的一個GPU加速版本[26]。文獻[26]的實驗顯示較DBSCAN可以實現高達112倍的加速。BIRCH是經典的基于層次的聚類算法,文獻[27]中基于CUDA實現的GPU加速版本在實驗中獲得了高達154倍的加速。

2.3分類算法分類是數據挖掘中應用領域極其廣泛的重要技術之一,至今已經提出很多算法。分類算法[28]是一種監督學習,通過對已知類別訓練集的分析,從中發現分類規則,以此預測新數據的類別。分類算法是將一個未知樣本分到幾個已存在類的過程,主要包含兩個步驟:首先,根據類標號已知的訓練數據集,訓練并構建一個模型,用于描述預定的數據類集或概念集;其次,使用所獲得的模型對新的數據進行分類。近年來,許多研究已經轉向實現基于GPU加速分類算法,包括k-NN(k近鄰)分類算法[29],支持向量機分類算法[30],貝葉斯分類算法[31-32]等。kNN算法[33]是數據挖掘中應用最廣泛的一種分類算法,簡單易實現。它是一種典型的基于實例的學習法,將待判定的檢驗元組與所有的訓練元組進行比較,挑選與其最相似的k個訓練數據,基于相應的標簽和一定的選舉規則來決定其標簽。在ShenshenLiang等人的文章[34]指出,由于kNN算法是一種惰性學習法,對于每個待分類的樣本,它都需要計算其與訓練樣本庫中所有樣本的距離,然后通過排序,才能得到與待分類樣本最相鄰的k個鄰居。那么當遇到大規模數據并且是高維樣本時,kNN算法的時間復雜度和空間復雜度將會很高,造成執行效率低下,無法勝任大數據分析任務。所以加速距離的計算是提高kNN算法的核心問題。因為每個待分類的樣本都可以獨立地進行kNN分類,前后之間沒有計算順序上的相關性,因此可以采用GPU并行運算方法解決kNN算法串行復雜度高的問題。將計算測試集和訓練集中點與點之間的距離和排序一步采用GPU并行化完成,其余如判斷類標號一步難以在GPU上高效實現,由CPU完成。文獻[34]通過GPU并行化實現kNN算法,讓kNN算法時間復雜度大幅度減少,從而說明GPU對kNN算法的加速效果是非常明顯的。

2.4關聯分析算法關聯規則挖掘是數據挖掘中較成熟和重要的研究方法,旨在挖掘事務數據庫頻繁出現的項集。因此,挖掘關聯規則的問題可以歸結為挖掘頻繁項集[35]。關聯分析算法首先找出所有的頻繁項集,然后根據最小支持度和最小置信度從頻繁項集中產生強關聯規則。Apriori算法[36]是最有影響力的挖掘布爾關聯規則頻繁項目集的經典算法。Apriori算法使用逐層搜索的迭代方法產生頻繁項目集,即利用k頻繁項集來產生(k+1)項集,是一種基于生成候選項集的關聯規則挖掘方法。在劉瑩等人的文章[37]中指出,產生候選項和計算支持度,占據Apriori的大部分計算量。產生候選項的任務是連接兩個頻繁項集,而這個任務在不同線程之間是獨立的,所以這個過程適合在GPU上被并行化。通過掃描交易數據庫,計算支持度程序記錄一個候選項集出現的次數。由于每個候選項集的計數與其他項集的計數相對獨立,同樣適合于多線程并行。所以文獻[37]的作者們在實現Apriori時使用GPU并行化了產生候選項和計算支持度這兩個過程,取得了顯著的加速效果。文獻[38]是目前發現的對于在GPU上實現頻繁項集挖掘最全面細致的研究。他們使用的是早期的CUDA平臺,采用了bitmap和trie兩種數據結構來實現GPU的挖掘算法,并且根據不同數據集和支持度進行了算法性能的對比,均相對于CPU版本的算法獲得的一定的加速比。

2.5時序分析由于越來越多的數據都與時間有著密切的關系,時序數據作為數據挖掘研究的重要分支之一,越來越受到人們的重視。其研究的目的主要包括以下兩個方面:一是學習待觀察過程過去的行為特征;二是預測未來該過程的可能狀態或表現。時序數據挖掘主要包含以下幾個主要任務:數據預處理,時序數據表示,分割,相似度度量,分類,聚類等。這些任務中很多都涉及到相當大的計算量。由于問題規模的不斷擴大,并且對于實時性能的要求,時序數據挖掘的任務就必須要求充分地提高計算速度或者通過優化減少計算量。時序數據的表示有時候會采取特征來表示,這就涉及到了特征提取問題,當特征數量龐大的時候就需要進行維數約簡,主要的方法有奇異值分解法,離散小波變換。這些計算都涉及到很大的時間復雜度,為了減少計算的時間消耗,SheetalLahabar等人使用GPU加速SVD的計算,獲得了60多倍的加速效果[39]。動態時間彎曲(DynamicTimeWarping,DTW)起初被應用于文本數據匹配和視覺模式識別的研究領域,是一種相似性度量算法。研究表明這種基于非線性彎曲技術的算法可以獲得很高的識別、匹配精度。Berndt和Clifford提出了將DTW的概念引入小型時間序列分析領域,在初步的實驗中取得了較好的結果[40]。隨著問題規模的擴大,對于DTW的計算成為了時序數據挖掘的首先要處理的問題。在DTW中,搜索需要找出與訓練數據最近距離的樣本,這就需要搜索與每個訓練樣本的距離,這就可以很好的利用GPU進行并行化處理。DorukSart等人在對DTW加速的處理中,獲得了兩個數量級的加速效果[41]。而對于分類和聚類任務的加速,上面已經提到,這里不再累贅。

2.6深度學習深度學習雖然隸屬機器學習,但鑒于機器學習和數據挖掘領域的緊密聯系,深度學習必定將在數據挖掘領域獲得越來越多的應用。從2006年Hinton和他的學生Salakhutdinov在《科學》上發表的文章[42]開始,深度學習在學術界持續升溫。深度學習的實質是通過構建具有很多隱層的機器學習模型和海量的訓練數據,來學習更有用的特征,從而最終提升分類預測的準確性[43]。如何在工程上利用大規模的并行計算平臺來實現海量數據訓練,是各個機構從事深度學習技術研發首先要解決的問題。傳統的大數據平臺如Hadoop,由于數據處理延遲太高而不適合需要頻繁迭代的深度學習。神經網絡一般基于大量相似的神經元,故本質上可以高度并行化訓練;通過映射到GPU,可以實現比單純依賴CPU顯著地提升。谷歌搭建的DistBelief是一個采用普通服務器的深度學習并行計算平臺,采用異步算法,由很多計算單元獨立更新同一個參數服務器的模型參數,實現了隨機梯度下降算法的并行化,加快了模型訓練速度。百度的多GPU并行計算平臺克服了傳統SGD訓練不能并行的技術難題,神經網絡的訓練已經可以在海量語料上并行展開。NVIDIA在2014年9月推出了深度學習GPU加速庫cuDNN,可以方便地嵌入高層級機器學習框架中使用,例如Caffe[45]。cuDNN支持NVIDIA的全系列GPU,包括低端的TegraK1和高端的TeslaK40,并承諾可向上支持未來的GPU。

2.7小結并行化能帶來多少倍的加速取決于算法中可并行化的部分。例如,如果可并行部分的時間占整個應用程序執行時間的20%,那么即使將并行部分加速100倍,總執行時間也只能減少19.8%,整個應用程序的加速只有1.247倍;即使無限加速也只能減少約20%的執行時間,總加速不會超過1.25倍。對于一個數據挖掘(學習和預測)算法進行GPU加速實現,首先要思考是否存在可并行執行的部分,之后再結合GPU的架構特點進行針對性實現優化。然而,由于數據挖掘算法普遍是數據密集型計算,而GPU片內存儲容量有限,如何降低與內存交換數據集是一個要解決的關鍵問題。通過以上相關工作的分析,可以發現數據挖掘算法在GPU上的加速具有數據獨立,可并行化共同特征。本文提出數據挖掘算法在GPU上加速實現的一種解決思路:在大數據下,分析算法的性能瓶頸,從而確定算法中耗時大,時間復雜度高的部分,將此部分在GPU上執行,不耗時部分在CPU上串行執行,以達到加速效果。為了更充分利用GPU的并行計算的體系結構,可深入分析耗時大的部分,將具有數據獨立,可并行化的部分在GPU上并行執行,達到更進一步的加速效果。

3實踐和分析:協同過濾推薦

當前主要的協同過濾推薦算法有兩類:基于用戶(r-based)和基于項目(item-based)的協同過濾推薦算法。基于項目的協同過濾推薦算法[46-50]認為,項目間的評分具有相似性,可以通過用戶對目標項目的若干相似項目的評分來估計該項目的分值。基于用戶的協同過濾推薦算法認為,如果用戶對一些項目的評分比較相似,那么他們對其他項目的評分也比較相似。本文根據以上總結的算法特征圍繞兩種經典協同過濾算法的實現,通過大規模數據的實驗來驗證GPU相對于傳統CPU的優勢。

3.1算法實現

3.1.1基于CPU實現協同過濾推薦的兩類經典算法本文基于MATLAB實現CPU版本的基于用戶和基于項目的兩種經典協同過濾推薦算法。實現的步驟:1)數據表示:收集用戶的評分數據,并進行數據清理、轉換,最終形成一個mn的用戶-項目評分矩陣R,m和n分別代表矩陣中的用戶數和項目數,矩陣中的元素代表用戶對項目的評分值。2)最近鄰居搜索:主要完成對目標用戶/項目的最近鄰居的查找。通過計算目標用戶/項目與其他用戶/項目之間的相似度,算出與目標用戶/項目最相似的最近鄰居集。該過程分兩步完成:首先采用協同過濾推薦算法中運用較多的度量方法“Pearson相關系數”計算用戶/項目之間的相似度得到相應的相似度矩陣,其次是采用最近鄰方法找到目標用戶/項目的最近的K個鄰居,這些鄰居是由與目標相似度最高的一些用戶/項目組成的。3)產生推薦:根據之前計算好的用戶/項目之間的相似度,并使用相應的預測評分函數對用戶未打分的項目進行預測,得到預測評分矩陣,然后選擇預測評分最高的Top-n項推薦給目標用戶。4)性能評估:本研究擬采用平均絕對誤差MAE作為評價推薦系統預測質量的評價標準。MAE可以直觀地對預測質量進行度量,是最常用的一種方法。MAE通過計算預測的用戶評分與實際評分之間的偏差度量預測的準確性;MAE越小,預測質量越高。

3.1.2基于GPU實現協同過濾推薦的兩類經典算法在大數據下,協同過濾算法中主要的時間消耗在于相似度計算模塊,占了整個算法的大部分時間,且每個用戶/項目之間的相似度可以被獨立計算,不依靠其他用戶/項目,具備并行化的條件,所以在以下的實驗中,將相似度計算模塊在GPU上執行,其他部分在CPU上執行,進而提高整個算法的執行效率。使用MATLAB編程技術和JACKET編程技術在GPU上分別實現基于用戶和基于項目的兩種經典協同過濾推薦算法。實現步驟如下:1)數據表示:收集用戶的評分數據,并進行數據清理、轉換,最終形成用戶-項目評分矩陣。2)將收集的數據從CPU傳輸至GPU。3)對傳輸到GPU上的數據執行GPU操作,調用相關函數庫,采用公式(1)和(2)分別計算并獲取用戶/項目間的相似度矩陣。4)將GPU計算結果返回CPU中以便后續操作。5)采用公式(3)和(4)在CPU上分別獲取兩種經典算法的評分預測矩陣。6)選擇預測評分最高的Top-n項推薦給目標用戶。7)采用公式(5)求兩種經典算法的平均絕對誤差MAE。

3.2實驗結果與分析

3.2.1實驗環境本實驗所用的CPU是IntelXeonE52687W,核心數量是八核,主頻率是3.1GHz,內存大小是32GB;所使用的GPU是NVIDIAQuadroK4000,顯存容量是3GB,顯存帶寬是134GB/s核心頻率是811MHz,流處理器數是768個。使用Windows764位操作系統,編程環境使用最新的CUDA。

3.2.2實驗數據本實驗使用目前比較常用的MovieLens[56]數據集作為測試數據,該數據集從MovieLens網站采集而來,由美國Minnesota大學的GroupLens研究小組提供,數據集1包含943個用戶對1682部電影約10萬的評分數據,數據集2包含6040個用戶對3952部電影約100萬的評分數據,其中每個用戶至少對20部電影進行了評分。評分的范圍是1~5,1表示“很差”,5表示“很好”。實驗需要將每個數據集劃分為一個訓練集和一個測試集,每次隨機選出其中80%的評分數據用作訓練集,另20%用作測試集。

3.2.3實驗結果與分析本文采用加速比來比較算法的CPU實現和GPU實現的運行效率。計算加速比的方法如式(6)所示:在公式中,TimeCPU表示算法在CPU上的平均運行時間,TimeGPU表示算法在GPU上的平均運行時間。所有實驗中均取最近鄰居數為20,且各實驗結果均為5次獨立測試的平均值。圖2是關于兩個算法核心步驟的加速效果,而圖3則展示了算法整體加速效果。可以看出,(1)整體加速效果取決于核心步驟的加速效果,(2)GPU版本的算法在性能上較CPU版本有較顯著地優勢,且面對大數據集的加速效果更為明顯。例如在基于100萬條數據集時,Item-based的整體算法的加速比達到了14倍左右,而面對10萬條數據集時,加速比不到8倍。這可以解釋為GPU的多核優勢在面對大數據集時被更為充分地得到釋放;(3)算法對r-based和Item-based兩種算法的加速比相近。圖4是關于算法預測效果的評估,可以看出基于GPU加速的兩類經典協同過濾算法與基于CPU的兩類經典協同過濾算法在預測效果上相近。如果結合圖2和圖3,可獲得結論-能夠基于GPU獲得得可觀的計算加速而不犧牲應用效果。

3.3小結

本文通過使用JACKET加快開發過程。目前國內還缺少對JACKET的了解和應用,JACKET的出現為科學領域進行大規模計算仿真提供了新的研究方法,并使得研究人員可以在熟悉的MATLAB平臺上實現相關算法。

篇3

1.1數據庫環境的異構型

Web上的每個站點就是一個數據源,數據源之間是異構的,外加上各個站點的信息和組織的不同,Web網站就構成了一個巨大的異構數據庫環境。要對這些數據進行挖掘,首先,要解決各個站點之間的異構數據集成,提供用戶統一界面,從復雜的數據源中取得所需的有用的信息知識。其次,有關Web上的數據查詢。

1.2數據結構的半結構化

Web上的數據比較復雜,各個站點的數據都獨立設計,具有動態可變性。雖然Web上的數據形成半結構化數據。這些問題是進行Web數據挖掘所面臨的最大困難。

2XML技術在Web數據挖掘中的優勢

Web數據的異構使Web數據挖掘變得十分困難,通過XML可以解決這個問題。因為XML文檔具有很好的自我描述性,他的元素、子元素、屬性結構樹可以表達極為豐富的語義信息,能夠很好的描述半結構化的數據,因此在網絡數據集成、發送、處理和顯示的方面。開發人員能夠用XML的格式標記和交換數據。XML在三層架構上為數據的處理提供了有用的途徑。利用XML,Web設計人員能夠構建文檔類型定義的多層次互相關聯的系統、元數據、數據樹、樣式表和超鏈接結構。基于XML的Web數據挖掘技術,能夠使不同來源的結構化的數據很容易地結合在一起,解決Web數據挖掘的難題。

2.1XML技術在Web數據挖掘中具體作用利用XML技術我們在Web數據挖掘中可以完成以下幾點:

2.1.1集成異構數據源

XML是一種半結構化的數據模型,可以完成和關系數據庫中的屬性一一對應,從而實施精確地查詢與模型抽取。XML可以搜索多個不同數據庫的問題,以實現集成。

2.1.2和異構數據進行交換

在Web數據挖掘程中,用戶需要和異構數據源進行數據交換,XML通過自定義性及可擴展性來標識各種數據,從而描述從各站點搜集到的Web頁中的數據。XML的出現解決了數據查詢的統一接口。

2.1.3過濾信息并顯示

XML描述數據本身,可以使得定義的數據以不同的方式顯示,對獲取的信息進行裁減和編輯以適應不同用戶的需求。以不同的瀏覽形式提供給不同的用戶。

3基于XML的Web數據挖掘模型

我們通過對XML及Web數據挖掘的分析,設計了一個基于XML的Web數據挖掘模型通過提供一個Web數據挖掘的集成環境,提高數據挖掘系統的整體性能。工作流程如下:系統根據用戶要求搜集Web資源,經數據轉換器處理成相應的XML數據存儲,提供給挖掘器使用;挖掘器則根據要求從選取相應的算法挖掘,輸出挖掘結果;用戶根據自己的滿意度,獲得需要的挖掘結果,調整挖掘要求進入新一輪數據挖掘。通過系統的維護我們可以加入新的挖掘算法,實現升級。

3.1各模塊具體功能

3.1.1數據收集

從Web站點上采集數據并存儲,獲得挖掘內容。針對異構數據源,可以多種方式提出相關需求,挖掘的重點是Web內容和Web使用的數據。把用戶訪問網站留下原始日志數據進行清洗、過濾和轉換處理,轉變成統一處理的數據結構,構建日志數據庫。

3.1.2轉換器

對檢索得到的數據用XML技術進行預處理,建立半結構化數據模型,抽取其特征的元數據,用結構化的形式保存,為挖掘模塊提供所需的數據。

3.1.3挖掘器

不同的挖掘算法有不同適用情況,挖掘綜合器根據具體的需求和挖掘方法的不同選擇策略到挖掘算法庫中去選擇挖掘算法或種組合算法執行挖掘任務。隨著應用的深入,知識庫中的算法和規則不斷的豐富。挖掘算法庫是挖掘分析方法的綜合庫,以插拔的形式組織存放各種挖掘算法。314結果生成與評估以直觀的方式提交挖掘結果,便于用戶的評估。通過模式分析和興趣度度量,若結果使得用戶滿意,數據挖掘結束,輸出用戶感興趣的內容;否則可以在此重新提出挖掘要求,重新挖掘。

3.2系統各模塊實現方法

3.2.1數據收集

數據的收集也涉及數據挖掘的技術,其過程是:通過人工輸入辦法,給出查詢主題,找到相關的Web頁,然后,通過相應的數據挖掘的算法對訓練數據集提煉,利用提煉出的數據模式,進行更大范圍的搜索,以獲取更多的數據源。最終形成較新和有效XML文檔。

3.2.2數據的轉換處理

數據抽取轉換是模型實現一個重要環節,其主要方法是把現有的Web頁面轉換成XML格式,并使用相關工具處理XML結構數據檢要把HTML中含有的與主題無關的標記過濾掉,然后轉化到XML的格式存儲。目前Web頁面到XML文檔的轉換,有兩部分數據構成:一是XML數據,二是非XML數據。XML數據,可以直接將它們提交給下一個模塊。對于非XML數據,本文的實現方法是用到Tidy以改正HTML文檔中的常見錯誤并生成格式編排良好的等價文檔,還可以使用Tidy生成XHTML(XML的子集)格式的文檔。通過構造相應的Java類完成將數據從HTML到XML的轉換。

3.2.3挖掘方法

(1)文本分類:文本分類是指按預先定義的主題類別,把集合中的每個文檔確定一個所屬類別。這樣,用戶能夠方便地瀏覽文檔,并限制搜索范圍來使查找更為容易。利用文本分類技術對大量文檔進行快速、有效地自動分類。有關的算法通常采用TFIDF和NaiveBayes等方法。

(2)文本聚類:文本聚類與分類的不同之處在于,聚類不需要預先定義好的主題類別,它是將把文檔集合分成若干個簇,要求同簇內文檔內容相似度最大,而不同簇間的相似度最小。Hearst等人研究表明聚類假設,即與用戶查詢相關的文檔通常會聚類比較靠近,而遠離與用戶查詢不相關文檔。可以利用文本聚類技術把搜索引擎檢索結果分成若干個簇,用戶只要考慮那些相關的簇,就能夠縮小所需要瀏覽的結果數量。目前,常用的文本聚類算法,分為兩種:以G-HAC等算法為代表的層次凝聚法,以k-means等算法為代表的平面劃分法。

(3)關聯分析:關聯分析是指從文檔集合中發現不同詞語之間關系Brin提出一種從大量文檔中查找一對詞語出現模式算法,在Web上尋找作者和書名的模式,從而發現數千本在Amazon網站上查找不到的新書。

(4)模式評價:Web數據挖掘中十分重要的過程就是模式評價。常用的方法有預留法和交叉實驗法,將數據分成訓練集和測試集兩部分,學習和測試反復進行,最后用一個平均質量模型來確定模型質量的好壞。

(5)預留法:從數據集合隨機抽取預定大小一個子集作為測試集,其他數據則作為訓練集。

(6)交叉驗證法:把整個數據集合按照所要進行的學習測試循環次數分成一定數目的子集,在每次循環中,選取其一個子集作為測試集,其它子集并集則作為訓練集。

篇4

二、在部隊食品采購系統中的應用以及其價值評價

在部隊食品采購系統實際應用工程中,其實可以運用MicrosoftSQLServerAnalysisServices來對數據進行分析,并且在數據挖掘過程中對多維數據進行描述與查找起到一定作用。因為多維數據比較復雜,增長的也比較快,因此,進行手動查找是很困難的,數據挖掘技術提供的計算模式可以很好的對數據進行分析與查找。在建設部隊食品采購倉庫數據的時候,數據內容主要包括了人員的健康、兵員的飲食以及訓練等,進行數據挖掘主要包括以下內容:第一,把每個主題信息數據進行收集、匯總、分析等,對人員情況、健康、飲食、訓練等進行合理分析;第二,多維分析數據信息。根據部隊的實際情況,利用數據挖掘技術對部隊人員健康、飲食、訓練等數據信息進行多維分析,其中包含上鉆、切片、下鉆等;第三,挖掘健康與飲食之間的內在關系。根據數據庫中許多面向主題的歷史數據,采用數據挖掘技術進行分析與演算得到部隊人員的訓練和健康情況與部隊飲食之間內在關系,以便于為部隊食品采購提供合理的、有效的保障,從而提高部隊整體人員的健康水平、身體素質以及訓練質量,對提高我國部隊戰斗力有著深遠的意義。

篇5

1.1數據信息的準備準備部分又可以分成數據的選取、數據信息的預處理.對數據進行選取的主要目的就是對操作對象進行確定,即是對目標數據進行確定,所謂的目標數據是在經過對用戶的需要進行細致分析之后,對最有可能得到有利用價值的信息的那些從數據庫中抽取出來的數據.獲取到這些數據以后需要進行預處理,主要包含數據的去噪、計算缺值數據的推導、數據類型的轉換,數據類型轉換舉個例子來說比如把連續型數據轉化成離散數據,以方便進行符號的歸納.

1.2挖掘過程數據信息的挖掘階段是在上一步的基礎之上,即在目標數據已經確定,并且已經完成了初始化的基礎之上,需要確定數據挖掘的目的與挖掘的類型.在對挖掘任務的目標確定之后,要根據數據挖掘的知識類型選取合適的數據挖掘方法,最終完成數據挖掘具體操作即采用特定的數據挖掘方法從數據倉庫中抽取所需的挖掘目標.

1.3挖掘結果的解釋和評價數據挖掘的結果的解釋和評價是在完成數據挖掘階段之后對發現的知識,進行評估,對于冗余或者無關的知識要進行刪除;對于獲得的知識不符合用戶的要求的要進行重新的挖掘.與此同時,因為數據挖掘需要面臨用戶,所以,在得到目標知識以后還需要對所挖掘的知識附加相關解釋,來用一種便于用戶理解的方式供用戶使用.綜上所述,整個數據信息的挖掘在實際情況下是一個不斷地循環與反復的過程,所以要對所挖掘出來的知識不斷求精和深化,最終要獲得用戶所需要的結果.

2電子商務中數據挖掘的特點

由于電子商務自身的某些獨特的特點,同其他的應用于普通商業領域中的數據挖掘相比,應用于電子商務的數據挖掘具有如下幾個特點:(1)應用于電子商務的數據挖掘的最終目的主要表現在企業與客戶之間的關系管理方面,電子商務利用因特網的技術能夠使企業和客戶之間的關系處理變得更加方便.所以,其主要的功能是怎樣使企業采用這些頻繁的交流信息,快速的掌握客戶的趨向、改善與客戶交流情況或者獲取交流方向等;(2)電子商務本身就是一個信息化程度比較高的系統,其自身累積的數據信息會存放在電子商務數據庫內,用戶可以比較便捷地得到這些信息,所以對于電子商務的數據挖掘的數據信息的準備階段的相關工作就變得相對容易;(3)電子商務領域的數據挖掘的主要目標一般是使電子商務系統得到有效的改進.例如為客戶提供個性化頁面、把用戶比較感興趣的信息展現在網站首頁或得到哪一些商品比較受到客戶的歡迎等.

3電子商務中的數據挖掘運用

首先要講的是關聯規則在電子商務中的運用,利用比較通俗的語言來講,從一個事件的發生與否方面進行解釋,所謂的關聯規則法在大量的事件發生或者不發生的條件下,對這些事件中的任意兩個或者多個事件提取出來,通過一定的統計分析算法,最終確定兩個或者多個事件的發生與否是否存在著某種關系,而這種可能存在的管理,我們稱之為關聯規則.列舉一個有趣的故事,就是在一個超市里面,店家把小孩的尿布同啤酒放到了一起,來供購買者進行購買,結果是二者的銷量都提升了一倍,其實這就是因為二者之間有著某種潛在聯系,店家通過數據挖掘的方法發現的這個規則,并對這一關聯規則進行了實際的運用,從中得到了益處.同樣在電子商務中通過數據挖掘得到關聯規則,有著類似的意義.其次在電子商務中數據挖掘聚類分析方法的應用.在大量數據倉庫中,數據與數據之間,往往會有某些性質的類型相似,同樣也會有某些性質或者特點相異,我們把這些性質或者特點稱為觀察指標,聚類分析就是對于某一個特點指標而言,把指標相差不多的數據劃分為同一個類型,若相差較大則要劃分為不同的類型、這種操作的主要意義就是將具有某種特定的相似特性的客戶或者數據分成一個類.在電子商務活動中,這一方法的應用主要集中在市場細分的工作之中.分類分析系統的建立以生物的遺傳算法為基礎,屬于其中的自學習的一種,它一般會包含三個子系統,第一個是以串規則為基礎的并行生成子系統、第二個是規則評價子系統.第三個是遺傳算法子系統.分類分析可以說是電子商務中運用到數據挖掘最多的一種挖掘方式.主要原因就是在于其能夠形成一種預測模型能夠對一些營銷方式或者其他的一些商業措施做出正確的預測.

4數據挖掘在電子商務中的應用

更高效的利用企業現有資源以及開發新資源是當代企業發展的關鍵.電子商務通過采用數據挖掘的技術,能夠更加及時和正確的獲得企業當前所有資源的具體使用情況,而且通過數據挖掘的技術可以分析以往的各種企業數據,比如說企業財務數據、企業庫存數據或者企業交易數據,能夠較為及時的發現企業資源過度消耗的主要問題所在,或者能夠得到各種商務活動的投入與產出的比例,來為企業領導進行經營決策提供有力的根據[6].另外在企業的經營過程中,人們不斷推崇“以客戶為中心”的經營理念,在這一趨勢下,如何正確快速的分析和了解客戶的需求已成為企業提高自身市場競爭力的一大課題.通過把數據挖掘應用到電子商務之中,能夠使企業最準確的分析客戶資源并最有效的利用企業客戶資源,通過對已有客戶行為進行相關性分析,可以形成潛在客戶資源的預測模型.除此之外在企業經營過程中,利用數據挖掘可以解決另外一個嚴重影響了商業正常秩序的重要問題.即當前時區商務活動中的地下的信用狀況問題,這一問題的嚴重程度已經引起了人們的廣泛關注.在電子商務經營過程中,因為網上詐騙公司或者企業財務的現象屢見不鮮,信用危機已經成為影響其快速正常發展的一個重要因素.而通過在電子商務中采用數據挖掘技術實現對企業經營活動的跟蹤,在此基礎上實現企業的資產評估、利潤收益分析以及發展潛力預測分析等,為電子商務在經營過程中提供了完善的安全保障體系,同時利用數據挖掘實現企業網上全程監控.另外通過實現基于數據挖掘的信用評估模型,可以在很大程度上進行防范或者化解信用風險,從而提高企業的信用度以及應對風險能力.

篇6

由于信息技術的迅速發展,現代的檔案管理模式與過去相比,也有了很大的變化,也讓如今的檔案管理模式有了新的挑戰。讓人們對信息即時、大量地獲取是目前檔案管理工作和檔案管理系統急切需要解決的問題。

一、數據挖掘概述

(一)數據挖掘技術。數據挖掘是指從大量的、不規則、亂序的數據中,進行分析歸納,得到隱藏的,未知的,但同時又含有較大價值的信息和知識。它主要對確定目標的有關信息,使用自動化和統計學等方法對信息進行預測、偏差分析和關聯分析等,從而得到合理的結論。在檔案管理中使用數據挖掘技術,能夠充分地發揮檔案管理的作用,從而達到良好的檔案管理工作效果。(二)數據挖掘技術分析。數據挖掘技術分析的方法是多種多樣的,其主要方法有以下幾種:1.關聯分析。指從已經知道的信息數據中,找到多次展現的信息數據,由信息的說明特征,從而得到具有相同屬性的事物特征。2.分類分析。利用信息數據的特征,歸納總結相關信息數據的數據庫,建立所需要的數據模型,從而來識別一些未知的信息數據。3.聚類分析。通過在確定的數據中,找尋信息的價值聯系,得到相應的管理方案。4.序列分析。通過分析信息的前后因果關系,從而判斷信息之間可能出現的聯系。

二、數據挖掘的重要性

在進行現代檔案信息處理時,傳統的檔案管理方法已經不能滿足其管理的要求,數據挖掘技術在這方面確有著顯著的優勢。首先,檔案是較為重要的信息記錄,甚至有些檔案的重要性大到無價,因此對于此類的珍貴檔案,相關的檔案管理人員也是希望檔案本身及其價值一直保持下去。不過越是珍貴的檔案,其使用率自然也就越高,所以其安全性就很難得到保障,在檔案管理中運用數據挖掘技術,可以讓檔案的信息數據得到分析統計,歸納總結,不必次次實物查閱,這樣就極大地提升了檔案相關內容的安全性,降低檔案的磨損率。并且可以對私密檔案進行加密,進行授權查閱,進一步提高檔案信息的安全性。其次,對檔案進行鑒定與甄別,這也是檔案工作中較困難的過程,過去做好這方面的工作主要依靠管理檔案管理員自己的能力和水平,主觀上的因素影響很大,但是數據挖掘技術可以及時對檔案進行編碼和收集,對檔案進行數字化的管理和規劃,解放人力資源,提升檔案利用的服務水平。第三,數據挖掘技術可以減少檔案的收集和保管成本,根據檔案的特點和規律建立的數據模型能為之后的工作人員建立一種標準,提升了檔案的鑒定效率。

三、檔案管理的數據挖掘運用

(一)檔案信息的收集。在實施檔案管理工作時,首先需要對檔案信息數據的收集。可以運用相關檔案數據庫的數據資料,進行科學的分析,制定科學的說明方案,對確定的數據集合類型和一些相關概念的模型進行科學說明,利用這些數據說明,建立準確的數據模型,并以此數據模型作為標準,為檔案信息的快速分類以及整合奠定基礎。例如,在體育局的相關網站上提供問卷,利用問卷來得到的所需要的信息數據,導入數據庫中,讓數據庫模型中保有使用者的相關個人信息,通過對使用者的信息數據進行說明,從而判斷使用者可能的類型,提升服務的準確性。因此,數據挖掘技術為檔案信息的迅速有效收集,為檔案分類以及后續工作的順利展開,提供了有利條件,為個性化服務的實現提供了保證。(二)檔案信息的分類。數據挖掘技術具有的屬性分析能力,可以將數據庫中的信息進行分門別類,將信息的對象通過不同的特征,規劃為不同的分類。將數據挖掘技術運用到檔案管理中時,可以簡單快速地找到想要的檔案數據,能根據數據中使用者的相關數據,找尋使用者在數據庫中的信息,使用數據模型的分析能力,分析出使用者的相關特征。利如,在使用者上網使用網址時,數據挖掘技術可以充分利用使用者的搜索數據以及網站的訪問記錄,自動保存用戶的搜索信息、搜索內容、下載次數、時間等,得到用戶的偏好和特征,對用戶可能存在的需求進行預測和分類,更加迅速和準確的,為用戶提供個性化的服務。(三)檔案信息的整合。數據挖掘技術可以對新舊檔案的信息進行整合處理,可以較為簡單地將“死檔案”整合形成為“活檔案”,提供良好的檔案信息和有效的檔案管理。例如,對于企事業單位而言,培訓新員工的成本往往比聘請老員工的成本要高出很多。對老員工的檔案信息情況進行全體整合,使檔案資源充分發揮作用,將檔案數據進行總結和規劃,根據數據之間的聯系確定老員工流失的原因,然后建立清晰、明白的數據庫,這樣可以防止人才流失,也能大大提高檔案管理的效率。

四、結語

綜上所述,在這個信息技術迅速跳躍發展的時代,將數據挖掘技術運用到檔案管理工作中是時展的需求與必然結果。利用數據挖掘技術,可以使檔案管理工作的效率大大提升,不僅減少了搜索檔案信息的時間,節省人力物力,避免資源的浪費,還能幫助用戶在海量的信息數據中,快速找到所需的檔案數據信息。數據挖掘技術的運用,使靜態的檔案信息變成了可以“主動”為企事業單位的發展,提供有效的個性化服務的檔案管家,推動了社會的快速發展。

作者:于然 單位:揚州市體育局辦公室

【參考文獻】

篇7

1.1Hadoop平臺的具體操作流程

(1)對物聯網中的RFID數據進行過濾、轉換、合并的處理,并在分布式系統HDFS中保存PML文件形式的數據。同時,可采取副本策略來處理PML文件,在同一機構的不同節點或不同機構的某一節點上保存PML文件中的2-3個副本,進而可實現對存儲、處理、節點失效問題的有效解決。

(2)在執行任務過程中,創建和管理控制是Master(主控程序)的主要工作,當Worker處于空閑狀態時會接收到有關的分配任務,需與Map/Reduce互相合作實現操作處理,處理的最終結果由Master來歸并,同時將反饋結果傳送給用戶。

1.2Map/Reduce的具體操作流程

(1)根據參數在Map/Reduce思想指導下對輸入文件進行分割處理,使其細化為M塊(16-64M大小范圍)。

(2)Master、Worker、Map操作(M個)、Reduce操作(R個)是構成執行程序的主要部分,其中Map/Reduce的處理任務會由Master伴隨物聯網的快速發展和廣泛應用,人們可以有效利用物聯網來實現信息交換和通信的目的,不過物聯網海量數據的日益增多大大降低了物聯網服務的質量。在此,對基于Apriori算法進行物聯網數據挖掘研究。摘要將其分配給空閑的Worker。

(3)在處理Map任務時,Worker會讀取處理中的數據,并向Map函數傳送<key,value>,而后產生中間結果在內存中緩存且定時向本地硬盤傳送。此外,依據分區函數將中間結果分割為R塊區,利用Master將本地硬盤接收到的數據位置信息傳送給Reduce函數。

(4)ReduceWorker根據Master所傳送的文件信息采用遠程讀取方式來操作,以在本地文件中找到對應的文件,對文件的中間key進行有序排列,并利用遠程發送信息給具體執行的Reduce。

(5)ReduceWorker依據key排序后的中間數據向Reduce函數傳送與key對應的中間結果集,而最后的結果需采取最終輸出文件來進行編寫。

(6)當Map、Reduce的任務全部完成之后,MapReduce將回歸到用戶程序的調用點處,同時以Master對用戶程序進行激活。

2基于Apriori算法的物聯網數據挖掘

2.1Apriori數據挖掘原理和操作流程

Apriori是提升物聯網數據挖掘功能的一種最有效算法,其原理是在K項集中以逐層搜索迭代的方式來探索。具體的操作流程包括:

(1)掃描數據集以生成頻繁1-項集L1。

(2)通過L1來探索頻繁項集L2,采用不斷迭代的方式來持續探索,直至頻繁項集是空集。

2.2K次循環搜索后的數據挖掘流程

當已完成了K次循環搜索時,還需要進行2個數據挖掘的操作流程:(1)在LK-1生成CK(候選集)之后,開展JOIN操作。(2)支持度統計和剪枝的操作依據Apriori性質來進行,而后使得CK生成LK(頻繁集)。為提高物聯網數據挖掘的效率,節省系統的時間和內存消耗,在Apriori算法基礎上還需要借鑒和移植云計算平臺的分布式并行計算性質。如此以實現Hadoop架構的建立,在掃描數據庫查找頻繁項集中得到的并聯規則需要存儲在Hadoop架構中。同時,為取得各個計算節點上的局部頻繁項集,各個DataNode節點需要經歷并行操作的掃描處理,并使用Master來統計和確定實際全局的支持度、頻繁項集。

2.3Apriori算法Map/Reduce化的處理流程

上述提及基于Apriori算法的物聯網數據挖掘需借助于Map/Reduce模式,其數據挖掘功能的實現還應Map/Reduce化Apriori算法。主要的處理流程包括:

(1)用戶提出挖掘服務的請求,且由用戶來設置Apriori所需的數據,如最小支持度、置信度。

(2)當Master接收到請求后,通過NameNode來進行PML文件的申請,而后逐步完成訪問空閑節點列表、向空閑的DataNode分配任務、調度和并行處理各個DataNode需要的存儲節點算法。

(3)運用Map函數來處理每個DataNode的<key,value>對映射、新鍵值對,以CnK(用1表示每一個CnK的支持度)來表示所產生的一個局部候選頻繁K項集。

(4)通過Reduce函數來實現調用計算,對每個DataNode節點上相同候選項集的支持度進行累加,以產生一個實際的支持度,將其與最小支持度(用戶申請時所設置)進行比較,進而用LnK表示所生成的局部頻繁K項集的集合。

(5)對所有的處理結果進行合并,從而實現全局頻繁K項集LK的生成。

篇8

發現的是用戶感興趣的知識;發現的知識應當能夠被接受、理解和運用。也就是發現全部相對的知識,是具有特定前提與條件,面向既定領域的,同時還容易被用戶接受。數據挖掘屬于一種新型的商業信息處理技術,其特點為抽取、轉化、分析商業數據庫中的大規模業務數據,從中獲得有價值的商業數據。簡單來說,其實數據挖掘是一種對數據進行深入分析的方法。因此,可以描述數據挖掘為:根據企業設定的工作目標,探索與分析企業大量數據,充分揭示隱藏的、未知的規律性,并且將其轉變為科學的方法。數據挖掘發現的最常見知識包括:

1.1.1廣義知識體現相同事物共同性質的知識,是指類別特點的概括描述知識。按照數據的微觀特點對其表征的、具有普遍性的、極高概念層次的知識積極發現,是對數據的高度精煉與抽象。發現廣義知識的方法與技術有很多,例如數據立方體和歸約等。

1.1.2關聯知識體現一個事件與其他事件之間形成的關聯知識。假如兩項或者更多項之間形成關聯,則其中一項的屬性數值就能夠借助其他屬性數值實行預測。

1.1.3分類知識體現相同事物共同特點的屬性知識與不同事物之間差異特點知識。

1.2數據挖掘過程

1.2.1明確業務對象對業務問題清楚定義,了解數據挖掘的第一步是數據挖掘目的。挖掘結果是無法預測的,但是研究的問題是可預見的,僅為了數據挖掘而數據挖掘一般會體現出盲目性,通常也不會獲得成功。基于用戶特征的電子商務數據挖掘研究劉芬(惠州商貿旅游高級職業技術學校,廣東惠州516025)摘要:隨著互聯網的出現,全球范圍內電子商務正在迅速普及與發展,在這樣的環境下,電子商務數據挖掘技術應運而生。電子商務數據挖掘技術是近幾年來數據挖掘領域中的研究熱點,基于用戶特征的電子商務數據挖掘技術研究將會解決大量現實問題,為企業確定目標市場、完善決策、獲得最大競爭優勢,其應用前景廣闊,促使電子商務企業更具有競爭力。主要分析了電子商務內容、數據挖掘技術和過程、用戶細分理論,以及基于用戶特征的電子商務數據挖掘。

1.2.2數據準備第一選擇數據:是按照用戶的挖掘目標,對全部業務內外部數據信息積極搜索,從數據源中獲取和挖掘有關數據。第二預處理數據:加工選取的數據,具體對數據的完整性和一致性積極檢查,并且處理數據中的噪音,找出計算機丟失的數據,清除重復記錄,轉化數據類型等。假如數據倉庫是數據挖掘的對象,則在產生數據庫過程中已經形成了數據預處理。

1.2.3變換數據轉換數據為一個分析模型。這一分析模型是相對于挖掘算法構建的。構建一個與挖掘算法適合的分析模型是數據挖掘獲得成功的重點。可以利用投影數據庫的相關操作對數據維度有效降低,進一步減少數據挖掘過程中數據量,提升挖掘算法效率。

1.2.4挖掘數據挖掘獲得的經濟轉化的數據。除了對選擇科學挖掘算法積極完善之外,其余全部工作都自行完成。整體挖掘過程都是相互的,也就是用戶對某些挖掘參數能夠積極控制。

1.2.5評價挖掘結果這個過程劃分為兩個步驟:表達結果和評價結果。第一表達結果:用戶能夠理解數據挖掘得到的模式,可以通過可視化數據促使用戶對挖掘結果積極理解。第二評價結果:用戶與機器對數據挖掘獲得的模式有效評價,對冗余或者無關的模式及時刪除。假如用戶不滿意挖掘模式,可以重新挑選數據和挖掘算法對挖掘過程科學執行,直到獲得用戶滿意為止。

2用戶細分理論

用戶細分是指按照不同用戶的屬性劃分用戶集合。目前學術界和企業界一般接受的是基于用戶價值的細分理論,其不僅包含了用戶為企業貢獻歷史利潤,還包含未來利潤,也就是在未來用戶為企業可能帶來的利潤總和。基于用戶價值的細分理論選擇客戶當前價值與客戶潛在價值兩個因素評價用戶。用戶當前價值是指截止到目前用戶對企業貢獻的總體價值;用戶潛在價值是指未來用戶可能為企業創造的價值總和。每個因素還能夠劃分為兩個高低檔次,進一步產生一個二維的矩陣,把用戶劃分為4組,價值用戶、次價值用戶、潛在價值用戶、低價值用戶。企業在推廣過程中根據不同用戶應當形成對應的方法,投入不同的資源。很明顯對于企業來說價值用戶最重要,被認為是企業的玉質用戶;其次是次價值用戶,被認為是金質用戶,雖然數量有限,卻為企業創造了絕大部分的利潤;其他則是低價值用戶,對企業來說價值最小,成為鉛質用戶,另外一類則是潛在價值用戶。雖然這兩類用戶擁有較多的數量,但是為企業創造的價值有限,甚至很小。需要我們注意的是潛在價值用戶利用再造用戶關系,將來極有可能變成價值用戶。從長期分析,潛在價值用戶可以是企業的隱形財富,是企業獲得利潤的基礎。將采用數據挖掘方法對這4類用戶特點有效挖掘。

3電子商務數據挖掘分析

3.1設計問卷

研究的關鍵是電子商務用戶特征的數據挖掘,具體包含了價值用戶特征、次價值用戶特征、潛在價值用戶特征,對電子商務用戶的認知度、用戶的需求度分析。問卷內容包括3部分:其一是為被調查者介紹電子商務的概念與背景;其二是具體調查被調查對象的個人信息,包含了性別、年齡、學歷、感情情況、職業、工作、生活地點、收入、上網購物經歷;其三是問卷主要部分,是對用戶對電子商務的了解、需求、使用情況的指標設計。

3.2調查方式

本次調查的問卷主體是電腦上網的人群,采用隨機抽象的方式進行網上訪問。一方面采用大眾聊天工具,利用電子郵件和留言的方式發放問卷,另一方面在大眾論壇上邀請其填寫問卷。

3.3數據挖掘和結果

(1)選擇數據挖掘的算法利用Clementine數據挖掘軟件,采用C5.O算法挖掘預處理之后數據。

(2)用戶數據分析

1)電子商務用戶認知度分析按照調查問卷的問題“您知道電子商務嗎?”得到對電子商務用戶認知情況的統計,十分了解20.4%,了解30.1%,聽過但不了解具體使用方法40.3%,從未聽過8.9%。很多人僅聽過電子商務,但是并不清楚具體的功能與應用方法,甚至有一小部分人沒有聽過電子商務。對調查問卷問題“您聽過電子商務的渠道是什么?”,大部分用戶是利用網了解電子商務的,占40.2%;僅有76人是利用紙質報刊雜志上知道電子商務的并且對其進行應用;這也表明相較于網絡宣傳紙質媒體推廣電子商務的方法缺乏有效性。

2)電子商務用戶需求用戶希求具體是指使用產品服務人員對應用產品或服務形成的需求或者期望。按照問題“假如你曾經使用電子商務,你覺得其用途怎樣,假如沒有使用過,你覺得其對自己有用嗎?”得到了認為需要和十分需要的數據,覺得電子商務有用的用戶為40.7%,不清楚是否對自己有用的用戶為56.7%,認為不需要的僅有2.4%。

3)電子商務用戶應用意愿應用意愿是指消費者對某一產品服務進行應用或者購買的一種心理欲望。按照問題“假如可以滿足你所關心的因素,未來你會繼續應用電子商務嗎?”獲得的數據可知,在滿足各種因素時,將來一年之內會應用電子商務的用戶為78.2%,一定不會應用電子商務的用戶為1.4%。表明用戶形成了較為強烈的應用電子商務欲望,電子商務發展前景很好。基于用戶特征的電子商務數據研究,電子商務企業通過這一結果能夠更好地實行營銷和推廣,對潛在用戶積極定位,提高用戶體驗,積極挖掘用戶價值。分析為企業準確營銷和推廣企業提供了一個有效的借鑒。

篇9

二、最小二乘法擬合直線

最小二乘法是一種數學優化技術。它以某一社會、經濟或自然現象為對象,尋找一擬合曲線,以滿足給定對象系統的一組觀測數據。通常要求選擇的擬合曲線會使各觀測數據到擬合曲線的誤差的平方和最小。

本文研究銷售企業(如商場)異常客戶的性質。設一段時期內客戶的累計消費金額為y,對應的消費時期為x。假定測得客戶的n個數據(x1,y1),…,(xn,yn),則在XOY平面上可以得到n個實驗點:Pi(xi,yi)(i=1,…n),這種圖形稱為“散點圖”(如圖1,圖2)。在利用最小二乘法進行分析時,各種非線性關系的擬合曲線均可線性化,因此此處選擇直線y=ax+b作為擬合直線,尋求x與y之間近似線性關系時的經驗公式。其中a為直線的斜率,b為直線在y軸上的截距。

如果Pi(i=1,…n)全部位于同一條直線上,則可認為變量之間的關系為y=ax+b,但一般情況下不會如此。記估計值=axi+b,則各實驗點與擬合直線之間的誤差為εi=-yi=(axi+b)-yi,它反映了用直線y=ax+b來描述(xi,yi)時,估計值與觀測值yi之間的偏差大小。則有:

要求偏差越小越好。但由于εi可正可負,簡單求和可能將很大的誤差抵消掉,只有平方和才能反映二者在總體上的接近程度,這就是最小二乘原則。于是問題歸結為根據這一要求來確定y=ax+b中的a和b,使得最小。因為F(a,b)是關于a、b的二次函數并且非負,所以其極小值總是存在的。根據羅彼塔法則,F取最小值時,有:

于是得到了符合最小二乘原則的相應解:

三、基于斜率的異常客戶挖掘算法

1.問題描述

本文的目的是研究某一消費時期內,異常客戶的消費傾向。取異常客戶一年內各月份的累計消費金額為參考,記錄的數據如下(表1,表2)。根據其散點圖(圖1,圖2)可以看出,客戶的累計消費金額隨時間都呈上升趨勢,所以難以觀察出該客戶是否對商場保持持久的忠誠度,是否有轉向競爭對手的可能。基于斜率的異常客戶挖掘算法正是要解決識別客戶性質這一問題。

2.算法描述

算法:Outlier_Analysis。根據輸出的a值來判斷異常客戶的性質:積極的或消極的。

輸入:客戶數據,即參考點,由有序點對(xi,yi)表示;參考點的個數n。

輸出:a(直線的斜率),b(直線在y軸上的截距)。

方法:

(1)初始化a、b。

(2)對客戶的n個觀測數據(即n個記錄點)進行相關數據計算:

(3)ifa<0then

客戶購買金額呈減少趨勢,為消極客戶

else

篇10

2空間數據挖掘應用模型的實現

2.1模型設計

城市空間布局及發展具有規范性,因此,對避難場所進行選址需要遵循城市發展戰略及人口增長規律。

1)數據挖掘預處理。對研究區各行政區劃的人口數據、面積、土地利用類型、已建應急避難場所等數據進行統計,建立txt文本,進行空間數據挖掘,創建數據字典。

2)數據矢量化。在ArcGIS10平臺中,以合肥市地圖為底圖,對行政區劃進行數字化,并結合合肥市最新規劃圖及遙感影像圖,對元數據進行矢量化,并編輯地物的屬性,形成ShapeFile文件。

3)建立數據庫。將空間數據中的屬性信息錄入屬性數據庫。

4)空間分析。結合矢量化的人口密度專題圖和現有場地點狀分布圖,重點對服務區覆蓋范圍外人口進行分析,通過對空間數據進行緩沖區分析、柵格分析、重分類、疊加分析、地圖運算等過程,確定應急避難場所綜合評價方案,最終確定新場所地址。

5)可視化。根據最終新場所的ShapeFile文件,結合人口密度分布圖,制作新場所分布圖。

2.2文本及地理信息數據挖掘

1)地理空間特征提取。依據《安徽省應急避難場所分級技術標準(試行)》的場所分級和選址要求[1,2],從紙質地圖、規劃圖、統計數據等地理文本中抽取符合條件的元數據。

2)地理數據分類。從挖掘后的地理空間數據中提取道路、土地利用類型、人口密度、新居民地等地物數據及各類地物的空間特征信息。

3)空間數據挖掘:對空間特征信息進行評價,將符合選址條件的用地數據以及影響避難場所選址的主要因素進行分類、提取,建立相應的空間位置、屬性信息,并繪制矢量圖層。

3數據庫的設計與實現

研究模型的數據庫由空間數據庫和屬性數據庫組成,統一存放在關系數據庫中,實現數據的統一管理。

1)空間數據庫的設計與實現。將要矢量化的合肥市地圖進行掃描,加載到ArcMap中,打開ArcCatalog,在目標文件夾下新建ShapeFile文件。通過對需要矢量化的地物進行分析,將現有應急避難場所歸為點圖層,將城市主、次干道、斷裂歸為線圖層,將土地利用類型、河流、湖泊、人口密度、現有居民地等要素歸為面圖層。

2)屬性數據庫的設計與實現。在ArcMap中打開表,進行地物屬性庫的編輯,對照空間屬性庫表,分別添加地物的屬性字段,并輸入屬性信息。

4應急避難場所的空間優化和選取

4.1影響選址的主要因素

本文依據《地震應急避難場所選址及配套設施要求》,對影響選址的主要因素進行分類、量化。

4.1.1場地的安全性

選址應具有地質、水文及自然環境方面的抗震安全保障。新建場地距離斷層必須有一定的距離,利用GIS的緩沖區分析,建立斷層的6層緩沖區,分別賦予不同的評價指標。

4.1.2現有避難場地

按照安徽省地震應急避難場所及配套設施要求,地震應急避難場所分為3類,其服務范圍分別為5km、1km、0.5km。以此為標準,對研究區現有27個應急避難場所進行類型劃分,并建立服務范圍屬性表。應用ArcMap的緩沖區分析功能,分別建立以5km、1km、0.5km為服務半徑的緩沖區,生成服務范圍矢量圖,并轉換為柵格圖像,進行重分類。

4.1.3土地利用現狀

新選址的區域覆蓋合肥市主、副城區范圍,城市區域用地多數被建設用地覆蓋,其中有些地塊不適于建造避難場地,例如工業用地。土地利用現狀評價指標

4.1.4現有居民點空間分布

避難場地的位置距離居民點有距離限制。以居民點為研究對象,進行鄰近區分析。對合肥市居民點進行以100m為層次的緩沖區分析,并把矢量數據轉為柵格數據。

国产精品视频线观看26uuu,免费av网站在线观看,免费一级a四片久久精品网,国产成人无码精品久久久露脸
精品国产高清自在自线 | 午夜宅男在线永久 | 亚洲日韩在线中文字幕一区 | 五月天中文字幕综合网 | 日本免费人成视频在线观看网站 | 中文字幕紧身裙在线播放 |