1. 程式人生 > 其它 >一個完整的資料分析、挖掘流程詳細介紹完整的資料分析、挖掘流程簡介

一個完整的資料分析、挖掘流程詳細介紹完整的資料分析、挖掘流程簡介

完整的資料分析、挖掘流程簡介

這是在一次面試過程中遇到的一個問題,自己回答了個大概,但是缺少了一部分的東西,所以就抽時間查閱了一些相關的資料來總結了一下,也算是自己的一個學習過程了,將學習總結的內容以markdown筆記的形式記錄下來,僅做學習參考使用。

一個完整的資料分析或者是資料探勘過程包括許多個不同的階段,每個階段的作用都不相同但卻密不可分,下面簡單對自己理解總結的一個完整的分析挖掘流程中的各個階段進行簡單介紹。

一個完整的分析挖掘流程大致包括以下幾個方面:

  • 業務建模
  • 經驗分析
  • 資料準備
  • 資料提取
  • 資料探索
  • 資料處理
  • 資料建模
  • 模型評價
  • 資料分析報告輸出

業務建模階段

業務建模(Business
Modeling)是以軟體模型方式描述企業管理和業務所涉及的物件和要素、以及它們的屬性、行為和彼此關係,業務建模強調以體系的方式來理解、設計和構架企業資訊系統。
業務建模(Business
Modeling)是一種建模方法的集合,目的是對業務進行建模。這方面的工作可能包括了對業務流程建模,對業務組織建模,改進業務流程,領域建模等方面。

經驗分析階段

經驗分析階段主要是對待執行的分析挖掘任務進行簡單的梳理評估,依據就是基於自己以往完成的資料分析或者是挖掘類的任務,對任務的異同點進行對比分析,初步理出思路。

資料準備階段

資料準備階段主要是完成資料的獲取工作,這裡的獲取可以是對指定源庫中資料的採集也可以是基於爬蟲的網路資料採集等等。
瞭解資料採集的意義在於真正瞭解資料的原始面貌,包括資料產生的時間、條件、格式、內容、長度、限制條件等。這會幫助資料分析師更有針對性的控制資料生產和採集過程,避免由於違反資料採集規則導致的資料問題;同時,對資料採集邏輯的認識增加了資料分析師對資料的理解程度,尤其是資料中的異常變化。
在資料採集階段,資料分析師需要更多的瞭解資料生產和採集過程中的異常情況,如此才能更好的追本溯源。另外,這也能很大程度上避免“垃圾資料進導致垃圾資料出”的問題。
該階段的主要目的就是為了獲取到能夠用於後續建模分析階段的資料。

資料提取階段

資料提取不同於資料準備,資料準備階段只是獲取到了我們完成任務所需要的資料來源,資料提取主要是從指定的庫、表或者是儲存位置中提取出來所需的資料。
資料提取是將資料取出的過程,資料提取的核心環節是從哪取、何時取、如何取。
從哪取,資料來源——不同的資料來源得到的資料結果未必一致。
何時取,提取時間——不同時間取出來的資料結果未必一致。
如何取,提取規則——不同提取規則下的資料結果很難一致。
例如:
對於網路爬取到資料資料來說,我們需要某幾個欄位,這就需要對原始的html資料進行解析處理來提取所需要的資料項。

資料探索

資料探索主要就是分析資料結構和規律過程,它不可能靠人力去探索,而是有工具可用有方向可循的,漫無目的的尋找不可能到達目的地。在資料探索方面也有2個方向:

  • 資料質量分析
    資料質量分析是資料預處理的前提,它主要包括:缺失值分析,異常值分析,一致性分析等。主要任務是檢查原始資料中是否包括髒資料。
    髒資料:不符合要求,以及不能直接進行相應分析的資料。包括:缺失值,異常值,不一致的值,重複資料,含有特殊符號的資料。

