机器学习——特征缩放

前言:大多数模型都是直接给出公式,其实自己私下有推导,涉及好多自己不懂的数学知识,会一点点补充的

机器学习专栏:机器学习专栏

文章目录

  • 特征缩放
    • 1、特征缩放作用
    • 2、特征缩放的四种方式
    • 3、sklearn实现特征缩放

特征缩放

1、特征缩放作用

面对特征数量较多的时候,保证这些特征具有相近的尺度(无量纲化),可以使梯度下降法更快的收敛。这两张图代表数据是否均一化的最优解寻解过程(左边是未归一化的),
从这两张图可以看出,数据归一化后,最优解的寻优过程明显会变得平缓,更容易正确的收敛到最优解
机器学习——特征缩放_第1张图片

2、特征缩放的四种方式

  1. Min-Max Normalization(min-max标准化)
    x ∗ = x − m i n ( x ) m a x ( x ) − m i n ( x ) x^*=\frac{x-min(x)}{max(x)-min(x)} x=max(x)min(x)xmin(x)
  2. Mean normalization(mean归一化)
    x ∗ = x − m e a n ( x ) m a x ( x ) − m i n ( x ) x^*=\frac{x-mean(x)}{max(x)-min(x)} x=max(x)min(x)xmean(x)
  3. Standarddization(z-score标准化)
    x ∗ = x − x ˉ σ x^*=\frac{x-\bar {x}}{\sigma} x=σxxˉ
  4. max标准化
    x ∗ = x m a x ( x ) x^*=\frac{x}{max(x)} x=max(x)x

3、sklearn实现特征缩放

# -*- 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)

你可能感兴趣的:(机器学习专栏,正则化,标准化,特征缩放)