机器学习——特征缩放

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

机器学习专栏html

  1. 机器学习——线性回归(预测)
  2. 机器学习——逻辑回归(分类)
  3. 机器学习——特征缩放
  4. 机器学习——正则化

特征缩放

一、特征缩放做用

面对特征数量较多的时候,保证这些特征具备相近的尺度(无量纲化),能够使梯度降低法更快的收敛。这两张图表明数据是否均一化的最优解寻解过程(左边是未归一化的),
从这两张图能够看出,数据归一化后,最优解的寻优过程明显会变得平缓,更容易正确的收敛到最优解
在这里插入图片描述python

二、特征缩放的四种方式

  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)}
  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)}
  3. Standarddization(z-score标准化)
    x = x x ˉ σ x^*=\frac{x-\bar {x}}{\sigma}
  4. max标准化
    x = x m a x ( x ) x^*=\frac{x}{max(x)}

三、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)
相关文章
相关标签/搜索