一:距离公式:
1.特征预处理
归一化:归一化是在特征(维度)非常多的时候,可以防止某一维或某几维对数据影响过大,也是为了把不同来源的数据统一到一个参考区间下,这样比较起来才有意义。其次可以让程序更快地运行。
(2)把有量纲表达式变成无量纲表达式,便于不同单位或量级的指标能够进行比较和加权。归一化是一种简化计算的方式,即将有量纲的表达式,经过变换,化为无量纲的表达式,成为纯量。
(从公式看: 归一化输出范围在0-1之间)
如:
得出的结果:
标准化:为了防止某一特征对结果影响太大,将每一个特征(每一列)都进行标准化处理,常用的方法是 z-score 标准化,处理后的数据均值为0,标准差为1,满足标准正态分布。
原始数据减均值之后,再除以标准差。将数据变换为均值为0,标准差为1的分布,切记:并非一定是正态的。
(从公式看:标准化输出范围是负无穷到正无穷)
结果如下:
2. KNN算法对鸢尾花分类
实现流程:
1.获取数据集
2数据基本处理
3数据集预处理-数据标准化
4机器学习(模型训练)
5模型评估
6模型预测
代码如下:
运行的结果: