1、獲取樣本資料
from sklearn import datasets
boston = datasets.load_boston() # bunch部含有多個屬性
# boston.data, boston.target
2、建立樣本資料
from sklean import datasets # datasets.make_*?3.1、把資料調整為標準正態分佈# 建立回歸資料
reg_data = datasets.make_regression() # 引數自行設定
blobs = datasets.make_blobs() # 建立聚類資料
數學公式: x_new = (x_i - e(data)) / std(data)
資料標準化在機器學習中很有必要,有些模型對資料標準較敏感。例如svm經過資料標準化後效能明顯提高。
from sklearn import preprocessing
from sklearn import datasets
x, y = boston.data, boston.target
# 將資料標準正態話->preprocessing.scale,轉換後資料均值為0,方差為1
print(x[:, :5].mean(axis=0))
print(x[:, :5].std(axis=0), '\n')
x_pre = preprocessing.scale(x) # 引數自行設定
my_scaler = preprocessing.standardscaler() # 中心化與標準化類
my_scaler.fit(x[:, :3])
print(my_scaler.transform(x[:, :3]).mean(axis=0)) # 將資料轉化為均值為0, 標準差為1
print(my_scaler.transform(x[:, :3]).std(axis=0))
3.2、資料縮放對映到乙個範圍,minmaxscale類,通常縮放到(0, 1)
數學公式: x_new = (x_i - min(data)) / (max(data)-min(data))
min_max_scale = preprocessing.minmaxscaler(feature_range=(0 ,1)) # 指定資料範圍
min_max_scale.fit(x[:, :5])
new_data = min_max_scale.transform(x[:, :5])
new_data.min(axis=0)
3.3、正態化方法:將每個樣本長度標準化為1, 該方法不在乎向量的長度,只和角度有關,在求歐式距離時此變換很有必要
normalized_x = preprocessing.normalize(x[:, :5])
以上就是資料變換的主要常用方法。
4、管道命令
組合多個步驟並成乙個物件執行
未完待續......
sklearn 資料預處理
公式為 x mean std 計算時對每個屬性 每列分別進行。將資料按期屬性 按列進行 減去其均值,並處以其方差。得到的結果是,對於每個屬性 每列來說所有資料都聚集在0附近,方差為1。實現時,有兩種不同的方式 該語言能直接將給定的資料進行。from sklearn import preprocess...
sklearn的資料預處理
sklearn是乙個比較常用的機器學習庫,其中的sklearn.preprocessing包含了常用的預處理函式,一般在kaggle等資料競賽 拿到資料的時候,首先要觀察資料特徵,分布等資訊,然後進行資料預處理。資料預處理有利於計算機進行計算。原始資料存在的問題 1.存在缺失值 2.存在異常點及雜訊...
sklearn 特徵工程 預處理
from sklearn.preprocessing import minmaxscaler案例 from sklearn.preprocessing import minmaxscaler defminmaxscaler data 90,2,10,40 60,4,15,45 75,3,13,46 ...