本篇文章主要講解歸一化(標準化)兩種常用方法和常見的資料處理方法。
平時在一些資料處理中,經常會把原始資料取對數後進一步處理。之所以這樣做是基於對數函式在其定義域內是單調增函式,取對數後不會改變資料的相對關係,取對數作用主要有:
縮小資料的絕對數值,方便計算。例如,每個資料項的值都很大,許多這樣的值進行計算可能對超過常用資料型別的取值範圍,這時取對數,就把數值縮小了,例如tf-idf計算時,由於在大規模語料庫中,很多詞的頻率是非常大的數字。
取對數後,可以將乘法計算轉換稱加法計算。
某些情況下,在資料的整個值域中的在不同區間的差異帶來的影響不同。例如,中文分詞的mmseg演算法,計算語素自由度時候就取了對數,這是因為,如果某兩個字的頻率分別都是500,頻率和為1000,另外兩個字的頻率分別為200和800,如果單純比較頻率和都是相等的,但是取對數後,log500=2.69897,
log200=2.30103, log800=2.90308 這時候前者為2log500=5.39794, 後者為log200+log800=5.20411,這時前者的和更大,取前者。因為前面兩個詞頻率都是500,可見都比較常見。後面有個詞頻是200,說明不太常見,所以選擇前者。
從log函式的影象可以看到,自變數x的值越小,函式值y的變化越快,還是前面的例子,同樣是相差了300,但log500-log200>log800-log500,因為前面一對的比後面一對更小。
也就是說,對數值小的部分差異的敏感程度比數值大的部分的差異敏感程度更高。這也是符合生活常識的,例如對於**,買個家電,如果**相差幾百元能夠很大程度影響你決策,但是你買汽車時相差幾百元你會忽略不計了。
取對數之後不會改變資料的性質和相關關係,但壓縮了變數的尺度,例如800/200=4,
但log800/log200=1.2616,資料更加平穩,也消弱了模型的共線性、異方差性等。
所得到的資料易消除異方差問題。
在經濟學中,常取自然對數再做回歸,這時回歸方程為 lny=a lnx+b ,兩邊同時對x求導,1/y*(dy/dx)=a1/x, b=(dy/dx)(x/y)=(dyx)/(dxy)=(dy/y)/(dx/x)
這正好是彈性的定義。
當然,如果資料集中有負數當然就不能取對數了。實踐中,取對數的一般是水平量,而不是比例資料,例如變化率等。
一、類別量尺/名目量尺(nominal scale)
主要功用是在區分類別,給每乙個類別適當名稱,藉以辨識。
例如:組別、性別、科系、職業、宗教信仰。
數字只代表類別,沒有順序,不能比大小,不能四則計算。比如郵編,你不能說100086號是100000號+86號,也不能說100086比100085大,有100086號有100088號也不意味著一定有100087號。
二、順序量尺/等級量尺(ordinal scale)
將事物依其特徵或屬性的大小、或多少的程度,排成順序或等級。
例如:名次、百分等級、年級。
數字代表「序數」或者「等級」,有順序,可以比大小,但不能四則計算。比如等級,你可以說五星級賓館比四星級賓館等級高,但不能說三星級+二星級就是五星級,因而這種資料的運算是無意義的。
三、等距量尺/區間量尺(interval scale)
等距尺度是一組具有連續性、單位又相等的數值,無零點(或零點意義不明確)。
如果應用等距尺度來測量變項,乃是依其特徵或屬性之不同賦予不同的數值。使這些數值不僅顯示大小的順序,而且數值之間具有相等的距離。
例如:溫度(攝氏、華氏)、年度(**、西元)、智商。
沒有絕對零點(0不代表無),正負可同時存在,有順序,可以比大小,資料的差值有意義,但比例沒有意義,可以加減,不能乘除(但可以算平均值)。比如攝氏溫度,你可以說20℃比10℃高,且高10℃,但是不能說是兩倍,或高一倍。又比如時刻,你可以說兩點比一點晚,且晚一小時,但不能說兩點是一點的二倍。
四、等比量尺/比例量尺(ratio scale)
比例尺度具有等距尺度的全部特徵,而且有「真正零點」。
比例尺度的數值之間有相等的比例(ratio),不僅可以加減,也可以作乘除的運算。
例如:距離、時間、長度、重量。
有絕對零點(0代表無),正負不同時存在,有順序,可以比大小,資料差值和比例都有意義,可以四則運算。比如開氏溫度,你可以說20k比10k高,且高10k,而且20k是10k的二倍。又比如時間,你可以說兩小時比一小時長,且長一小時,而且兩小時是一小時的二倍。
歸一化(標準化)兩種常用方法
資料標準化(歸一化)處理是資料探勘的一項基礎工作,不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到資料分析的結果,為了消除指標之間的量綱影響,需要進行資料標準化處理,以解決資料指標之間的可比性。原始資料經過資料標準化處理後,各指標處於同一數量級,適合進行綜合對比評價。以下是兩種常用的歸一化方法:
一、min-max標準化(min-max normalization)
也稱為離差標準化,是對原始資料的線性變換,使結果值對映到[0 - 1]之間。轉換函式如下:
其中max為樣本資料的最大值,min為樣本資料的最小值。這種方法有個缺陷就是當有新資料加入時,可能導致max和min的變化,需要重新定義。
二、z-score標準化方法
這種方法給予原始資料的均值(mean)和標準差(standard deviation)進行資料的標準化。經過處理的資料符合標準正態分佈,即均值為0,標準差為1,轉化函式為:
其中u 為所有樣本資料的均值, delta為所有樣本資料的標準差。
標準差也被稱為標準偏差,或者實驗標準差,公式為
參考文獻
1.告訴你為什麼資料要取對數
2.3.原文**:
4.測量值的四種尺度:
資料處理 流資料處理利器
流處理 stream processing 是一種計算機程式設計正規化,其允許給定乙個資料序列 流處理資料來源 一系列資料操作 函式 被應用到流中的每個元素。同時流處理工具可以顯著提高程式設計師的開發效率,允許他們編寫有效 乾淨和簡潔的 流資料處理在我們的日常工作中非常常見,舉個例子,我們在業務開發...
爬蟲 資料處理 pandas資料處理
使用duplicated 函式檢測重複的行,返回元素為布林型別的series物件,每個元素對應一行,如果該行不是第一次出現,則元素為true keep引數 指定保留哪一重複的行資料 dataframe替換操作 使用df.std 函式可以求得dataframe物件每一列的標準差 資料清洗清洗重複值 清...
資料處理 pandas資料處理優化方法小結
資料處理時使用最多的就是pandas庫,pandas在資料處理方面很強大,整合了資料處理和資料視覺化。pandas的視覺化使用的是matplotlib。回到主題 計算資料的某個欄位的所有值,對其欄位所有值進行運算 處理的字段資料為時間戳,需要計算該時間戳距離現在的時間,單位為天。一般方法 使用現在的...