sklearn.preprocessing.normalize()是Scikit-learn库中的一个函数,用于对特征向量进行归一化处理。归一化的目的是将每个样本的特征向量缩放到单位范数(即长度为1)。
normalize函数的主要参数包括:
- X:要归一化的数组或稀疏矩阵,形状为[n_samples, n_features]
- norm:指定要使用的范数类型,可以是l1、l2或max
- l1范数:将每个样本的特征向量的绝对值之和归一化为1
- l2范数:将每个样本的特征向量的欧几里得长度归一化为1(默认)
- max范数:将每个样本的特征向量的最大绝对值归一化为1
以下是一个简单的代码示例,
import numpy as np
from sklearn.preprocessing import normalize
# 示例数据
X = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# 使用 l2 范数进行归一化
X_normalized_l2 = normalize(X, norm='l2')
# 使用 l1 范数进行归一化
X_normalized_l1 = normalize(X, norm='l1')
# 使用 max 范数进行归一化
X_normalized_max = normalize(X, norm='max')
print("Original Data:\n", X)
print("\nL2 Normalized Data:\n", X_normalized_l2)
print("\nL1 Norma