當前位置:編程學習大全網 - 編程語言 - 數據變換-歸壹化與標準化

數據變換-歸壹化與標準化

壹般在機器學習的 模型訓練 之前,有壹個比較重要的步驟是 數據變換

因為,壹般情況下,原始數據的各個特征的值並不在壹個統壹的範圍內,這樣數據之間就沒有 可比性

數據變換的目的是 將不同渠道,不同量級的數據轉化到統壹的範圍之內,方便後續的分析處理

數據變換的方法有很多,比如 數據平滑,數據聚集,數據概化,數據規範化 屬性構造 等。

本篇文章主要介紹數據規範化,這是壹種比較常用,也比較簡單的方法。

數據規範化是 使屬性數據按比例縮放,這樣就將原來的數值映射到壹個新的特定區域中 ,包括 歸壹化,標準化 等。

歸壹化就是獲取原始數據的最大值和最小值,然後把原始值線性變換到 [0,1] 範圍之內,變換公式為:

其中:

從公式中可以看出,歸壹化與最大最小值有關,這也是歸壹化的缺點,因為最大值與最小值非常容易受 噪音數據 的影響。

比如,我們有以下數據:

通過數據可以觀察出:

這裏我們用第壹條數據來舉例,看看是如何變換的。

sklearn 庫的 preprocessing 模塊中的 MinMaxScaler 類就是用來做歸壹化處理的。

首先引入 MinMaxScaler 類:

準備要變換的 data 數據,並初始化 MinMaxScaler 對象:

擬合數據:

輸出每個特征的最大最小值:

變換所有數據:

可以對比我們計算的第壹行數據,結果是壹樣的。

z-score 標準化 是基於正態分布的,該方法假設數據呈現 標準正態分布

正態分布也叫高斯分布 ,是 連續隨機變量 概率分布的壹種,它的數學公式是:

其中, u 均值 (平均數), σ 標準差 。均值和標準差是正態分布的關鍵參數,它們會決定分布的具體形態。

正態分布有以下特點:

正態分布就是常態分布,正常狀態的分布。在現實生活中,大量隨機現象的數據分布都近似於正態分布。

正態分布的分布圖為:

μ 0 σ 1 時,正態分布為 標準正態分布

圖中的百分數表示所在面積占總面積的百分比。

z-score 標準化 利用正態分布的特點, 計算壹個給定分數距離平均數有多少個標準差 。它的轉換公式如下:

其中 x 為原始值, u 為均值, σ 為標準差, x’ 是變換後的值。

經過 z-score 標準化 後,高於平均數的分數會得到壹個正的標準分,而低於平均數的分數會得到壹個負的標準分數。

和歸壹化相比, z-score 標準化 不容易受到噪音數據的影響,並且保留了各維特征對目標函數的影響權重。

sklearn 庫的 preprocessing 模塊中的 StandardScaler 類就是用來做 z-score 標準化 處理的。

首先引入 StandardScaler 類:

準備要變換的 data 數據,並初始化 StandardScaler 對象:

擬合數據:

輸出每個特征的均值和標準差:

變換所有數據:

數據變換的目的是 將不同渠道,不同量級的數據轉化到統壹的範圍之內,方便後續的分析處理

不同的機器學習算法,對數據有不同的要求,所以要針對不同的算法,對原始數據進行不同的轉換。

數據規範化 是常用的數據變化方法,包括歸壹化和標準化等:

數據變換不壹定能提高模型的準確度,但是會提高數據的可解釋性。

需要註意的是,對訓練數據進行了數據變換之後,在測試模型準確度或者預測數據之前,也要對數據進行同樣的數據變換。

(本節完。)

推薦閱讀:

決策樹算法-理論篇-如何計算信息純度

決策樹算法-實戰篇-鳶尾花及波士頓房價預測

樸素貝葉斯分類-理論篇-如何通過概率解決分類問題

樸素貝葉斯分類-實戰篇-如何進行文本分類

計算機如何理解事物的相關性-文檔的相似度判斷

  • 上一篇:做菱形的方法
  • 下一篇:編程專業入學門檻是什麽
  • copyright 2024編程學習大全網