1、缺失值處理方式:

    針對具體的任務場景使用對應的缺失值處理方式是非常重要的。常見的缺失值處理方式主要包括:直接刪除、填充處理、忽略處理。其中,個人在實際工作中使用較多的方式對資料中的缺失值進行填充處理,目前使用到的填充演算法主要包括:滑動平均資料填充、移動加權資料填充和卡爾曼濾波資料填充三種演算法。

2、異常值(離群點)處理方式:

    簡單統計量分析(判斷變數取值是否超出範圍);原則:如果資料服從正態分佈,在 原則下,異常值被定義為一組測定值中與平均值的偏差超過3倍標準差的值。如果資料不服從正態分佈,可以用遠離平均值的多少倍標準差來描述。
    箱型圖分析:以四分位數和四分為距為基礎判斷異常值。
    在實際工作中,異常值可以部分借鑑缺失值資料的處理方法。

3、一致性分析

    不一致資料的產生主要發生在資料整合的過程中,由於資料來自於不同的資料來源等導致。在資料建模之前進行資料一致性分析是很有必要的。
  • 資料特徵分析
    資料特徵分析主要包括:分佈分析,對比分析,統計量分析,週期性分析,貢獻度分析、相關性分析等。對其中各種分析簡單介紹如下:

1、分佈分析:

    定量資料:繪製頻率分佈直方圖  
    定性資料:根據變數的分類來分組,繪製餅圖和條形圖  

2、對比分析:

    絕對數比較、相對數比較

3、統計量分析:

    分析集中趨勢、離中趨勢 
    集中趨勢度量:均值、中位數、眾數
    離中趨勢度量:極差、標準差、變異係數、四分位數間距

4、週期性分析
5、貢獻度分析
6、相關性分析:

    繪製散點圖、計算相關係數

總結來說:資料探索階段主要是通過檢驗資料集的資料質量、繪製圖表、計算某些特徵量等手段,對樣本資料集的機構和規律進行分析的過程就是資料探索。資料探索有助於選擇合適的資料預處理和建模方法,甚至可以完成一些通常由資料探勘解決的問題。常常從資料質量分析和資料特徵分析兩個角度對資料進行探索。

資料處理

資料處理包括:資料清洗(缺失值處理、異常值處理)、資料整合(實體識別、冗餘屬性識別)、資料變換(
簡單函式變換,規範化,連續屬性離散化,屬性構造,小波變換)、資料規約(屬性規約、數值規約)。資料處理的目的在於提高資料的質量,使資料更易於建模。

1、資料清洗

    對原始資料集中的資料進行缺失值處理和異常值處理。主要的操作包括:刪除原始資料集中的無關資料、重複資料、平滑噪聲資料、篩選掉與挖掘主題無關的資料、處理缺失值、異常值等。  

2、 資料整合

    將多個數據源合併存放在一個一致的資料儲存(如資料倉庫)中的過程。冗餘屬性識別:部分可以通過相關分析檢測。單位不統一、同名異義、異名同義這幾中情況的整合。

3、資料變換

    資料變換中常用的手段包括:簡單函式變換,規範化,連續屬性離散化,屬性構造,小波變換等。主要目的是對資料進行規範化處理、以轉換成適用於挖掘任務及演算法的形式。

