日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【机器学习】漫谈特征缩放

發布時間:2025/3/12 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【机器学习】漫谈特征缩放 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:?時晴

說起"煉丹"最耗時的幾件事,首先就能想到的就是數據清洗,特征工程,還有調參.特征工程真的是老生常談了,但是特征工程又是最重要的一環,這一步做不好怎么調參也沒用.在特征工程中,做特征縮放是非常重要的,如下圖所示:

我們可以看到,在沒做特征縮放前,用kmeans跑出的聚類結果就如圖所示,以y=0為分界線,上面是一類,下面是一類,相當的離譜.主要原因就是y值的取值范圍很大,從-4000~4000,而x軸只有-5~20,熟悉kmeans算法都清楚該算法中距離度量用的是歐式距離,因此x軸的數值就變得無關緊要.所以數據預處理沒做好,很多模型都將不生效.值得注意的是,scaling在數據預處理中并不是強制的,習慣用樹模型的朋友們也很清楚對樹模型而言,scaling對效果毫無影響.但是對于一些對距離敏感的算法影響就比較大了,如KNN,SVM,PCA,NN等.

Scaling的目的很簡單,一方面是使得每列特征“范圍”更接近,另一方面是讓計算變得更加簡單,如梯度下降在特征縮放后,將縮放的更快,效果更好,所以對于線性回歸,邏輯回歸,NN都需要做特征縮放:

特征縮放有很多種,我們介紹最常見的4種:

  • StandardScaler

  • RobustScaler

  • MinMaxScaler

  • MaxAbsScaler

1、StandardScaler

這種scale方法大家最熟悉了,通過減去均值再除以方差進行標準化.需要注意的是異常值對于這種scale方法的傷害是毀滅性的,因為異常值影響均值.如果你的數據是正太分布或接近正太分布,并且沒有特別異常的值,可以使用該方法進行縮放.

from sklearn.preprocessing import StandardScaler from sklearn.preprocessing import StandardScaler df_scale = StandardScaler().fit_transform(df)

讓我們看下該縮放方法,對有偏態分布的數據會產生什么影響.

我們發現,對偏態分布的數據縮放后并沒有改變其分布.我們對數據做次log再縮放呢?

from sklearn.preprocessing import StandardScaler import numpy as np df_log = np.log(df) df_scale = StandardScaler().fit_transform(df_log)

我們發現log使得數據接近正態分布,StandardScaler使得數據變成了標準正態分布,這種方法往往表現的更好并且降低了異常值的影響.

2、RobustScaler

from sklearn.preprocessing import RobustScaler

RobustScaler是基于中位數的縮放方法,具體是減去中位數再除以第3分位數和第一分位數之間的差值.如下所示:

因為該縮放方法用了分位點的差值,所以它降低了異常值的影響,如果你發現數據有異常值,并且懶得去修正它們,就用這種縮放方法吧.我們對比下異常值對StandardScaler和RobustScaler的影響.

我們很容易發現StandardScaler使得異常值更接近均值了,但是在RobustScaler后,異常值還是顯得比較異常.

3、MinMaxScaler

from sklearn.preprocessing import MinMaxScaler

MinMaxScaler使得數據縮放到0~1之間,縮放由最小值和最大值決定,因此會受到異常值影響.并且對新出現的最大最小值并不友好.

4、MaxAbsScaler

from sklearn.preprocessing import MaxAbsScaler

該縮放方法不會破壞數據的稀疏性,也不會改變數據的分布,僅僅把數據縮放到了-1~1之間.MaxAbsScaler就是讓每個數據Xi/|Xmax|,值得注意的是,該方法對異常值也相當敏感.

總結一下:

StandardScaler: 不適用于有異常值的數據;使得均值為0.

RobustScaler: 適用于有異常值的數據.

MinMaxScaler:?不適用于有異常值的數據;使得數據縮放到0~1.

MaxAbsScaler:?不適用于有異常值的數據;使得數據縮放到-1~1.

往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯黃海廣老師《機器學習課程》課件合集 本站qq群851320808,加入微信群請掃碼:

總結

以上是生活随笔為你收集整理的【机器学习】漫谈特征缩放的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。