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

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

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

对于以上数据表中反应的样本情况,我们可以观察到样本的第一个特征(肿瘤大小)在两样本中有$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)  ### 对测试集进行归一化
目录
相关文章
|
3月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
193 6
|
1月前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
268 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
1月前
|
机器学习/深度学习 算法 网络安全
CCS 2024:如何严格衡量机器学习算法的隐私泄露? ETH有了新发现
在2024年CCS会议上,苏黎世联邦理工学院的研究人员提出,当前对机器学习隐私保护措施的评估可能存在严重误导。研究通过LiRA攻击评估了五种经验性隐私保护措施(HAMP、RelaxLoss、SELENA、DFKD和SSL),发现现有方法忽视最脆弱数据点、使用较弱攻击且未与实际差分隐私基线比较。结果表明这些措施在更强攻击下表现不佳,而强大的差分隐私基线则提供了更好的隐私-效用权衡。
52 14
|
2月前
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
92 2
|
3月前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
77 1
|
3月前
|
机器学习/深度学习 自然语言处理 算法
深入理解机器学习算法:从线性回归到神经网络
深入理解机器学习算法:从线性回归到神经网络
|
3月前
|
机器学习/深度学习 算法
深入探索机器学习中的决策树算法
深入探索机器学习中的决策树算法
57 0
|
9月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
278 14
|
9月前
|
机器学习/深度学习 算法 数据可视化
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
166 1
|
9月前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)