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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

机器学习算法基础——数据特征预处理

發布時間:2025/3/21 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习算法基础——数据特征预处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

08.特征預處理-歸一化

特征處理

通過特定的統計方法(數學方法)將數據轉換成算法要求的數據

?數值型數據:標準縮放: ?? ??? ?

  • 歸一化 ? ? ? ? ? ? ??? ???
  • ?標準化 ?? ??? ? ?? ???
  • 缺失值
  • 類別型數據:one-hot編碼? ? ? ? ? ? 時間類型:時間的切分

    sklearn特征處理API

    sklearn. preprocessing

    歸一化

    特點:通過對原始數據進行變換把數據映射到(默認為[0,1])之間

    公式:? X′= (x?min)/(max?min)? ? ? ? ? ? ? ??X′′=X′?(mx?mi)+mi

    注:作用于每一列,max為一列的最大值,min為一列的最小值,那么X’’ 為最終結果,mx,mi分別為指定區間值默認mx為1,mi為0

    09.歸一化以及標準化對比

    sklearn歸一化API

    sklearn歸一化API: ?sklearn.preprocessing.MinMaxScaler

    MinMaxScaler語法

    MinMaxScalar(feature_range=(0,1)…)

    • 每個特征縮放到給定范圍(默認[0,1])

    MinMaxScalar.fit_transform(X) ? ? ?

    • X:numpy array格式的數據[n_samples,n_features]
    • 返回值:轉換后的形狀相同的array
    import sklearn from sklearn import feature_extraction from sklearn.preprocessing import MinMaxScalerdef mm():mm = MinMaxScaler() #feature_range=()data = mm.fit_transform([[90,2,10,40],[60,4,15,45],[75,3,13,46]])print(data)return Nonemm() [[1. 0. 0. 0. ][0. 1. 1. 0.83333333][0.5 0.5 0.6 1. ]]

    問題:如果數據中異常點較多,會有什么影響?

    歸一化總結

    注意在特定場景下最大值最小值是變化的,另外,最大值與最小值非常容易受異常點影響,所以這種方法魯棒性較差,只適合傳統精確小數據場景。?

    標準化

    1、特點:通過對原始數據進行變換把數據變換到均值為0,方差為1范圍內

    異常值對標準化影響不大

    對于歸一化來說:如果出現異常點,影響了最大值和最小值,那么結果顯然會發生改變

    對于標準化來說:如果出現異常點,由于具有一定數據量,少量的異常點對于平均值的影響并不大,從而方差改變較小。

    sklearn特征化API

    sklearn特征化API: ?scikit-learn.preprocessing.StandardScaler

    StandardScaler語法

    StandardScaler(…) 處理之后每列來說所有數據都聚集在均值0附近方差為1

    StandardScaler.fit_transform(X,y) ? ? ?

    • X:numpy array格式的數據[n_samples,n_features]
    • 返回值:轉換后的形狀相同的array

    StandardScaler.mean_

    • 原始數據中每列特征的平均值

    StandardScaler.std_

    • 原始數據每列特征的方差

    10.標準化總結以及缺失值處理

    在已有樣本足夠多的情況下比較穩定,適合現代嘈雜大數據場景

    11.標準化總結以及缺失值處理

    缺失值

    1.

    刪除

    如果每列或者行數據缺失值達到一定的比例,建議放棄整行或者整列

    插補

    可以通過缺失值每行或者每列的平均值、中位數來填充

    2.sklearn缺失值API: ?sklearn.preprocessing.Imputer

    Imputer語法

    Imputer(missing_values='NaN', strategy='mean', axis=0)

    • 完成缺失值插補

    Imputer.fit_transform(X,y) ? ? ?

    • X:numpy array格式的數據[n_samples,n_features]
    • 返回值:轉換后的形狀相同的array
    from sklearn.preprocessing import MinMaxScaler from sklearn.impute import SimpleImputer import numpy as npdef im():im = SimpleImputer(strategy="mean")data = im.fit_transform([[1, 2], [np.nan, 3], [7, 6]])print(data)return None im() [[1. 2.][4. 3.][7. 6.]] 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的机器学习算法基础——数据特征预处理的全部內容,希望文章能夠幫你解決所遇到的問題。

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