美文网首页
ML- 数据集的归一化

ML- 数据集的归一化

作者: 倪桦 | 来源:发表于2023-01-25 02:42 被阅读0次

特征量纲对样本点间距离计算的影响:


对于以上数据表中反应的样本情况,我们可以观察到样本的第一个特征(肿瘤大小)在两样本中有5倍的差值,第二特征(发现天数)只有2倍差值。但是直接计算量样本点的距离(如欧式距离) eluc.dist= \sqrt {(1-5)^2 + (200-100)^2}的时候,就会出现两样本的距离大小主要被第二个特征(发现时间)所主导,也就是差值大的特征掩盖了相比之下小差值特征所反映的贡献。**这样计算的样本点距离和实际存在一定偏差,同时也不能反映出样本内每个特征对样本的重要程度。所以需要将数据映射到统一尺度。

特别是在应用一些 涉及距离 的算法(如 SVM 分类器)时,需要注意数据特征的归一化处理。

数据归一化:

  • 最值归一化:把所有数据映射到0-1区间;
    x_{scale} = \frac {x - x_{min}}{x_{max} - x_{min}}
    适用于分布有明显边界的情况(比如学生的分数就有明显的边界0-100分的区间,而像工资收入这种数据就属于没有明显边界的数据);受outlier影响较大。
    python中x_scale = (x - np.min(x) )/ (np.max(x) - np.min(x))
  • 均值方差归一化(standardization):把所有数据归一到均值为0方差为1的分布中,属于最值归一化的一种改进方法。
    x_{scale} = \frac {x - x_{mean}}{S}
    适用范围较广,对于有或没有明显边界,以及可能存在极端数据的情况都可以使用。

训练集与测试集的归一化处理问题

对于一次批量采样的获取的原始数据,需要将该原始数据集分割成训练集和测试集来训练和测试调整模型。特别是对于测试集来说,其作用是为了模拟真实环境得来的数据,但是生产环境是很难或者说根本无法获得样例所属总体的均值和方差的,所以测试集的均值和方差并不是这里有限测试集本身的均值和方差。所以测试集的数据归一化过程中能使用的均值和方差只有训练集的均值和方差x_{scale} = (x\_test - mean\_train)/std\_train

在scikit-learn 框架中,可以使用其封装的Scaler方法来处理训练集与测试集的数据归一化:

import numpy as np
from sklearn import datasets

digits = datasets.load_digits() ### 载入手写数字数据集
X = digits.data
y = digits.target
### test_train_split
from sklearn.model_selection import train_test_split
Train_X,Test_X,Train_Y,Test_Y = train_test_split(X,y,test_size= 0.2,random_state=666)

### data scale
from sklearn.preprocessing import StandardScaler
standarScaler = StandardScaler()
standarScaler.fit(Train_X)
standarScaler.mean_ ### 获取训练集的均值
standarScaler.std_  ### 获取训练集的方差
Train_X_scale = standarScaler.transform(Train_X) ### 对训练集进行归一化
Test_X_scale  = standarScaler.transform(Test_X)  ### 对测试集进行归一化

相关文章

  • ML- 数据集的归一化

    特征量纲对样本点间距离计算的影响:对于以上数据表中反应的样本情况,我们可以观察到样本的第一个特征(肿瘤大小)在两样...

  • 用R进行microarray分析(2)

    归一化探针水平的数据并计算基因表达数据 函数 expresso 封装了计算基因表达数据过程中的归一化、汇总探针集、...

  • GEE归一化指数计算

    归一化指数计算 主要功能 计算指定数据集指定两个波段的归一化指数 代码 步骤分析 创建ee影像对象,通过影像数据集...

  • PCA主成分分析

    基本步骤: 对数据进行归一化处理 xi = xi-1/m(sum(xi)) 计算归一化后的数据集的协方差矩阵 x...

  • 数据预处理常用方法

    数据获取 字母数字 可以通过string模块获取所有的大小写字母、数字和符号等,举例: 数据集处理 归一化 归一化...

  • 数据预处理

    1、数据预处理中测试集和训练集都需要归一化么?(https://www.zhihu.com/question/32...

  • 数据归一化 Feature Scaling

    数据归一化 最值归一化 均值方差归一化

  • 数据归一化

    什么是数据归一化 ? 具体有哪些归一化 ? 为什么要归一化 ? 1. 什么是数据归一化 ? standardize...

  • python与机器学习:MNIST数据集“手写识别”实例

    MNIST数据集 MNIST是一个包含数字0-9的手写体图片数据集,图片已归一化为以手写数字为中心的28*28规格...

  • Normalization数据归一化/标准化

    Normalization(数据归一化)_大数据_Miracle.Zhao的博客-CSDN博客 数据标准化/归一化...

网友评论

      本文标题:ML- 数据集的归一化

      本文链接:https://www.haomeiwen.com/subject/pzclhdtx.html