如何使用 Python 中的 scikit-learn 庫實現 L2 正則化?


將一系列值轉換為標準化範圍內的值的過程稱為歸一化。這些值可能介於 -1 到 +1 或 0 到 1 之間。資料也可以透過減法和除法來歸一化。

讓我們瞭解 L2 歸一化是如何工作的。它也被稱為“最小二乘法”。這種歸一化以這樣的方式修改資料,使得每一行資料的平方和都保持為 1。

讓我們看看如何使用 Python 中的 Scikit learn 實現 L2 歸一化:

示例

import numpy as np
from sklearn import preprocessing
input_data = np.array(
   [[34.78, 31.9, -65.5],[-16.5, 2.45, -83.5],[0.5, -87.98, 45.62],[5.9, 2.38, -55.82]]
)
normalized_data_l2 = preprocessing.normalize(input_data, norm='l2')
print("\nL2 normalized data is \n", normalized_data_l2)

輸出

L2 normalized data is
[[ 0.43081298 0.39513899 -0.81133554]
[-0.19377596 0.02877279 -0.98062378]
[ 0.00504512 -0.88774018 0.4603172 ]
[ 0.10501701 0.04236279 -0.99356772]]

解釋

  • 匯入所需的包。

  • 使用 Numpy 庫生成輸入資料。

  • 使用 ‘preprocessing’ 類中的 ‘normalize’ 函式來歸一化資料,使得每一行值的平方和都為 1。

  • 將歸一化型別指定為 ‘l2’。

  • 這樣,陣列中的任何資料都會被歸一化,並且每一行的平方和都將僅為 1。

  • 在控制檯上顯示此歸一化資料。

更新於:2020-12-11

2K+ 閱讀量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告