如何使用 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+ 阅读量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告