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
結果:![](https://pic.w3help.cc/103/81ebfecd1a50e5c0ef1deafb7118c.jpeg)
前路漫漫,加油皮卡丘!!!
機器學習演算法基礎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...