數據挖掘過程當中:數據預處理

原文:http://www.itongji.cn/article/0Q926052013.htmlhtml

數據分析以前,咱們一般須要先將數據標準化(normalization),利用標準化後的數據進行 數據分析。數據標準化也就是統計數據的指數化。數據標準化處理主要包括數據同趨化處理和無量綱化處理兩個方面。數據同趨化處理主要解決不一樣性質數據問題,對不一樣性質指標直接加總不能正確反映不一樣做用力的綜合結果,須先考慮改變逆指標數據性質,使全部指標對測評方案的做用力同趨化,再加總才能得出正確結果。數據無量綱化處理主要解決數據的可比性。數據標準化的方法有不少種,經常使用的有「最小—最大標準化」、「Z-score標準化」和「按小數定標標準化」等。通過上述標準化處理,原始數據均轉換爲無量綱化指標測評值,即各指標值都處於同一個數量級別上,能夠進行綜合測評分析。
數據的標準化過程也是歸一化的過程。
數據的標準化(normalization)是將數據按比例縮放,使之落入一個小的特定區間。在某些比較和評價的指標處理中常常會用到,去除數據的單位限制,將其轉化爲無量綱的純數值,便於不一樣單位或量級的指標可以進行比較和加權。
數據歸一化的目的是爲了把不一樣來源的數據統一到一個參考系下,這樣比較起來纔有意義。
 
1 定義
歸一化就是要把你須要處理的數據通過處理後(經過某種算法)限制在你須要的必定範圍內。首先歸一化是爲了後面數據處理的方便,其次是保正程序運行時收斂加快。
 
2 爲何要用歸一化呢?
首先先說一個概念,叫作奇異樣本數據,所謂奇異樣本數據數據指的是相對於其餘輸入樣本特別大或特別小的樣本矢量。
下面舉例:
m=[0.11 0.15 0.32 0.45 30;
      0.13 0.24 0.27 0.25 45];
其中的第五列數據相對於其餘4列數據就能夠成爲奇異樣本數據(下面所說的網絡均值bp)。奇異樣本數據存在所引發的網絡訓練時間增長,並可能引發網絡沒法收斂,因此對於訓練樣本存在奇異樣本數據的數據集在訓練以前,最好先進形歸一化,若不存在奇異樣本數據,則不須要事先歸一化。
 
3 歸一化方法
主要有以下幾種,供你們參考:(by james)
(1)線性函數轉換,表達式以下:
    y=(x-MinValue)/(MaxValue-MinValue)
    說明:x、y分別爲轉換前、後的值,MaxValue、MinValue分別爲樣本的最大值和最小值。
    在統計學中,歸一化的具體做用是概括統同樣本的統計分佈性。歸一化在0-1之間是統計的機率分佈,歸一化在-1--+1之間是統計的座標分佈。
(2)對數函數轉換,表達式以下:
    y=log10(x)
    說明:以10爲底的對數函數轉換。
    進行Log分析時,會將本來絕對化的時間序列歸一化到某個基準時刻,造成相對時間序列,方便排查。
    經過以10爲底的log函數轉換的方法一樣能夠實現歸一下,具體方法也能夠以下:   
    看了下網上不少介紹都是x‘=log10(x),實際上是有問題的,這個結果並不是必定落到[0,1]區間上,應該還要除以    log10(max),max爲樣本數據最大值,而且全部的數據都要大於等於1。
(3)反餘切函數轉換,表達式以下:
    y=atan(x)*2/PI
    歸一化是爲了加快訓練網絡的收斂性,能夠不進行歸一化處理
(4)z-score 標準化(zero-mean normalization)
    也叫標準差標準化,通過處理的數據符合標準正態分佈,即均值爲0,標準差爲1,其轉化函數爲:    
    其中μ爲全部樣本數據的均值,σ爲全部樣本數據的標準差。
 
4 在matlab裏面,用於歸一化的方法共有三種:
(1)premnmx、postmnmx、tramnmx
(2)prestd、poststd、trastd
(3)是用matlab語言本身編程。
premnmx指的是歸一到[-1 1];prestd歸一到單位方差和零均值;關於本身編程通常是歸一到[0.1  0.9] 。
 
5 注意
須要說明的事並非任何問題都必須事先把原始數據進行規範化,也就是數據規範化這一步並非必需要作的,要具體問題具體看待,測試代表有時候規範化後的預測準確率比沒有規範化的預測準確率低不少.就最大最小值法而言,當你用這種方式將原始數據規範化後,事實上意味着你認可了一個假設就是測試數據集的每一模式的全部特徵份量的最大值(最小值)不會大於(小於)訓練數據集的每一模式的全部特徵份量的最大值(最小值),但這條假設顯然過於強,實際狀況並不必定會這樣.使用平均數方差法也會有一樣相似的問題.故數據規範化這一步並非必需要作的,要具體問題具體看待. 
歸一化首先在維數很是多的時候,能夠防止某一維或某幾維對數據影響過大,其次能夠程序能夠運行更快。方法不少,min-max,z-score,p範數等,具體怎麼使用,要根據數據集的特徵來選擇。
 

(責任編輯:黑陽)算法

相關文章
相關標籤/搜索