数据变换-归一化与标准化

一般在机器学习的 模型训练 之前,有一个比较重要的步骤是 数据变换

因为,一般情况下,原始数据的各个特征的值并不在一个统一的范围内,这样数据之间就没有 可比性

数据变换的目的是 将不同渠道,不同量级的数据转化到统一的范围之内,方便后续的分析处理

数据变换的方法有很多,比如 数据平滑,数据聚集,数据概化,数据规范化 属性构造 等。

本篇文章主要介绍数据规范化,这是一种比较常用,也比较简单的方法。

数据规范化是 使属性数据按比例缩放,这样就将原来的数值映射到一个新的特定区域中 ,包括 归一化,标准化 等。

归一化就是获取原始数据的最大值和最小值,然后把原始值线性变换到 [0,1] 范围之内,变换公式为:

其中:

从公式中可以看出,归一化与最大最小值有关,这也是归一化的缺点,因为最大值与最小值非常容易受 噪音数据 的影响。

比如,我们有以下数据:

通过数据可以观察出:

这里我们用第一条数据来举例,看看是如何变换的。

sklearn 库的 preprocessing 模块中的 MinMaxScaler 类就是用来做归一化处理的。

首先引入 MinMaxScaler 类:

准备要变换的 data 数据,并初始化 MinMaxScaler 对象:

拟合数据:

输出每个特征的最大最小值:

变换所有数据:

可以对比我们计算的第一行数据,结果是一样的。

z-score 标准化 是基于正态分布的,该方法假设数据呈现 标准正态分布

正态分布也叫高斯分布 ,是 连续随机变量 概率分布的一种,它的数学公式是:

其中, u 均值 (平均数), σ 标准差 。均值和标准差是正态分布的关键参数,它们会决定分布的具体形态。

正态分布有以下特点:

正态分布就是常态分布,正常状态的分布。在现实生活中,大量随机现象的数据分布都近似于正态分布。

正态分布的分布图为:

μ 0 σ 1 时,正态分布为 标准正态分布

图中的百分数表示所在面积占总面积的百分比。

z-score 标准化 利用正态分布的特点, 计算一个给定分数距离平均数有多少个标准差 。它的转换公式如下:

其中 x 为原始值, u 为均值, σ 为标准差, x’ 是变换后的值。

经过 z-score 标准化 后,高于平均数的分数会得到一个正的标准分,而低于平均数的分数会得到一个负的标准分数。

和归一化相比, z-score 标准化 不容易受到噪音数据的影响,并且保留了各维特征对目标函数的影响权重。

sklearn 库的 preprocessing 模块中的 StandardScaler 类就是用来做 z-score 标准化 处理的。

首先引入 StandardScaler 类:

准备要变换的 data 数据,并初始化 StandardScaler 对象:

拟合数据:

输出每个特征的均值和标准差:

变换所有数据:

数据变换的目的是 将不同渠道,不同量级的数据转化到统一的范围之内,方便后续的分析处理

不同的机器学习算法,对数据有不同的要求,所以要针对不同的算法,对原始数据进行不同的转换。

数据规范化 是常用的数据变化方法,包括归一化和标准化等:

数据变换不一定能提高模型的准确度,但是会提高数据的可解释性。

需要注意的是,对训练数据进行了数据变换之后,在测试模型准确度或者预测数据之前,也要对数据进行同样的数据变换。

(本节完。)

推荐阅读:

