Scikit-learn之数据预处理

本文介绍了Scikit-learn中的数据预处理,包括标准化和正则化/归一化。标准化是将数据转换为均值为0,方差为1的分布,而归一化则是将样本向量转换为单位向量。这两种方法常用于机器学习,以确保不同特征在同一量纲下处理。文中提供了标准化和归一化的示例,并解释了它们在实际操作中的应用。
摘要由CSDN通过智能技术生成

一、基本知识

1、标准化含义

Standardization of datasets is a common requirement for many machine learning estimators implemented in scikit-learn; they might behave badly if the individual features do not more or less look like standard normally distributed data: Gaussian with zero mean and unit variance. —来自官网
标准化是常用的机器学习特征处理的方法,它可以将一列数据的平均值变为0,方差变为1 。但是不改变原来的数据结构分布,只是将数值进行了缩放。使得所有特征在同一量纲下进行数据处理,避免有些特征整体偏大对整体处理造成偏差。
在这里插入图片描述

2、正则化/归一化(Normalization)含义

Normalization is the process of scaling individual samples to have unit norm. This process can be useful if you plan to use a quadratic form such as the dot-product or any other kernel to quantify the similarity of any pair of samples. ——scikit-learn.org
正则化针对的是每行,或者说每个样本的不同特征。一般计算样本之间距离时使用其做归一化处理,比如聚类,K近邻、文本分类
规则为l2的归一化公式如下:
在这里插入图片描述

3、标准化与归一化的区别

简单来说,标准化是依照特征矩阵的列处理数据,其通过求z-score的方法,将样本的特征值转换到同一量纲下。归一化是依照特征矩阵的行处理数据,其目的在于样本向量在点乘运算或其他核函数计算相似性时,拥有统一的标准,也就是说都转化为“单位向量”。

4、缩放分类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import numpy as np
X = np.array([[1, 2], [4, 5], [7, 8]])
print(X)
# print (np.mean(X, axis=0, keepdims=True))#按列就平均值
# print (np.mean(X, axis=1, keepdims=True))#按行就平均值
print (np.mean(X
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值