數據分析-概念

這裏寫圖片描述

一、 數據取樣


1.數據抽取

在明確了需要進行數據挖掘的目標後,接下來就需要從業務系統中抽取出一個與挖掘目標相關的樣本數據子集。抽取數據的標準,一是相關性,二是可靠性,三是有效性,而不是動用全部企業數據。通過數據樣本的精選,不僅能減少數據處理量,節省系統資源,而且使我們想要尋找的規律性更加突顯出來。

進行數據取樣,一定要嚴把質量關。在任何時候都不能忽視數據的質量,即使是從一個數據倉庫中進行數據取樣,也不要忘記檢查其質量如何。因爲數據挖掘是要探索企業運作的內在規律性,原始數據有誤,就很難從中探索規律性。若真的從中還探索出來了什麼“規律性”,再依此去指導工作,則很可能會造成誤導。若從正在運行的系統中進行數據取樣,更要注意數據的完整性和有效性。

2.衡量取樣數據質量的標準包括:

1) 資料完整無缺,各類指標項齊全。
2) 數據準確無誤,反映的都是正常(而不是異常)狀態下的水平。
對獲取的數據,可再從中作抽樣操作。抽樣的方式是多種多樣的,常見的有:

隨機抽樣:在採用隨機抽樣方式時,數據集中的每一組觀測值都有相同的被抽樣的概率。如按10%的比例對一個數據集進行隨機抽樣,則每一組觀測值都有10%的機會被取到。

等距抽樣:如按 5%的比例對一個有100 組觀測值的數據集進行等距抽樣,則有:100 / 5 = 20,等距抽樣方式是取第20、40、60、80 和第100 五組觀測值。

分層抽樣:在這種抽樣操作時,首先將樣本總體分成若干層次(或者說分成若干個子集)。在每個層次中的觀測值都具有相同的被選用的概率,但對不同的層次可設定不同的概率。這樣的抽樣結果通常具有更好的代表性,進而使模型具有更好的擬合精度。

從起始順序抽樣:這種抽樣方式是從輸入數據集的起始處開始抽樣。抽樣的數量可以給定一個百分比,或者直接給定選取觀測值的組數。

分類抽樣:在前述幾種抽樣方式中,並不考慮抽取樣本的具體取值。分類抽樣則依據某種屬性的取值來選擇數據子集。,如按客戶名稱分類、按地址區域分類等。分類抽樣的選取方式就是前面所述的幾種方式,只是抽樣以類爲單位。

二、數據預處理


1.當採樣數據維度過大時,如何進行降維處理、缺失值處理等都是數據預處理要解決的問題。

2.由於採樣數據中常常包含許多含有噪聲、不完整、甚至不一致的數據,對數據挖掘所涉及的數據對象必須進行預處理。那麼如何對數據進行預處理以改善數據質量,並最終達到完善最終的數據挖掘結果的目的呢?
針對採集的餐飲數據,數據預處理主要包括:數據篩選、數據變量轉換、缺失值處理、壞數據處理、數據標準化、主成分分析、屬性選擇、數據規約等

三、常用數據挖掘建模工具


數據挖掘是一個反覆探索的過程,只有將數據挖掘工具提供的技術和實施經驗與企業的業務邏輯和需求緊密結合,並在實施過程中不斷地磨合,才能取得好的效果。下面簡單介紹幾種常用的數據挖掘建模工具:

  1. R
    R 是一種爲統計計算和圖形顯示而設計的語言環境,是貝爾實驗室的Rick Becker,John Chambers和Allan Wilks開發的S語言的一種實現。在S語言源代碼的基礎上,1995年Auckland 大學的Robert Gentleman和Ross Ihaka 編寫了一套能執行S語言的軟件,並將該軟件的源代碼全部公開,這就是R軟件的雛形,其命令被統稱爲R語言。用戶可以自己設計相應的程序,並且可以做成拓展包發佈。其他的使用者可以根據需要下載並加載軟件包,從而非常方便的拓展R的內容。
  2. Python
    Python是一門簡單易學且功能強大的編程語言。它擁有高效的高級數據結構,並且能夠用簡單而又高效的方式進行面向對象編程。Python優雅的語法和動態類型,再結合它的解釋性,使其在大多數平臺的許多領域成爲編寫腳本或開發應用程序的理想語言。
  3. SAS Enterprise Miner
    Enterprise Miner(EM)是SAS推出的一個集成的數據挖掘系統,允許使用和比較不同的技術,同時還集成了複雜的數據庫管理軟件。它的運行方式是通過在一個工作空間(workspace)中按照一定的順序添加各種可以實現不同功能的節點,然後對不同節點進行相應的設置,最後運行整個工作流程(workflow),便可以得到相應的結果。
  4. IBM SPSS Modeler
    IBM SPSS Modeler原名Clementine,2009年被IBM收購後對產品的性能和功能進行了大幅度改進和提升。它封裝了最先進的統計學和數據挖掘技術,來獲得預測知識並將相應的決策方案部署到現有的業務系統和業務過程中,從而提高企業的效益。IBM SPSS Modeler擁有直觀的操作界面、自動化的數據準備和成熟的預測分析模型,結合商業技術可以快速建立預測性模型。
  5. SQL Server
    Microsoft的SQL Server中集成了數據挖掘組件——Analysis Servers,藉助SQL Server的數據庫管理功能,可以無縫地集成在SQL Server數據庫中。在SQL Server2008中提供了決策樹算法、聚類分析算法、Naive Bayes 算法、關聯規則算法、時序算法、神經網絡算法、線性迴歸算法等9種常用的數據挖掘算法。但是其預測建模的實現是基於SQL Server平臺的,平臺移植性相對較差。
  6. MATLAB
    MATLAB(Matrix Laboratory,矩陣實驗室)是美國Mathworks公司開發的應用軟件,具備強大的科學及工程計算能力,它不但具有以矩陣計算爲基礎的強大數學計算能力和分析功能,而且還具有豐富的可視化圖形表現功能和方便的程序設計能力。MATLAB並不提供一個專門的數據挖掘環境,但它提供非常多的相關算法的實現函數,是學習和開發數據挖掘算法的很好選擇。
  7. WEKA
    WEKA (Waikato Environment for Knowledge Analysis)是一款知名度較高的開源機器學習和數據挖掘軟件。高級用戶可以通過Java編程和命令行來調用其分析組件。同時,WEKA也爲普通用戶提供了圖形化界面,稱爲WEKA Knowledge Flow Environment和WEKA Explorer,可以實現預處理、分類、聚類、關聯規則、文本挖掘、可視化等。
  8. RapidMiner
    RapidMiner也稱爲YALE(Yet Another Learning Environment,https://rapidminer.com),提供圖形化界面,採用類似Windows資源管理器中的樹狀結構來組織分析組件,樹上每個節點表示不同的運算符(operator)。YALE中提供了大量的運算符,包括數據處理、變換、探索、建模、評估等各個環節。YALE是用Java開發的,基於Weka來構建,可以調用Weka中的各種分析組件。RapidMinner有拓展的套件Rhadoop,可以和Hadoop集成起來,在Hadoop集羣上運行任務。

By

——imbenben

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章