量纲

R实战 第九篇:数据标准化

假装没事ソ 提交于 2020-02-06 04:02:30
数据标准化处理是数据分析的一项基础工作,不同评价指标往往具有不同的量纲,数据之间的差别可能很大,不进行处理会影响到数据分析的结果。为了消除指标之间的量纲和取值范围差异对数据分析结果的影响,需要对数据进行标准化处理,就是说,把数据按照比例进行缩放,使之落入一个特定的区域,便于进行综合分析。 在继续下文之前,先解释三个个术语: (1)所谓 量纲 ,简单来说,就是说数据的单位;有些数据是有量纲的,比如身高,而有些数据是没有量纲的,例如,男女比例。无量纲化,是指去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或者量级的指标能够进行和加权。 (2)数据的标准化是指将数据按照比例缩放,使之落入一个特定的区间。 (3)归一化是数据标准化中最简单的方式,目的是把数变为(0,1)之间的小数,把有量纲的数据转换为无量纲的纯数量。 常用的归一化方法主要有离差标准化和标准差标准化,r的scale()可以实现标准差标准化,也可以指定标准化之后数据的均值和标准差。 一,离差标准化 离差标准化是对原始数据进行线性变化,使数值映射到[0,1]区间中,转换公式是: 离差标准化保留了原来数据中存在的关系,是消除量纲和数据取值范围对数据分析产生影响的最简单方法,缺点是如果数据集中,且某个数值很大,那么标准化之后大部分值会接近于0,并且不会相差很大。 二,标准差标准化 经过该方法处理的数据的均值是0,标准差是1

【机器学习】机器学习入门03 - 数据归一化

我是研究僧i 提交于 2019-12-04 20:39:08
1. 数据归一化 1.1 医疗事故? ——之前的kNN算法哪里出了问题? 在之前讲kNN算法时我们举过的肿瘤的例子中,有一个问题,也许很多读者没有考虑过。 回顾一下,kNN算法的第一步是求最为邻近的k个点,也就是要先求每个数据点与待预测的数据点的距离。我们仍然以p=2的明可夫斯基距离(欧拉距离)为例。肿瘤的实例中,数据点的两个坐标值是发现时间和肿瘤大小,我们所要求的其实就是这样一个表达式的值并进行大小比较。 为了后续表达简单,我们将上式简写如下: 好了,新的病人来了,做个检查吧。 哔~~~ 肿瘤直径:140mm 发现时间:0.8年 嗯,是时候检验一下我们kNN算法的功力了。简单点,我们假设原本的数据点只有2个,k=1。来看一下原本的两个数据点: 肿瘤1 肿瘤直径:150mm 发现时间:1年 肿瘤2 肿瘤直径:139mm 发现时间:5年 好吧,你聪明的,告诉我,你选1还是选2? 虽然我不懂医学,数据也都是我编的,我也不知道这样的直径和时间是否合理。但是,同样不懂医学的你,我相信和我一样,肯定选1嘛。 肿瘤1和这个新肿瘤差了两个多月,长大了10个毫米,讲道理应该已经十分相似咯。肿瘤2多长了4个年头还不如这新肿瘤大,肯定不能选嘛。 好吧,姑且认为你和我达成了共识,anyway,我们亲手打造的kNN算法不这么觉得。 算距离嘛,我们也会。我们来看看kNN算法会发生什么。 纳尼?D 2 更近?

机器学习数据预处理——标准化/归一化方法

杀马特。学长 韩版系。学妹 提交于 2019-11-27 18:01:59
通常,在Data Science中,预处理数据有一个很关键的步骤就是数据的标准化。这里主要引用 sklearn文档 中的一些东西来说明,主要把各个标准化方法的应用场景以及优缺点总结概括,以来充当笔记。 首先,我要引用我自己的文章 Feature Preprocessing on Kaggle 里面关于Scaling的描述 Tree-based models doesn’t depend on scaling Non-tree-based models hugely depend on scaling 一、标准化/归一化的好处 1.1 提升模型精度 在机器学习算法的目标函数(例如SVM的RBF内核或线性模型的l1和l2正则化),许多学习算法中目标函数的基础都是假设所有的特征都是零均值并且具有同一阶数上的方差。如果某个特征的方差比其他特征大几个数量级,那么它就会在学习算法中占据主导位置,导致学习器并不能像我们说期望的那样,从其他特征中学习。 举一个简单的例子,在KNN中,我们需要计算待分类点与所有实例点的距离。假设每个实例点(instance)由n个features构成。如果我们选用的距离度量为欧式距离,如果数据预先没有经过归一化,那么那些绝对值大的features在欧式距离计算的时候起了决定性作用,soga。 从经验上说,归一化是让不同维度之间的特征在数值上有一定比较性