機器學習基礎DAY2

2021-10-10 06:28:40 字數 2676 閱讀 2512

1.定義:

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

2.數值型資料:標準縮放:

(1)歸一化

(2)標準化

(3)缺失值

類別型資料:one-hot編碼

時間型別:時間的切分

(1)歸一化

特點:通過對原始資料進行變換把資料對映到(預設為[0,1])之間

注:作用於每一列,max為一列的最大值,min為一列的最小值,那麼x』'為最終結果,mx,mi分別為指定區間值預設mx為1,mi為0

sklearn 關於特徵處理的api:sklearn. preprocessing

歸一化api:sklearn.preprocessing.minmaxscaler

######minmaxscalar(feature_range=(0,1)…)

每個特徵縮放到給定範圍(預設[0,1])

###### minmaxscalar.fit_transform(x)

x:numpy array格式的資料[n_samples,n_features]

返回值:轉換後的形狀相同的array

def mm(

): mm = minmaxscaler(feature_range=

(2,3))

#feature_range用來指定縮放的範圍,預設在(0,1)

data = mm.fit_transform(

[[90,2,10,40],[60,4,15,45],[75,3,13,46]])

print(data)

return none

結果如下:

什麼時候用歸一化?

幾個特徵同等重要時,為了使某乙個特徵不會對結果造成更大的影響可以用歸一化

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

(2)標準化

特點:通過對原始資料進行變換把資料變換到均值為0,方差為1範圍內

如果出現異常點,由於具有一定資料量,少量的異常點對於平均值的影響並不大,從而方差改變較小。

標準化api: scikit-learn.preprocessing.standardscaler

######standardscaler(…)

處理之後每列來說所有資料都聚集在均值0附近方差為1

######standardscaler.fit_transform(x,y)

x:numpy array格式的資料[n_samples,n_features]

返回值:轉換後的形狀相同的array

######standardscaler.mean_

原始資料中每列特徵的平均值

######standardscaler.std_

原始資料每列特徵的方差

def stand(

): std= standardscaler(

) data = std.fit_transform(

[[ 1., -1., 3.],[ 2., 4., 2.],[ 4., 6., -1.]])

print(data)

return none

結果如下:

標準化適用在已有樣本足夠多的情況下比較穩定,適合現代嘈雜大資料場景。

(3)缺失值

缺失值api: sklearn.preprocessing.imputer

######imputer(missing_values=『nan』, strategy=『mean』, axis=0)

完成缺失值插補

######imputer.fit_transform(x,y)

x:numpy array格式的資料[n_samples,n_features]

返回值:轉換後的形狀相同的array

注意:numpy的陣列中可以使用np.nan/np.nan來代替缺失值,屬於float型別

如果是檔案中的一些缺失值,可以替換成nan,通過np.array轉化成float型的陣列即可

from sklearn.impute import ******imputer

import numpy as np

def im(

): imputer=******imputer(missing_values=np.nan,strategy=

'mean'

) data=imputer.fit_transform(

[[1, 2], [np.nan, 3], [7, 6]])

print(data)

return none

結果:

前路漫漫,加油皮卡丘!!!

機器學習演算法基礎day2

sklearn.feature selection.variancethreshold variancethreshold threshold 0.0 刪除所有低方差特徵 variance.fit transform x,y x numpy array格式的資料 n samples,n featur...

機器學習 day2

歸一化 將所有資料轉化到同一標準下,使的某乙個特徵對最終結果不會造成更大的影響。通過對原始資料進行變換把資料對映到 預設為 0,1 之間 問題 如果資料中異常點過多,會有什麼影響?最大值最小值會受影響。方差考量資料的穩定性。標準化 將所有資料進行變換到平均值為0,標準差為1之間。standardsc...

機器學習Day2

英文原鏈結源鏈結 假設 x和y是線性相關的 則需要找到乙個關於x的線性函式來盡可能準確的 y。y a0 a1x1 怎樣找到最合適的回歸線?通過最小化 值和觀測值的均方差 導入庫 匯入資料集 檢查缺失資料 分離訓練集和測試集 特徵縮放 從sklearn.linear model中匯入linearreg...