數據分析與挖掘,指的是通過對大量的數據進行觀察與分析。發掘其中的未知的,潛在的、對決策有價值的關系、模式和趨勢,并利用這些規則建立決策模型、提供預測性支持的方法和過程。
作為一名大數據開發工程師,什么能力才是我們我們的核心競爭力,答案是肯定的,那就是數據分析與挖掘。只有讓數據產生價值才是數據開發工程師的職責。下面我將從幾個方面介紹數據挖掘:
1.數據挖掘的基本任務
數據挖據的基本任務包括利用分類與預測、聚類分析、關聯規則、時序模式、偏差檢驗、智能推薦等方法,幫助企業提取數據中蘊含的商業價值,提高企業的競爭力。
2.數據挖掘的過程
2.1 定義數據挖掘目標
針對具體的數據挖掘需求,我們首先要做的就是明確本次數據挖掘的目標是什么?預期達到怎樣的效果?因此我們在進行數據挖掘工作前,必須先了解項目相關背景知識,弄清用戶的需求。比如某電商平臺的數據挖掘應用,可定義一下數據挖掘目標:
(1) 分析挖掘用戶數據,建立用戶畫像與物品畫像等。
(2) 基于用戶畫像實現動態商品智能推薦,幫助用戶快速發現自己感興趣的商品,同時確保給用戶推薦的也是企業所期望的,實現用戶與企業的雙贏。
(3) 對平臺客戶進行群體細分,了解不同客戶的貢獻度與消費特征,分析哪些客戶是最有價值的,哪些是需要重點的,對不同價值的客戶采取不同的營銷策略,將有限的資源投放到最有價值的客戶身上,實現精準化營銷。
(4) 基于商品的歷史銷售情況,綜合節假日、氣候和競爭對手等影響因素,對商品銷售量進行趨勢預測,方便企業準備庫存。
2.2 數據抽樣
在明確了數據挖掘的目標后,接下來要做的工作就是抽取企業的數據挖掘庫中的數據子集,隨著現在大數據技術的發展,也有很多企業進行全量數據的抽取,不過為了數據挖掘的效率,可以選擇抽樣使用數據,節省系統資源。抽樣有很多的方法:比如隨機抽樣、等距抽樣、分層抽樣、分類抽樣等。
2.3 數據預處理
當采集的數據維度過大,如何進行降維處理、缺失值處理等都是數據預處理過程中要解決的問題。如何對數據進行預處理以改善數據質量,并最終達到完善數據挖掘結果。目前數據預處理一般包括:數據篩選、數據質量轉換、缺失值處理、壞數據處理、數據標準化、數據規約等。
2.4 挖掘建模
數據挖掘建模是數據挖掘的核心工作,選擇哪種算法進行模型構建?在生成最終的數據集后,就可以在此基礎上建立模型來進行聚類分析了。建立模型階段主要是選擇和應用各種建模技術,同時對它們的參數進行校準以達到最優值。在明確建模技術和算法后需要確定模型參數和輸入變量。模型參數包括類的個數和最大迭代步數等。在建模過程中,我們采用多種技術手段,并將建模效果進行對比。需要挑選合適的變量參與建模。參與建模的變量太多會削弱主要業務屬性的影響,并給理解分群結果帶來困難;變量太少則不能全面覆蓋需要考察的各方面屬性,可能會遺漏一些重要的屬性關系。輸入變量的選擇對建立滿意的模型至關重要。
建立模型是一個螺旋上升,不斷優化的過程,在每一次聚類結束后,需要判斷聚類結果在業務上是否有意義,其各群特征是否明顯。如果結果不理想,則需要調整聚類模型,對模型進行優化,稱之為聚類優化。聚類優化可通過調整聚類個數及調整聚類變量輸入來實現,也可以通過多次運行,選擇滿意的結果。通常可以依據以下原則判斷聚類結果是否理想:類間特征差異是否明顯;群內特征是否相似;聚類結果是否易于管理及是否具有業務指導意義。
2.5 模型評價
建模的過程中會得到一系列的分析結果,它們是對目標問題多側面的描述,這時需要對它們進行驗證和評價,以得到合理的,完備的決策信息。對產生的模型結果需要進行對比驗證、準確度驗證、支持度驗證等檢驗以確定模型的價值。在這個階段需要引入更多層面和背景的用戶進行測試和驗證,通過對幾種模型的綜合比較,產生最后的優化模型。根據業務對模型進行解釋應用,不同的模型的評價方法往往也不同。
3.常用的數據挖據建模工具
Ent
ERPrise Miner(EM)是SAS提供的一個圖形化界面、菜單驅動的、拖拉式操作、對用戶非常友好且功能非常強大的集成的數據挖掘系統。它集成了:
(1) 數據獲取工具
(2) 數據抽樣工具
(3) 數據篩選工具
(4) 數據變量轉換工具
(5) 數據挖據數據庫
(6) 數據挖掘過程
(7) 多種形式的回歸工具
(8) 為建立決策樹的數據剖分工具
(9) 決策樹瀏覽工具
(10) 人工神經元網絡
(11) 數據挖據的評價工具
在SAS/EM中,可利用具有明確代表意義的圖形化的模塊將這些數據挖掘工具單元組成一個數據流程圖,并以此來組織你的數據挖掘過程。對于有經驗的數據挖掘專家,SAS/EM提供大量的選項,可讓有經驗的數據分析人員進行精細化調整分析處理。
3.2 IBM SPSS Modeler
IBM SPSS Modeler原名Clementine,2009年被IBM收購以后對產品進行性能和功能進行了大幅度的改進和提升,幾乎一年一個版本。它封裝了了先進的統計學和數據挖掘技術來獲取預測分析。SPSS Modeler提供圖形化的界面,屏蔽了數據挖據算法的復雜性和操作的繁瑣,讓使用者只需要聚焦如何使用數據挖掘技術去解決實際的商業問題。
3.3 Python
Python是一種面向對象、解釋型的計算機程序設計語言,它擁有高效的數據結構,能簡單的進行面向對象的編程。python本身不提供數據挖掘環境,但是python它有各種數據挖掘的擴展庫。比如比較常見的有:Numpy、Scipy、Matplotlib等,他們分別為Python提供快速數組處理、科學計算以及繪圖的能力,在用到機器學習和人工神經網絡時,我們會用到SKlearn庫和Keras庫,它提供了完善的機器學習工具箱,包括:數據的預處理、分析、回歸、預測、模型分析等。正是由于有了這些擴展庫,python才是數據分析與挖據常用的語言。
3.4 SQL Server
微軟公司的SQL Server中集成了數據挖掘組件--Analysis Servers,借助于SQL Server數據庫管理功能可以很好的集成在SQL Servers中,SQL Server 2008中提供很多數據挖掘算法,比如:決策樹算法、聚類分析算法、Native Bayes算法、關聯規則算法等9種算法。但是這些模型的建立都依賴與SQL Server平臺,所以平臺移植性比較差。
3.5 RapidMiner
RapidMiner也成為YALE,提供圖形化的操作界面,采用樹狀結構來組織分析組件,樹上每個節點表示不同的運算符。RapidMiner中提供了大量的運算符,包括數據預處理、變換、建模、評估等各個環節。RapidMiner是基于Java開發的,基于Weka來構建的,所以Yale可以調用Weka中的組件,Yale中還提供擴展套件Radoop,可以和Hadoop結合起來用,在Hadoop集群中運行任務。
3.6 Weka
Weka的全名是懷卡托智能分析環境(Waikato Environment for Knowledge Analysis),是一款免費的,非商業化(與之對應的是SPSS公司商業數據挖掘產品--Clementine )的,基于JAVA環境下開源的機器學習(machine learning)以及數據挖掘(data mining)軟件。它和它的源代碼可在其官方網站下載。有趣的是,該軟件的縮寫WEKA也是New Zealand獨有的一種鳥名,而Weka的主要開發者同時恰好來自New Zealand的the University of Waikato。WEKA作為一個公開的數據挖掘工作平臺,集合了大量能承擔數據挖掘任務的機器學習算法,包括對數據進行預處理,分類,回歸、聚類、關聯規則以及在新的交互式界面上的可視化。跟很多電子表格或數據分析軟件一樣,WEKA所處理的數據集是一個二維的表格。
3.7 Knime
KNIME是一個基于Eclipse平臺開發,模塊化的數據挖掘系統。它能夠讓用戶可視化創建數據流(也就常說的pipeline),選擇性的執行部分或所有分解步驟,然后通過數據和模型上的交互式視圖研究執行后的結果。可以擴展使用Weka中的算法,同時Knime也提供基于數據流的方式來組織數據挖掘過程,每個節點都有數據的輸入/輸出端口,用接收或輸出計算結果。
3.8 TipDM
TipDM(頂尖大數據挖掘平臺)使用Java語言開發,能從各種數據源獲取數據,構建數據挖掘模型。TipDM目前已經集成了數十種預測算法和分析技術,支持數據挖掘流程所需要的主要過程,并提供開發的應用接口和算法,能夠滿足各種復雜的應用需求。
轉載請注明出處:拓步ERP資訊網http://www.vmgcyvh.cn/
本文標題:DT時代的核心競爭力---數據分析與挖掘
本文網址:http://www.vmgcyvh.cn/html/solutions/14019319828.html