第二篇:1.2 ——KNN中数据归一化原理,附数学推导

本文为学习记录,写的不好请大家指正见谅,互相学习,也为自己巩固学习成果包括后续复习所用!

1.为什么要用数据归一化

样本间的数据由于其中的某几个特征跨度较大,比如下图所示,样本的数据被时间所引导。两个时间之间的跨度较大,

肿瘤大小数据相差不大,所以我们考虑距离远近的时候,时间特征对数据的影响就很大,

第二篇:1.2 ——KNN中数据归一化原理,附数学推导_第1张图片

如果我们对时间进行转换,转换成年,我们发现。肿瘤大小对数据的影响就大于时间对数据的影响

 第二篇:1.2 ——KNN中数据归一化原理,附数学推导_第2张图片

所以我们需要对数据进行归一化(Scaler) 

2.数据归一化:

概念:将所有的数据映射到同一个维度下

1.最值归一化(normalization)

先来看看公式

第二篇:1.2 ——KNN中数据归一化原理,附数学推导_第3张图片

,即 将所有的数据都映射到0,1之间的

用代码实现:

 

但是此方法只能作用于数据有明显边界的样本,比如说成绩,处于0-100之间的,0和100就是边界。

当数据没有明显边界的时候,比如收入,最少收入和最大收入没有一个确定的值,当我们进行映射的时候,一个几千万的时候入会导致绝大部分的在1万以下的收入都近乎为0,所以我们需要用到:

均值方差归一化(Standardization)

先来看下公式

第二篇:1.2 ——KNN中数据归一化原理,附数学推导_第4张图片

我们使用(样本 - 样本的均值) /  样本的标准差   来得到

即,将所有的数据都映射到均值为0,标准差为1的同一纬度中,下面我们一起推导为什么其中的均值为0,标准差为1

下面,用代码实现这两种不同的归一化 ,数据集采用datasets自带的iris数据集

第二篇:1.2 ——KNN中数据归一化原理,附数学推导_第5张图片

 第二篇:1.2 ——KNN中数据归一化原理,附数学推导_第6张图片

你可能感兴趣的:(机器学习)