学习笔记: 机器学习经典算法-数据集的归一化

简介: 机器学习经典算法-个人笔记和学习心得分享

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

对于以上数据表中反应的样本情况,我们可以观察到样本的第一个特征(肿瘤大小)在两样本中有$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)  ### 对测试集进行归一化
目录
相关文章
|
4月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
228 6
|
2月前
|
机器学习/深度学习 算法 数据可视化
利用SVM(支持向量机)分类算法对鸢尾花数据集进行分类
本文介绍了如何使用支持向量机(SVM)算法对鸢尾花数据集进行分类。作者通过Python的sklearn库加载数据,并利用pandas、matplotlib等工具进行数据分析和可视化。
175 70
|
17天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络
本项目展示了人脸识别算法的运行效果(无水印),基于MATLAB2022A开发。核心程序包含详细中文注释及操作视频。理论部分介绍了广义回归神经网络(GRNN)、概率神经网络(PNN)、深度神经网络(DNN)和反向传播(BP)神经网络在人脸识别中的应用,涵盖各算法的结构特点与性能比较。
|
13天前
|
人工智能 编解码 算法
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
|
2月前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
433 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
24天前
|
机器学习/深度学习 人工智能 自然语言处理
解锁机器学习的新维度:元学习的算法与应用探秘
元学习作为一个重要的研究领域,正逐渐在多个应用领域展现其潜力。通过理解和应用元学习的基本算法,研究者可以更好地解决在样本不足或任务快速变化的情况下的学习问题。随着研究的深入,元学习有望在人工智能的未来发展中发挥更大的作用。
|
2月前
|
机器学习/深度学习 算法 网络安全
CCS 2024:如何严格衡量机器学习算法的隐私泄露? ETH有了新发现
在2024年CCS会议上,苏黎世联邦理工学院的研究人员提出,当前对机器学习隐私保护措施的评估可能存在严重误导。研究通过LiRA攻击评估了五种经验性隐私保护措施(HAMP、RelaxLoss、SELENA、DFKD和SSL),发现现有方法忽视最脆弱数据点、使用较弱攻击且未与实际差分隐私基线比较。结果表明这些措施在更强攻击下表现不佳,而强大的差分隐私基线则提供了更好的隐私-效用权衡。
65 14
|
3月前
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
122 2
|
4月前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
94 1
|
5天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于生物地理算法的MLP多层感知机优化matlab仿真
本程序基于生物地理算法(BBO)优化MLP多层感知机,通过MATLAB2022A实现随机数据点的趋势预测,并输出优化收敛曲线。BBO模拟物种在地理空间上的迁移、竞争与适应过程,以优化MLP的权重和偏置参数,提升预测性能。完整程序无水印,适用于机器学习和数据预测任务。

热门文章

最新文章