sklearn.preprocessing.normalize()

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 Normalized Data:\n", X_normalized_l1)
print("\nMax Normalized Data:\n", X_normalized_max)

输出结果如下,

复制代码
Original Data:
 [[1 2 3]
  [4 5 6]
  [7 8 9]]

L2 Normalized Data:
 [[0.26726124 0.53452248 0.80178373]
  [0.45584231 0.56980288 0.68376346]
  [0.50257071 0.57436653 0.64616234]]

L1 Normalized Data:
 [[0.16666667 0.33333333 0.5       ]
  [0.26666667 0.33333333 0.4       ]
  [0.29166667 0.33333333 0.375     ]]

Max Normalized Data:
 [[0.33333333 0.66666667 1.        ]
  [0.66666667 0.83333333 1.        ]
  [0.77777778 0.88888889 1.        ]]

以下是安装指令,

复制代码
pip install scikit-learn
conda install scikit-learn
相关推荐
IT_陈寒13 小时前
JavaScript的闭包把我坑惨了,说好的内存会自动回收呢?
前端·人工智能·后端
星云穿梭15 小时前
用Python写一个带图形界面的学生管理系统——完整教程
python
金銀銅鐵16 小时前
用 Pygame 实现 15 puzzle
python·数学·游戏
jooloo17 小时前
Codex 间歇性 400 之谜:一条对话里,它为什么有时候用 chat/completions,有时候切到 responses?
人工智能
用户51914958484517 小时前
OpenSSL PKCS#12 PBMAC1 堆栈缓冲区溢出漏洞 (CVE-2025-11187) 分析与验证
人工智能·aigc
用户51914958484518 小时前
HP Sound Research SECOMNService 权限提升漏洞利用工具
人工智能·aigc
用户0183493016918 小时前
给 AI 智能体能力包一层 BFF,前端只调一个接口
人工智能
黄忠21 小时前
大模型之LangGraph技术体系
python·llm
这token有力气1 天前
Function Calling 格式漂移
人工智能
onething3651 天前
Spring Boot + Spring AI 从入门到实战:7天转型计划 Day 5 —— SSE 流式输出 + 打字机效果
人工智能·后端·全栈