其中:

  • 簡單函式變換:
    包括平方、開方、取對數、差分運算等。常用來將不具有正態分佈的資料變換成具有正態分佈的資料。在時間序列分析中,差分運算有時可以將非平穩序列轉換成平穩序列。

  • 歸一化
    為消除指標之間的量綱和取值範圍差異的影響,將資料按照比例縮放,使之落入一個特定的區域,消除由於不同特徵屬性取值範圍不同對模型造成的影響,加快模型的收斂速度,能夠在一定程度上提升模型的精度。
    【對於基於距離計算的資料探勘演算法來說作用尤為明顯,如:Kmeans、KNN等】
    a、最小-最大規範化:即離差標準化,對原始資料的線性變換,將數值對映到 [0,1] 之間。
    b、零-均值規範化:即標準差標準化,經過處理的資料的均值為0,標準差為1,最為常用。
    c、小數定標規範化:通過移動屬性值的小數位數,將屬性值對映到 [-1,1] 之間,移動的小數位數取決於屬性值絕對值的最大值。

  • 連續屬性離散化
    連續屬性離散化主要是將一些連續的屬性值轉化為離散的屬性值,比如:將溫度資料轉化為等級或者是區間的資料用於ID3決策樹建模或者是Apriori關聯規則挖掘演算法進行關聯規則分析。

  • 屬性構造
    為提取更有用的資訊,挖掘更深層次的模式,提高挖掘結果的精度,需要利用已有屬性構造出新屬性,並加入到現有的屬性集合中。這一點有點類似於PCA主成分分析的性質,這是一個新特徵生成的過程,不是特徵選擇的過程,之前有人採用GBDT+LR的模型組合方式奪得了廣告點選預測大賽的冠軍,裡面的核心思想就是基於GBDT對原始的特徵資料進行了再編碼處理,生成了新的更加有效的特徵,及時後面使用的是很簡單的模型也可以取得很不錯的預測效果,這裡也凸顯了特徵工程的重要性。

  • 小波變換
    小波變換主要是在資料訊號處理裡面使用到的,之後開始廣泛用於其他資料的處理中。小波變換在時域和頻域都有表徵訊號區域性特徵的能力。選取適當的小波係數,即完成了訊號的特徵提取。(Scipy
    提供了一些訊號處理函式,PyWavelets 是一個非常好的訊號處理庫)。

4、資料規約

    資料規約產生更小但保持原資料完整性的新資料集,使得在規約後的資料集上進行分析和挖掘更有效率,降低儲存資料的成本。 

其中:

  • 屬性歸約
    這裡常用方法包括決策樹、主成分分析,通過屬性合併來建立新屬性維數,或通過刪除不相關屬性來減少資料維數。目標:尋找出最小的屬性子集並確保新資料子集的概率分佈儘可能接近原來資料集的概率分佈。
    決策樹歸納:直接刪除不相關屬性
    主成分分析(Scikit_learn中的PCA函式):用於連續屬性的資料降維方法。在應用中,通常是選出比原始變數個數少,能解釋大部分資料中的變數的幾個新變數,即主成分,來代替原始變數進行建模。

  • 數值歸約
    通過選擇替代的、較小的資料來減少資料量
    方法:直方圖、聚類、抽樣、引數迴歸

資料建模

模型構建是整個資料分析挖掘過程中最為核心的一個節點,目前使用到的模型大都已經有非常成熟的實現,可以直接呼叫了。模型的本質就是一個函式或者是公式,通過標準化的輸入後輸出計算結果。

主要的建模的方法包括:分類與預測(分類演算法,預測演算法,迴歸分析,決策樹,人工神經網路)、聚類分析、關聯規則、時系模式、離群點檢測等等。
其中:

[外鏈圖片轉存失敗(img-
NoHCMBix-1567240214326)(https://github.com/yishuihanhan/markdown-
pictures/blob/master/models.png)]

  • 分類
    屬於有監督學習,需要提供標註的樣本資料集

  • 聚類
    屬於無監督學習,不需要人工資料標註

模型評價

模型的評價對於我們分析挖掘任務來說同樣十分重要,對於分類演算法模型來說常用的評價指標包括:精確率(Precision)、召回率(Recall)、準確率(Accuracy)、F1值(F-Measure)、ROC曲線、AUC值和PR曲線;對於聚類演算法模型來說常用的評價指標主要包括:純度(purity)、熵(Entropy)、歸一化互資訊(NMI)、調整蘭德指數(ARI)等等。

基於有效的評價指標對構建的模型效能進行全方面綜合的計算分析有助於我們瞭解模型的工作情況,進一步通過模型引數優化等方式來優化模型的效能。