决策树算法-理论篇-如何计算信息纯度
决策树算法-实战篇-鸢尾花及波士顿房价预测
朴素贝叶斯分类-理论篇-如何通过概率解决分类问题
朴素贝叶斯分类-实战篇-如何进行文本分类
计算机如何理解事物的相关性-文档的相似度判断



  • 鏁版嵁鏍囧噯鍖栧拰褰掍竴鍖鐨勫尯鍒
    绛旓細鏁版嵁鏍囧噯鍖栧拰褰掍竴鍖鏄暟鎹澶勭悊鐨勪袱绉嶅父鐢ㄦ妧鏈紝瀹冧滑閮藉彲浠ョ敤鏉ヨ皟鏁存暟鎹殑灏哄害锛屼絾鍦ㄥ叿浣撴搷浣滃拰搴旂敤涓婂瓨鍦ㄤ竴浜涘尯鍒傛暟鎹爣鍑嗗寲閫氬父鏄皢鏁版嵁杞崲涓哄潎鍊间负0銆佹爣鍑嗗樊涓1鐨勫垎甯冿紝鑰屽綊涓鍖栧垯鏄皢鏁版嵁缂╂斁鍒颁竴涓壒瀹氱殑鑼冨洿锛岄氬父鏄痆0,1]鎴朳-1,1]銆傛暟鎹爣鍑嗗寲锛屼篃鍙玓-score鏍囧噯鍖栵紝鏄竴绉嶅父鐢ㄧ殑鏁版嵁棰勫...
  • 鏁版嵁鍙樻崲-褰掍竴鍖栦笌鏍囧噯鍖
    绛旓細鏁版嵁瑙勮寖鍖鏄 浣垮睘鎬ф暟鎹寜姣斾緥缂╂斁锛岃繖鏍峰氨灏嗗師鏉ョ殑鏁板兼槧灏勫埌涓涓柊鐨勭壒瀹氬尯鍩熶腑 锛屽寘鎷 褰掍竴鍖栵紝鏍囧噯鍖 绛夈傚綊涓鍖栧氨鏄幏鍙栧師濮嬫暟鎹殑鏈澶у煎拰鏈灏忓硷紝鐒跺悗鎶婂師濮嬪肩嚎鎬鍙樻崲鍒 [0,1] 鑼冨洿涔嬪唴锛屽彉鎹㈠叕寮忎负锛氬叾涓細浠庡叕寮忎腑鍙互鐪嬪嚭锛褰掍竴鍖栦笌鏈澶ф渶灏忓兼湁鍏筹紝杩欎篃鏄綊涓鍖栫殑缂虹偣锛屽洜涓烘渶澶...
  • 鏁版嵁棰勫鐞嗕腑鏁版嵁杞寲鏂规硶鏈
    绛旓細鏁版嵁棰勫鐞嗕腑鏁版嵁杞寲鏂规硶鏈夋爣鍑嗗寲銆褰掍竴鍖銆佺鏁e寲銆佸鏁鍙樻崲銆鏍囧噯鍖栧拰瑙勬牸鍖栥佸钩婊戝鐞嗙瓑绛夈1銆佹爣鍑嗗寲 灏嗘暟鎹浆鍖栦负鏍囧噯鍖栫殑褰㈠紡锛岄氬父鏄皢鏁版嵁鍑忓幓鍧囧煎苟闄や互鏍囧噯宸紝浣垮緱鏁版嵁鍒嗗竷鍦ㄥ潎鍊间负0銆佹爣鍑嗗樊涓1鐨勬鎬佸垎甯冧腑銆2銆佸綊涓鍖 灏嗘暟鎹缉鏀惧埌0鈥1鐨勮寖鍥村唴锛屼娇寰椾笉鍚屽昂搴︾殑鏁版嵁鍏锋湁鐩稿悓鐨勯噺绾层3銆...
  • 鏍囧噯鍖(standardization) 鍜 褰掍竴鍖(normalization)
    绛旓細褰掍竴鍖: (x - min) / (max - min)杩欑绾挎鍙樻崲灏鏁版嵁鍧囧寑鍦扮缉鏀惧埌鏂扮殑鍖洪棿锛屾瘡涓奸兘鍦╗0,1]涔嬮棿锛屽疄鐜颁簡鏁版嵁鑼冨洿鐨鏍囧噯鍖銆傜劧鑰岋紝鏍囧噯鍖栧垯鏇翠负缁嗚嚧锛屽畠鐬勫噯鐨勬槸鏁版嵁鍒嗗竷鐨勫舰鎬併傚畠鐨勫叕寮忔彮绀轰簡鍏舵繁灞傜殑鏁板鏅烘収:鏍囧噯鍖: (x - mean) / std_dev閫氳繃瀵规瘡涓暟鎹偣鍑忓幓鍧囧硷紝鍐嶉櫎浠ユ爣鍑嗗樊锛...
  • 褰掍竴鍖栧拰鏍囧噯鍖鐨勫尯鍒
    绛旓細鏍囧噯鍖鏄緷鐓х壒寰佺煩闃电殑鍒楀鐞鏁版嵁,鍏堕氳繃姹倆-score鐨勬柟娉,杞崲涓烘爣鍑嗘鎬佸垎甯,鍜屾暣浣撴牱鏈垎甯冪浉鍏,姣忎釜鏍锋湰鐐归兘鑳藉鏍囧噯鍖栦骇鐢.褰掍竴鍖鏄竴绉嶇畝鍖栬绠楃殑鏂瑰紡锛屽嵆灏嗘湁閲忕翰鐨勮〃杈惧紡锛岀粡杩鍙樻崲锛屽寲涓烘棤閲忕翰鐨勮〃杈惧紡锛屾垚涓烘爣閲忋 鍦ㄥ绉嶈绠椾腑閮界粡甯哥敤鍒拌繖绉嶆柟娉曘傚畾涔夊綊涓鍖栨槸涓绉嶆棤閲忕翰澶勭悊鎵嬫锛屼娇鐗╃悊绯荤粺...
  • 鏁版嵁鍙樻崲鏂规硶
    绛旓細鏁版嵁鍙樻崲鍙互娑夊強澶氱鏂规硶锛屽寘鎷瑙勮寖鍖銆鏍囧噯鍖銆褰掍竴鍖銆佺鏁e寲绛夈傝繖浜涙柟娉曠殑鐩爣閮芥槸灏嗗師濮嬫暟鎹浆鎹负鏇撮傚悎鐗瑰畾鍒嗘瀽鎴栨ā鍨嬬殑褰㈠紡銆備緥濡傦紝瑙勮寖鍖栭氬父灏嗘暟鎹缉鏀惧埌涓涓緝灏忕殑鑼冨洿锛屽0鍒1鎴-1鍒1锛岃繖鏈夊姪浜庢煇浜涙満鍣ㄥ涔犵畻娉曟洿濂藉湴杩愯銆傛爣鍑嗗寲鍒欐槸灏嗘暟鎹皟鏁翠负鍧囧间负0锛屾爣鍑嗗樊涓1鐨勫舰寮忥紝杩欏浜...
  • [杞浇]涓績鍖(鍙堝彨闆跺潎鍊煎寲)鍜屾爣鍑嗗寲(鍙堝彨褰掍竴鍖)
    绛旓細3銆佷互涓嬫槸涓ょ甯哥敤鐨褰掍竴鍖鏂规硶锛1锛塵in-max鏍囧噯鍖锛圡in-MaxNormalization锛変篃绉颁负绂诲樊鏍囧噯鍖栵紝鏄鍘熷鏁版嵁鐨勭嚎鎬鍙樻崲锛屼娇缁撴灉鍊兼槧灏勫埌[0 - 1]涔嬮棿銆傝浆鎹㈠嚱鏁板涓嬶細鍏朵腑max涓烘牱鏈暟鎹殑鏈澶у硷紝min涓烘牱鏈暟鎹殑鏈灏忓笺傝繖绉嶆柟娉曟湁涓己闄峰氨鏄綋鏈夋柊鏁版嵁鍔犲叆鏃讹紝鍙兘瀵艰嚧max鍜宮in鐨勫彉鍖栵紝闇瑕侀噸鏂板畾涔...
  • 涓嶈鎶褰掍竴鍖栧拰鏍囧噯鍖娣蜂负涓璋
    绛旓細澶х殑灞傞潰鑰岃█锛褰掍竴鍖栧拰鏍囧噯鍖鏄樊涓嶅鐨勶紝閮芥槸妯″瀷杩愮畻鍣ㄥ鏁版嵁杩涜澶勭悊锛屼粠鑰屼娇鏁板奸兘钀藉叆鍒扮粺涓鐨勬暟鍊艰寖鍥达紝浠庤屽湪寤烘ā杩囩▼涓紝鍚勪釜鐗瑰緛閲忔病宸埆瀵瑰緟銆備絾褰掍竴鍖栧拰鏍囧噯鍖栧苟涓嶆槸鍚屼竴涓笢瑗匡紝瀛樺湪浠ヤ笅宸紓锛氬湪浣跨敤姊害涓嬮檷鐨勬柟娉曟眰瑙f渶浼樺寲闂鏃讹紝 褰掍竴鍖/鏍囧噯鍖栧悗鍙互鍔犲揩姊害涓嬮檷鐨勬眰瑙i熷害锛屽嵆鎻愬崌...
  • 鍦ㄦ暟瀛︿腑,浠涔堟槸涓績鍖 鏍囧噯鍖 褰掍竴鍖
    绛旓細涓績鍖栵細涓缁鏁版嵁鐨勬瘡涓煎噺鍘诲畠浠殑鍧囧 鏍囧噯鍖锛氫竴缁勬暟鎹殑姣忎釜鍊煎噺鍘诲畠浠殑鍧囧煎啀闄や互瀹冧滑鐨勬爣鍑嗗樊 褰掍竴鍖锛氫竴缁勬暟鎹殑姣忎釜鍊奸櫎浠ュ畠浠殑鏍囧噯宸 涓嶅悓绫诲瀷鐨勬暟鎹潎鍊间笉鍚岋紝鏂瑰樊涔熶笉鍚屻傛瘮濡100绫虫垚缁╁拰椹媺鏉炬垚缁╋紝娌℃硶鐩镐簰姣旇緝銆傝繘琛岃繖绉鍙樻崲鍚庝究浜庢瘮杈冿紝涔熸柟渚垮埗浣滄寚鏍囥
  • 鏁版嵁褰掍竴鍖栧拰涓ょ甯哥敤鐨勬柟娉
    绛旓細涓銆乵in-max 涔熺О涓虹宸鏍囧噯鍖锛屾槸瀵瑰師濮鏁版嵁鐨勭嚎鎬鍙樻崲锛屼娇缁撴灉鍊兼槧灏勫埌[0 鈥 1]涔嬮棿銆傝浆鎹㈠嚱鏁板涓嬶細x∗=(x−min)/(max−min)鍏朵腑max涓烘牱鏈暟鎹殑鏈澶у硷紝min涓烘牱鏈暟鎹殑鏈灏忓笺傝繖绉嶆柟娉曟湁涓己闄峰氨鏄綋鏈夋柊鏁版嵁鍔犲叆鏃讹紝鍙兘瀵艰嚧max鍜宮in鐨勫彉鍖栵紝闇瑕侀噸鏂板畾涔夈備簩銆乑-...
  • 扩展阅读:为什么数据归一化处理 ... 数据归一化三种方法 ... 数据归一化处理步骤 ... 归一化属于标准化 ... 标准化与归一化的公式 ... 如何对数据归一化处理 ... 归一化和标准化的作用 ... 标准化规范化还有什么化 ... 熵权法数据标准化与归一化 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网