前言:大多數模型都是直接給出公式,其實本身私下有推導,涉及好多本身不懂的數學知識,會一點點補充的
機器學習專欄:html
面對特徵數量較多的時候,保證這些特徵具備相近的尺度(無量綱化),能夠使梯度降低法更快的收斂。這兩張圖表明數據是否均一化的最優解尋解過程(左邊是未歸一化的),
從這兩張圖能夠看出,數據歸一化後,最優解的尋優過程明顯會變得平緩,更容易正確的收斂到最優解
python
# -*- coding: utf-8 -*- """ Created on Fri Nov 15 16:31:37 2019 @author: 1 """ import pandas as pd from sklearn import preprocessing #讀取葡萄酒數據集 data = pd.read_csv("D:\workspace\python\machine learning\data\wine_data.csv",sep=',',header=None,skiprows=1) x =data.iloc[:,1] #獲取數據的基本狀況 print('獲取數據的基本狀況:',x.describe()) #咱們不知道z的shape屬性是多少,可是想讓z變成只有一列,行數不知道多少,z.reshape(-1,1) X_train=x.values.reshape(-1,1) #min-max標準化 MinMax = preprocessing.MinMaxScaler() X_MinMax = MinMax.fit_transform(X_train) print('min-max標準化歸一化後結果:',X_MinMax) #z-score標準化 X_scaled = preprocessing.scale(X_train) print("z-score標準化結果:",X_scaled) #max標準化 X_max_scaler = preprocessing.MaxAbsScaler(X_train) print("max標準化結果:",X_max_scaler)