sklearn之模型預處理

2021-09-13 15:36:50 字數 1772 閱讀 9207

1、獲取樣本資料

from sklearn import datasets  

boston = datasets.load_boston() # bunch部含有多個屬性

# boston.data, boston.target

2、建立樣本資料

from sklean import datasets  # datasets.make_*?

# 建立回歸資料

reg_data = datasets.make_regression() # 引數自行設定

blobs = datasets.make_blobs() # 建立聚類資料

3.1、把資料調整為標準正態分佈

數學公式: 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 ...