机器学习笔记(18):特征缩放

本文来自之前在Udacity上自学机器学习的系列笔记。这是第18篇,介绍了数据前处理的方法—特征缩放。

特征缩放(Feature Scaling)
特征缩放是对数据特征进行前处理的方法。

我们用一个直观的例子来解释特征缩放。假设已知Cameron和Sarah的合适尺寸衬衫,我们需要选择一件合适尺寸的衬衫给Chris。同时,我们知道Cameron的身高和体重分别为175磅和5.9英尺,Sarah的身高和体重分别为115磅和5.2英尺,Chris的身高和体重分别为140磅和6.1英尺。

从直观上来说,我们会认为Chris的衬衫尺寸应该参考Cameron。他比Cameron还高一点,比Sarah高更多。

但如果我们从数据特征来看,考虑身高和体重这两个特征的加和,并判断Chris的这个结果更加靠近Cameron还是Sarah来判断Chris的合适衬衫尺寸选择谁来作为参考。结果是,Chris的身高和体重之和是更加靠近Sarah的。也就是说,通过对数据特征进行判断的结果在这个例子中并不合理。这是因为这两个特征是不一样的,直接相加导致数值比较大的体重占了主导位置,以至于身高的因素被忽略。

如果我们将身高和体重两个特征缩放到[0,1]之间的某个数,这样就可以得到Chris更加靠近Cameron的结果,这和我们的直觉判断也是一样的。

image.png

公式
特征缩放的公式是:
x' = \frac{x-x_{min}}{x_{max}-x_{min}}

其中x_{min}x_{max}分别是特征x下的最小和最大值。

sklearn提供了特征缩放的库:
https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.MinMaxScaler.html#sklearn.preprocessing.MinMaxScaler

支持向量机和K-均值聚类会受到特征缩放前后数据的影响,因为它们都需要考虑不同维度下的特征点的距离,而缩放后的数据的距离发生了改变。决策树和线性回归则不会。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 简述 在某些类型的机器学习中,特征缩放是特征处理的重要步骤。在机器学习中 使用RBF的 SVM函数 和 K-...
    Spinggang阅读 4,587评论 0 0
  • 1.Chris 的 T 恤尺寸(直觉) 在某些类型的机器学习算法中,特征缩放是特征预处理的一项重要步骤 特征缩放的...
    esskeetit阅读 5,914评论 0 1
  • 0 关于本文 ​ 主要内容和结构框架由@jasonfreak--使用sklearn做单机特征工程提供,其中夹杂...
    mrlevo520阅读 21,566评论 4 61
  • 特征预处理: 目的:方便我们下一步的处理。 数值类数据:缩放:归一化,标准化,缺失值处理 类别型数据:one-ho...
    小新你蜡笔呢阅读 3,604评论 0 2
  • 1.Scikit-learn与特征工程 1.1 数据来源与类型 大部分的数据都来数据库或者爬虫以及平时的记录等。 ...
    陨星落云阅读 4,459评论 0 2